2018-2019 ICS4U Engineering Tasks


Knight Rider. Your first AVR Assembly project developed exclusively in Atmel Studio 7 requires you to produce the animated sequence on your Morland ShiftBar device. Your code will employ coordinated timing sequences that will emulate Arduino C's high level shiftOut library function that we reviewed in depth on Friday January 17. Ethan McAuliffe (ACES' 18) provides us with an interesting scope trace of a 595 shift register in action that he produced on our KeySight Oscilloscope.


  1. Place your Morland ShiftBar device in your Arduino, facing you, so that the 5 pins fall within PD7-PD3.
  2. Within your work folder create a new AS7 project by the name of KnightRider using your custom template created in class on Tuesday January 22, as a starting point.
  3. Create AVR asm code that will result in TWO separate animated sequences that includes the one depicted, followed by one of your own design. Both will be featured in your ER video summary of course.
  4. You will include the fully-documented assembly code in your Code section as usual. Be sure to have this a complete as possible because I intend to copy & paste your ER code into my Atmel Studio IDE and compare its functionality to your video.
  5. Useful information is presented below. Enjoy!

Shift Register Terminology SN74HC595 Timing Sequence

Rotary BCD Switch. For your first (exclusively) assembly language project you are to CONTINUOUSLY monitor a full BCD rotary switch and display the full range of hexadecimal input on the 7-segment display provided, using the most EFFICIENT algorithm YOUR high-quality assembly coding skills will permit and the neatest, most EFFICIENT hardware build (minimally necessary components).


  1. Familiarize yourself with the rotary switch provided (here's info taken from its datasheet). The seven-sgment display is well-understood.
  2. Create the Arduino project, RotaryMonitor. Within the file RotaryMonitor.S file, develop, test, and document pure AVR assembly code to meet the requirements above.
  3. By midnight Wednesday December 19, develop and submit a comprehensive ER report (don't forget to include your fully documented assembly code) under the Subject Line: Rotary BCD Switch
16 Position BCD Rotary DIP Switch 7-Segment Display

Telephone Keypad. You have been supplied with a 12-Key mechanical telephone keypad. Create an ORIGINAL project that positions it as the input source of some device you'll 'invent'. Your software should use some form of interrupt-handling to monitor the input. A close inspection of the circuitry in the image presented on our course page, together with a thorough Continuity review with a DMM will earn you a solid understanding of how this device is constructed.


  1. Although many libraries exist, you are NOT to use a keypad library. You are required to monitor switch presses with your OWN code.
  2. Code is to be interrupt-driven.
  3. The issue of bounce must be addressed in your project, either in hardware or software.
  4. I've made the ER deadline (Saturday December 1) just long enough for you to outsource materials if you GET RIGHT ON IT!
  5. Presentation day is Tuesday December 4.
  6. Enough of this collaborative, cooperative, supportive, feelgood, work environment, it's back to the friendly competition of Grade 11 CAD Case days. Seven distinct marks are on the line (88, 90, 92, 94, 96, 98, 100), unless they're ALL terrible in which case the marks will range from 38-50.
  7. Your mark will be assigned based on how DIFFERENT, CREATIVE, INTERESTING and potentially USEFUL yours is, from your peers.
  8. Think of this as if a recruiter came to campus next year looking to hire a couple of interns....What can you come up with?

PB Machine. Your experience with electric circuits has been largely limited to components that use through-hole technology (THT). To round out your proficiency with all components, your next few projects will require the use of devices that use surface-mount technology (SMT). As the graphic reveals, the smallest size that is reasonable for hand-soldering techniques is the 1206 family, so this is what we carry in the DES inventory.

1206 LED Package


  1. P. Bagga (ACES '17) redesigned his original RSGC ACES DC Power Jack to include an optional power LED and resistor. You will be given a small parts kits that includes the PCB, a THT DC Power Jack, and a 2x3 male header pin. You can choose your 1206 SMT LED colour from our inventory of red, green, blue, or amber and your 1206 resistor from our inventory of 330Ω, 1kΩ,or 10kΩ.
  2. Component Distribution ( don't lose 'em :) PB's SMT Soldering of his DC Breakout Board (far too much solder paste on the resistor)
  3. Using a digital soldering station for the THT components and either of the AOYUE 968 Hot Air Rework Stations for the SMT parts, assemble your DC Power Jack.
  4. Submit your device to Mr. D before the indicated deadline.