Teaching with Arduinos

Turn students into Makers through physical computing

Josh Caldwell

Robotics and Computer Science Teacher, Timbercrest JH
jcaldwell@nsd.org | @mrjoshida | edstuckinthecloud.com

What is the Ardunio

Short Answer:

A tiny, easy to program computer

Longer Answer:

An 8 bit microcontroller designed for Education with analog and digital I/O pins allowing for quick and easy development of physical computing devices.







Third Party Variants

Because the Arduino is released under open licenses, anyone who wants can make and sell an Arduino compatible board. Some are virtually identical to the official Arduino, while others are highly customized for a particular application.

Third party Arduino compatible boards can be found for as little as $5, but buyer beware. Official Arduinos are well built and reliable, others may not hold up as well.


Shields are secondary circuit boards that stack on top of the Arduino's I/O pins. These boards provide additional features to the base Arduino such as motor control, network communications, display output, audio processing, and much more. There are a handful of official Arduino shields, but most are produced by third parties.

Why use the Arduino?

  • Low barrier to entry
  • Turns ethereal software physical
  • Promotes Computational Thinking
  • Gets kids Making



  • Kit vs ala Carte
  • Breadboard vs Solder
  • Find circuits
    • Arduino.cc
    • Instructables
    • Circuitlab
    • Circuits.io


  • C based language
    • Arduino IDE
    • Codebender
  • Visual language
    • Ardublock
    • Modblock($)
    • Scratch
      Interface Languages
  • Processing
  • Python
  • Almost anything else

Hello, World!

// Pin 13 has an LED connected on most Arduino boards.
// give it a name:
int led = 13;

// the setup routine runs once when you press reset:
void setup() {                
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);     

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off
  delay(1000);               // wait for a second

Arduino in the Classroom

Links to CCSS / NGSS


Taking input from the outside world, great for scientific datalogging activites


Focus on the code and calculations taking place in the Arduino. A good place to apply math concepts


Dealing with the physical output of your program. Interactive art displays using simple LEDs can be a great introduction to programming

Persistence of Vision

Persistence of Vision



Jeopardy Buzzer

Jeopardy Buzzer



RC Car

RC Car

Laser Harp

Gingerbread Christmas Lights


Back to the start