2022-2023 ICS3U Independent Study Projects (ISPs)

Independent Study Projects. Please read our overview on why ACES pursue Independent Study Projects so vigorously.

Grade Contribution to Final Mark
10
0%
11
50%
12
60%

For the bulk of your formal education you have been, and will continue to be, required to consume curriculum chosen for you by someone else. Hopefully you will put this knowledge and skill to good use in your future. However, jumping through someone else's hoops no longer secures future success. For that, you must put yourself in the driver's seat while in secondary school to both cultivate and demonstrate your own unique initiative, motivation, and passion. RSGC ACES program is explicitly built and tailored for you to foster these greater goals. Yes, there is much to learn but there are so many great projects to be undertaken and noble problems to be identified and solved that offer stimulating contexts within which to develop and refine your interests it will quickly seem more than worth the risk, effort, and cost.

To my mind, the characteristics of a great project include such aspects as imagination, creativity, a degree of risk and, sometimes, even simplicity, to name a few. Check out the flashlight circuit 'board' this guy made out of little more that a piece of paper and a pencil? Simple, but inspiring. Consider a problem that needs a solution. Boyan Slat did at age 17 when he was in high school; four years later he is cleaning up the world's oceans. (Update: January 9, 2019) So, dig in, think, dream, research, and explore possible project pursuits. Be discerning: don't accept the first thing that comes along. You'll be expected to maintain the progress of your ISP on your web page to enable everyone to follow your efforts so have your phone handy to at all times to capture the images of your journey. Be conscious of the fact that a multi-page summary of your project will appear in your DER after Presentation Day for more permanent record of your efforts. You may wish to take into account the ISP Evaluation document that will be applied on your Presentation Day.

Also, don't underestimate the value of an enterprise/entrepreneurial aspect to your project that could see a number of units of your project in the hands of future ACES, for sale in the Dragon's Lair or beyond, reaching an even a broader audience.

2022-2023 Independent Study Projects

ACE Short ISP (10%)
Wednesday October 12
Medium ISP (15%)
Saturday January 14
Proposals >>> Short ISP Proposal
Medium ISP Proposal
Evaluations >>> Short ISP Evaluation
Medium ISP Evaluation
Anderson, W.

The Arduino Transistor Tester

DESCRIPTION This is an automatic Transistor Tester, to identify the pinout and characteristics of various discrete semiconductors (Transistors NPN, PNP, etc.). It's also evaluating resistors, capacitors, inductances, etc...
MCU 328P
HARDWARE Arduino Nano, LCD screen
SOFTWARE Arduino C
DESIGN Adafruit Perma-Proto
Anderson HC-05-Controlled Messenger LCD

DESCRIPTION A Bluetooth controlled LCD using the HC-05 Bluetooth module capable of displaying text sent via Bluetooth
MCU 328P
HARDWARE LCD, HC-5
SOFTWARE Arduino C
DESIGN Custom PCB (EAGLE), 3d printed Case to house PCB with lcd and Arduino.
MECHANICAL N/A
COMMUNCATION Bluetooth
Babbar, B.

Garage Parking Helper

DESCRIPTION Garage Parking Helper is a tool designed for helping you park your car in a tight garage. It will allow drivers to park close to the front of the garage while leaving the walls and car unscratched. It has LEDs that will change colors and a buzzer that sounds depending on the distance the car is from the ultrasonic sensor. Distance will be displayed in centimeters on a Seven Segment Display as well. The distance will start at 9 inches going all the way until below 1 when the car is very close. A 328P Arduino Uno will be the brains behind the operation. 
MCU 328P (Uno)
HARDWARE A 328P Arduino Uno will be used along with an ultrasonic sensor for measuring the distance. Other supporting components include the Seven Segment Display, buzzer and LEDs.
DESIGN The design of this project will have a thin form factor to maximize parking space in a garage. The stand will be made from piping which is connected to a solid base. The base will house all the electronics except for the buzzer, LEDs and ultrasonic sensor. If time permits, once a working prototype is created it will be transferred on to a PermaProto board to save space.
Arcade Machine

DESCRIPTION The Arcade Machine is a multi-game machine. The project will allow the user to play 2 different games using a variety of user inputs. These inputs will be joysticks, buttons and switches. The first game will be Snake. This game lets the user control a digital snake that eats digital game pieces. The second game will be a rendition of Pacman. These games will be playable using a joystick, buttons and will future a buzzer to alert the player of loses. Everything will be displayed on an 128x64 OLED Graphic Display.
MCU 328P
DESIGN A custom-made case will be 3D printed and designed in Fusion360 to house the components and embed the user inputs. A custom-made PCB from JLCPCB will also be used to simplify the build once prototyped.
MECHANICAL N/A
COMMUNCATION SPI or I2C can be used for the OLED screen as it supports both. I2C is preferred for this project. At least three libraries will be needed to be used for this project as the screen needs its library and SPI also needs one. Adafruit GFX will be used in conjunction with Adafruit SSD1306 for the items on the screen.
Czekalla, J.

EEPROM Programmer v2

DESCRIPTION This project is my second attempt at making an EEPROM programmer. My first attempt used two 4 bit counters to count from 0 to 255. This attempt is going to use two 8 bit shifters so I have better control over the memory address. The Atmega chip is going to control the shifters and a relay to put 12v on the EEPROM chip to induce write mode.
MCU 328P
HARDWARE AT28C512 EEPROM, Bargraph
SOFTWARE C
DESIGN Adafruit Perma-Proto

Apple Disk][ Emulator

DESCRIPTION
The Apple ][ and ][e use a very mechanical floppy disk drive to load programs. This is not ideal as mechanical products tend to break down over 40 years. This project intends to simulate a disk ][ and trick the 6502 inside the Apple ][e into talking to an ATmega328P. There are similar projects out there, specifically the Floppy Emu which uses a Teensy to compensate for the 4 microseconds timing intervals required to communicate with this device. There is a way to do this through hardware rather than an excessive arm-based chip.  If I have enough time I can think about interfacing with the cassette 3.5mm audio jack port on the back of the ][e. The audio jack port is just another way of loading programs.
MCU 328P
DESIGN A PCB will be made (Using the built-in Eagle in Fusion) and ordered from JLC. It will be double layered PCB with a sleek and simple design. Unlike in the first ISP, there is no real need for a case, but adding one will give more volume to the build and make it sturdier and nicer looking.
MECHANICAL Servo in the disk
COMMUNCATION The communication between the two hardware devices whether it's the project to the Apple ][e or the project to the Disk ][, it will be using serial communication. There is no kind of protocol it's just the data bits one at a time every 4 microseconds/250 KHz and stepper motor instructions (Motor in Disk ][). The stepper motor instructions are used to control the Floppy sector, track, and bit location.
Davenport, L.

The Number Dial

DESCRIPTION When you turn a dial in a certain direction, the number increases, when you turn it in the opposite direction, the number displayed decreases.
MCU None
HARDWARE OpAmps, 7-Segment Display, switches, and other passives.
SOFTWARE None
DESIGN JLCPCB (Encased), Perma-Proto board
Temperature and Time Reader

DESCRIPTION A device that displays the current temperature using the ATMega328p, shift registers, transistors, and the 4 digit 7-segment display. Also included is a switch  that can change the temperature from Farenheight to Celsius whenever pressed, and an LDR that will adjust the brightness so you can see it during the day but doesn’t shine in your eyes at night.
MCU 328P
DESIGN JLCPCB
MECHANICAL None specified
COMMUNCATION None specified
Davidge, G.

4510-Inspired 4-Bit Up/Down Synchronous Counter

DESCRIPTION This project will involve creating a circuit that replicates the internal design and function of the 4510 IC used in A Counting Circuit, out of 4000 series logic ICs. The schematic from the IC’s datasheet will be used to create a gate-level schematic of the counter. I will then take this schematic and use EAGLE to design a PCB. The PCB will feature logic ICs, a 555 IC to generate a clock signal, input switches, and LEDs, to communicate the inputs, and outputs. Hopefully, I will have the time to fabricate a 3d-printed case, and create a 2nd iteration of the PCB to improve the appearance.
MCU None
HARDWARE The circuit majority of the circuit will be constructed out of 4000 series logic ICs. A 555 timer IC will be used to generate a clock signal. Lastly, switches will be used to set the inputs, and LEDS will be used to illustrate the inputs and outputs.
SOFTWARE None
DESIGN Eagle will be used to design a PCB. Fusion 360 will be used to create a case to hold the PCB.
Digital Logic Analyzer

DESCRIPTION This project will entail the creation of a digital logic analyzer, and it’s a accompanying software. First, a version of this project using the 328p. The code flashed onto the MCU will be written in a combination of C and assembly. This allows the time sensitive logic monitoring to be written in assembly, allowing maximum speed. However, due to the 328p’s low speed (16 MHz), this version created with this MCU purpose is to validate the algorithm. This will then be transferred to a STM32-F401RE system, which runs at 72 MHz, thus will produce a useable sampling rate. Additionally, the stm32 is a 32-bit ARM processor, thus has 32-bit registers, 16-bit I/O registers, and external interrupts on all pins. This allows for significantly greater, faster, and more accurate monitoring. Furthermore, this chip features a USB peripheral circuit, allowing for communication with a laptop without an FTDI chip. Lastly, processing will be used to create the interface, which will feature debugging tools for Serial, SPI, and I2C.
MCU 328P
HARDWARE STM32
SOFTWARE Assembly
DESIGN Eagle and JLCPCB will be used to create the device. Additionally user interface design will be used for the processing program.
MECHANICAL N/A
COMMUNCATION The processing program will feature debugging tools for Serial, SPI, and I2C. The final device will communicate with the laptop via USB.
Fromson, D.

The Nano Reaction Speed Test

DESCRIPTION This project will test the reaction speed of a person by turning an LED on and measuring the time from when the LED first turned on and when the person presses a button. The time taken to click the button will then be displayed on two seven segment displays, and depending on how long they took, will be in either seconds or milliseconds, shown through the decimal point on the displays.
MCU 328P (Nano)
HARDWARE This project will mainly use the Arduino Nano by outputting to the LED and keep track of the time it takes for an input from the button. Using 16 digital pins, I will output the time taken between the two actions through fixed resistors and onto two seven segment displays. This will use all 7 segments as well as control the decimal points. Much of this project will be in the software and the most challenging part with the hardware will be make sure that each output from the Arduino Nano is inputted into the correct segment on either display.
SOFTWARE Arduino C
DESIGN I plan to first prototype this on a breadboard and once I get it complete and working, I will transfer and solder it onto a stripboard. I also plan to design a case on CAD and 3D print it to fit the stripboard and provide a spot for the AC/DC power adapter.
Binary to Decimal and Hexadecimal Converter

DESCRIPTION This circuit will have 8 switches and an LCD screen, and will allow you to input a number in binary, and the number will be displayed on the LCD in decimal and hexadecimal. Additionally, there will be a switch to change it between signed and unsigned binary. It will use a 328P to calculate and display the numbers onto the LCD.
MCU 328P
DESIGN I plan on designing a 3D case in Fusion to put the perma-proto board circuit into. This will have a power jack on the side and a connection for the pocket programmer.
MECHANICAL N/A
COMMUNCATION N/A
Jegatheesan, V.

Metronome 1.0

DESCRIPTION A device used to keep time when playing musical instruments. It would flash and beep every beat and the tempo (speed) can be adjusted with a variable resistor (a potentiometer). It will have the ability to switch between 4 beats per bar, 3 beats per bar, and 2 beats per bar (using switches) with the first beat being louder than the others.
MCU 328P (Nano)
HARDWARE Speaker, LEDs, Pot, etc.
SOFTWARE Arduino C
DESIGN PermaProto Board in a 3D printed case

Remote Control Door-Locker

DESCRIPTION This project will have two parts to it. The first part involves a remote control with two buttons that can send commands using IR. The next part (the main part) is a device which will be mounted next to a sliding lock that will move the slide to lock/unlock a door using the commands sent by the remote control.
MCU 84
DESIGN This project will contain components (like gears) which will be designed on Fusion360 and then 3D printed. The final prototype will be soldered onto a custom PCB which will be designed on Eagle. The PCB will be mounted in a 3D printed case.
MECHANICAL This project will use a servo motor and gears to do the locking/unlocking process (with some 3D printed parts to help connect to the lock).
COMMUNCATION This project will be using IR to send commands from the remote to the main device to lock/unlock.
Logush, A.

Inverse 8-Bit Binary Game

DESCRIPTION This project is similar to the binary game that we have played in class but the reverse of it, a number will be displayed in binary and the person playing the game will have to enter the number that is being displayed using a 12 Key Telkey keypad.

There will be eight Blue LED’s that will display a number in 8-Bit Binary (a number from 0 to 255). The person playing the game will use a 12 Key Telkey keypad to input their guess into the game. The “#” key will be used to enter the number (submit the guess), the “*” key will be used to reset the number being guessed if the person entering the number believes that they made a mistake, and each number key will represent itself. After the player enters the number that they believe is being displayed, there will be two LED’s, one green and one red, that will flash to show if the players guess was right or wrong. If the guess is right, the green LED will flash and if the guess is wrong the red LED will flash.
MCU 328P
HARDWARE 12-button TelKey pad, multiple 7-segment display, CMOS ICs and LEDs.
SOFTWARE Arduino C
DESIGN Stripboard

Temperature Sensor

DESCRIPTION The product will use sensors to determine the temperature levels in a room. The temperature levels will be displayed with 7 segment displays. There will also be a switch that will allow you to toggle between the temperature reading Celsius or Fahrenheit.
MCU 328P
DESIGN PCB & Case
MECHANICAL N/A
COMMUNCATION N/A
Loppe, S.

World’s Most Okay Nose Scratcher

DESCRIPTION The circuit will use a transistor to turn on a DC motor. The transistor will be controlled by an Arduino to change the speed the motor turns at. The motor is connected to a wheel with a string attached to it so as it spins the string gets pulled. The string is threaded through a simple cardboard three joint finger.
MCU 328P (Uno)
HARDWARE DC Motor, transistor
SOFTWARE Arduino C
DESIGN 3D Printed Components
Arduino Heartbeat Sensor

DESCRIPTION The heartbeat sensor will use an LED screen to display the current pulse of the user, and will change depending on the change of the heartbeat.
MCU 328P
HARDWARE
SOFTWARE
DESIGN Potentially perma proto board
MECHANICAL Pulse Sensor
COMMUNCATION Serial
MacPherson, J.

Pro Controller

DESCRIPTION Buttons connected to code creating changeable inputs to register actions with whatever it is running.
MCU 328P (Uno)
HARDWARE Buttons, resistors.
SOFTWARE Arduino C
DESIGN PermaProto Board
Arduino Heartbeat Sensor

DESCRIPTION The heartbeat sensor will use an LED screen to display the current pulse of the user, and will change depending on the change of the heartbeat.
MCU 328P
HARDWARE
DESIGN Perma-Proto
MECHANICAL Pulse sensor
COMMUNCATION Serial
McCartney, L.

Arduino Linear Line Graphing Calculator

DESCRIPTION The ALLGC will use an Arduino Nano to graph linear relations provided by the user onto an eight-by-eight LED matrix. The Arduino and LED matrix will use persistence of vision (multiplexing) to graph the line. The input for the slope values will be voltage. Analog pins will read varying voltage controlled by potentiometers. Depending on time, there will also be seven-segment displays showing the rise over run.
MCU 328P (Nano)
HARDWARE At the very least, the ALLGC will include and Arduino Nano, an eight-by-eight LED matrix, and two potentiometers.
SOFTWARE Arduino C
DESIGN Stripboard

The Wireframe Rotator

DESCRIPTION The wireframe rotator is a device that will have an interface where a set of points in 3D space can be inputted on a keypad (there will also be a slide switch for a negative sign, an input/yes button, a “no” button, and some pre-sets). After the user has inputted the points, the program will then render the inputted shape. This shape will then begin to rotate at a speed controllable by the user, and the size will be customizable. An edge table will also be adjustable to turn the set of points into a wireframe.
MCU 328P
HARDWARE TFT Screen
DESIGN 3D printed case in Fusion, PCB with Eagle. Perma proto ATmega328p board.
MECHANICAL N/A
COMMUNCATION An ATmega328p will communicate through SPI protocol with an ST7735 LCD display.
Mitchell, J.

The Sunrise Alarm Clock

DESCRIPTIONThe Sunrise Alarm Clock’s ability is to be able to tell time and slowly turn on the 3W White 3500K High Power LED at a certain time. This will be done with the Arduino giving out the commands, the Real Time Clock (RTC) 3231 counting the time, the NTE2985 MOSFET Transistor increasing the amount of light, and the Liquid-Crystal Display (LCD) Panel displaying the time.
MCU 328P
HARDWARE 3W White 3500K High Power LED
NTE2985 MOSFET Transistor
Real Time Clock (RTC) 3231
Liquid-Crystal Display (LCD) Panel
ABRA Nano
SOFTWARE Arduino C
DESIGN Perma-Proto Board, 3D Printing
Golf Stroke Counter

DESCRIPTION The Golf Stroke Counter’s objective will be able to keep track of what hole you are on, your total strokes on each hole and your total round strokes. This will be done with 4 push buttons, 1 slide switch and 1 liquid-crystal display (LCD). The 4 push buttons uses will be: add one stroke, subtract one stroke, next hole and finally reset all. The LCD will display the hole, total strokes and strokes on hole. All while there is a voltage regulator to keep the ATmega328P functional while giving out the commands, and finally there will also be a slide switch to turn on or off. This will all be on a PCB, and protected by an acrylic protector and 3D printed case.
MCU 328P
DESIGN The goal for the design of the Golf Stroke Counter is to be able to either to hang the counter on a golf bag or to be able to put it in a pocket. This will be done using Fusion360 for the PCB of the circuit. The case will be done on Eagle and finally the acrylic protector will be done on Adobe Illustrator.
MECHANICAL N/A
COMMUNCATION Serial communication will be used for this project to transmit data to the ATmega328P to give commands to the LCD and to be able to take input from the push buttons and slide switch to fulfill the objective once done.
Robertson-Caryl, A.

Short ISP Proposal (CD: Wait, What?)

DESCRIPTION The ISP will be a memory game that uses four different coloured light-emitting diodes (LED). The concept of the game is that one of the four LEDs will randomly display a HIGH. When the LED has gone LOW, another LED will indicate it is the user's turn. The user will press the corresponding button beside the LED that was previously on. If correct, then again, one of the four LEDs will randomly turn on, and after a short delay, a second random LED will turn on. As long as the sequence of buttons is pressed in the same order as displayed, the next round will add one more display to the previous round's number. As well with every round correctly complete a display on the side will show your score. If you input the incorrect sequence, all four LEDs will blink a few times, indicating the error, and the game will restart.
MCU 328P (Nano)
HARDWARE LEDS, 7-Segment displays, CMOS ICs
SOFTWARE Arduino C
DESIGN Custom Acrylic Casing (like BW)
The Internal Shift Register

DESCRIPTION This project will create a replica of the 595-shift register by making the internal circuit of the 595. The project will also allow the user to input data bits through the data and clock pin manually. Turning the latch pin high with a pushdown button and using the TPIC6C595 IC will display the sequence of bits onto the LED matrix display.
MCU None
HARDWARE Logic ICs
DESIGN the circuit will be displayed and soldered onto a perma-proto board. The perma-proto board will additionally be encased by a Fusion360 3D printed case.
MECHANICAL Lots of buttons & switches
COMMUNCATION N/A
Sayers, R.

ACES Dice Roller

DESCRIPTION A seven-segment display that will roll every kind of die used for tabletop games. I will have code for seven different kinds of dice that will be used when a certain push button is pressed.
MCU 328P (Nano)
HARDWARE 7-Segment displays, buttons
SOFTWARE Arduino C
DESIGN None provided
ACES Dice Roller v2

DESCRIPTION To build on the previous version of the ACES Dice Roller, including features such as rolling multiple dice at once and being able to set positive and negative modifiers.
MCU 328P
DESIGN Eagle Fusion
MECHANICAL N/A
COMMUNCATION N/A
Sharkey, J.

Hexadecimal Helper

DESCRIPTION Using the Arduino NANO to create a circuit that would count from 0 to 15. Throughout this process LED’s will light up according the current count in the cycle. For example, if the NANO had counted to 15 in the hexadecimal game that would be 240. (Ed. Note: I'm note sure I understand this) This would mean LED’s 2, 4, and 0 would be high.
MCU 328P (Nano)
HARDWARE LEDs
SOFTWARE Arduino C
DESIGN Nothing specific.
Snake Game

DESCRIPTION Using a 8x8 or larger LED dot matrix, shift registers, joystick and an ATmega328P the classic snake game will be recreated. The snake game is a game where a line (snake) is controlled by the player collecting dots across the screen. For every dot the snake will get longer. The goal of the game is to reach the maximum length without hitting the wall or making the snake hit itself.
MCU 328P
DESIGN I WILL USE EAGLE TO DESIGN A PCB AS I THINK A PCB WITH A CASE FITS THE PORTABLE GAME LOOK I AM LOOKING FOR.
MECHANICAL The joystick is the only mechanical piece that will be in the ISP. Other than the joystick it is just digital electronics.  
COMMUNCATION N/A
Sondheimer, A.

LCD Measurement Device

DESCRIPTION This circuit uses an LCD screen and Arduino Uno to display time (hours: minutes: seconds), date (dd mm), and temperature (°C) in 10 second increments. It is labeled 1.0 with the intention of further development of this project.
MCU 328P (Uno)
HARDWARE LCD Panel, TMP36
SOFTWARE Arduino C
DESIGN None provided.

Monophonic Music Machine

DESCRIPTION This music machine will function primarily as a small piano, where the keys are replaced by PBNOs or keys of some sort, and the sound is produced through a speaker. In addition to functioning as a monotone piano, it will also be able to play monotone pitches based on the sound it picks up. This function can be used to help tune monophonic instruments. The third thing it will do is run a game, similar to Piano Tiles, but it will operate for the range of a full octave of 13 keys (C3 to C4).
MCU 328P
HARDWARE
SOFTWARE
DESIGN PCB for the piano keyboard face, and the 13x6 LED Custom Matrix for Piano-Tiles like game. Perma-Proto for the internal wiring from the Arduino and Speaker. LCD appliance for the LCD mount. The internal circuitry will be placed in a 3D printed case, with the PCBs mounted above it.
MECHANICAL Buttons
COMMUNCATION None
Terrelong, C.

Stop Watch

DESCRIPTION A Stopwatch made using the Arduino nano. Able to time anything at the press of a button, stop timing, and reset.
MCU 328P (Nano)
HARDWARE LCD screen, buttons.
SOFTWARE Arduno C
DESIGN 3D Printed Case

Auto Piano Tiles

DESCRIPTION There are 4 LDRs, one for each row of tiles. As the tiles come down the screen the LDRs identify them and send the info to the UNO. The UNO then outputs a signal to conductive material on the screen which will successfully click the screen and hit the piano tile.
MCU 328P
HARDWARE
SOFTWARE
DESIGN EAGLE, Fusion 360
MECHANICAL Relays
COMMUNCATION Serial
Wilson, B.

Decibel Reader

DESCRIPTION This project would have a sound/decibel reader which would pick up incoming sound and alert you if this sound was harmful to the human ear. The goal is to create a portable device to help people detect if their hearing is in danger. I would have a display to show the sound level and a change in the display to show when the sound becomes harmful.
MCU 328P (Nano)
HARDWARE LM393 Sound Detection Sensor
SOFTWARE Arduino C
DESIGN Custom Acrylic Casing (like ARC)

Flappy Bird 2.0

DESCRIPTION This project would replicate the popular game flappy bird, the original game was taken off the app store and I would like to bring it back to life. It would use the matrix that we have been using in class to display the game and would have a dot bouncing controlled by a button with walls advancing on it with openings for the dot to go through. The circuit would also have more buttons to reset the game and a display to show your score.
MCU 328P
DESIGN This project will feature a custom 3D printed case created with tinkercad and a perma-proto board.
MECHANICAL N/A
COMMUNCATION buttons & switches