GP2: Hardware Toy Store

Read time: 9 minutes (2282 words)

For your last group project, you will use the Arduino to control a piece of real hardware, using assembly language to control the part. The device you choose can be either an input device or an output device. Your job is to pick one device to focus on, then think about how you might demonstrate that you are actually controlling that device. Doing that job may require other parts. That is up to you.

Since this is a group project, there will be a new repository for you to clone as a team. Here are the links you need:

My toy store has a lot of parts, but not an unlimited number of devices. The list below is what I will make available this term. Parts are available on a First-Come basis.


If you have something you would like to use instead, see me for approval first.

Light Show Parts

  • Generic Tri-Color LED (5+)
  • Vellman RGB LED Module (2)
  • Knightbright 8x8 LED Matrix (2+)


  • Various Piezo Buzzers (5+)
  • Sparkfun Voice Box Shield


  • Parallax PIR Sensor (3)
  • Vellman Analog Temperature Sensor (3)
  • Generic HC-SRO4 Sonar Distance Sensor (4)
  • Osepp Humidity Sensor (2)
  • Osepp IR Receiver (1)
  • Osepp IR Detector (2)
  • Parallax Gyroscope Module (3-axis) (2)
  • Pololu Sharp Analog Distance Sensor (3)


  • Sparkfun Joystick Shield (2)
  • Parallax 5-Position Switch Sensor (2)
  • Mayhew Labs Rotary Encoder w LED Ring (1)
  • Adafruit Rotary Encoder (3)
  • Generic HEX Keypad (1)
  • Vellmann Real-Time Clock Module (3)


  • Analog Servo (5+)


All of these parts have been used in previous projects. Some parts may have battle damage, so testing the parts is our first priority. Odds are you can find an Arduino project that will get you started.

Project Report

Remember that the focus here is learning about one piece of hardware, and learning how to control that piece using assembly language.

You are free to incorporate code for other parts of your project that you find online, just make sure to properly document where you got things.

Each Team Member needs to author one part of the report on this project. At a minimum, I want the following sections:

  • Chosen Device Description
    • Source
    • Basic Features
  • Controlling the device
    • Required input/output signals
  • Device demonstration
    • How will you show off this device
  • Project Code
    • Any code your team authored. SOurces for other parts are fine

Project Demonstration

ALl teams will demonstrate their projects on the last daty of class. Unless excused, all team members are expected to participate in the demonstration.