Arduino Danger Shield — Learning PCB Redesign

Arduino Danger Shield — Learning PCB Redesign
Contents

Overview

The SparkFun Danger Shield was a popular learning board that plugged directly onto an Arduino UNO, giving beginners a rich set of inputs and outputs in one self-contained package. When SparkFun discontinued it, a replacement was designed with updated components and used as the foundation of a two-session intro Arduino class — one session to build it, one to program it.

Shield Components

  • 3 slider potentiometers (analog input)
  • 2 LEDs (digital and PWM output)
  • Piezo buzzer (tone output)
  • Photocell / LDR (analog light sensing)
  • Temperature sensor (analog, TMP36-style)
  • Capacitive touch pad
  • 3 momentary push buttons (digital input with internal pull-ups)
  • 8-bit shift register driving a 7-segment LED display
  • Power LED and reset button

The Class

Session 1 — Soldering

Students assembled the shield from a bare PCB and components, making it a hands-on introduction to soldering for microelectronics. By the end of the session each student had a working shield ready for the next class.

Session 2 — Programming

The second session used a slide deck (linked above) to walk through each peripheral individually, with a standalone code exercise for each one — the exercise code is in the GitHub repository (linked above). The session culminated in combining everything into a single sketch that read multiple sensors and drove multiple outputs simultaneously — putting all the pieces together.

Class Exercises

The second session stepped through each component as a standalone exercise:

ExerciseConcepts covered
Blink LEDsdigitalWrite, digitalRead, delay
ButtonsINPUT_PULLUP, active-low logic
SlidersanalogRead, 0–1023 range, sprintf
Fade LEDanalogWrite (PWM), map()
TemperatureADC-to-mV conversion, TMP36 offset math
Slider/Tonetone(), noTone(), frequency mapping
Capacitive touchCapacitiveSensor library
7-Segment displayShift register, SPI bit-banging, shiftOut
PANICPhotocell baseline + threshold, while loops
ServoServo.h, write(), sweep (servo not included on shield)

Beyond the Classroom

The shield’s sliders and buttons also make it a handy general-purpose controller. One fun application: using it to fly a Syma toy helicopter via IR — the three sliders map directly to throttle, yaw, and pitch.

Files

Schematic and PCB files are in the GitHub repository.