ECE 209 Arduino

Presentations, etc (not by me)

  1. Arduino by LB8X Tom
  2. Introduction to Arduino by Chris Meyer
  3. Arduino cheat sheet by The Mechatronic Guy

In the news...

  1. New York Times
  2. Limor Fried in Wired
  3. IEEE Spectrum

Tutorials and books

  1. Getting Started with Arduino
  2. Language Reference
  3. Arduino Starter Kit Manual from Earthshine Electronic
  4. ITP Physical Computing tutorial
  5. tronixstuff
  6. Arduino Cookbook
  7. List of “all” tutorials
  8. planet arduino
  9. A very good place to start

Family

  1. Language from Wiring
  2. Environment from Processing
  3. Arduino

Arduino vs ...

Hosted vs Freestanding environments

The implementation of C provided by Cygwin runs in a hosted environment. It supports the standard library of ISO/ANSI C.

The implementations of C on embedded systems run in freestanding environments. They use libraries appropriate for the application. Arduino projects may use the following libraries. Many of these are implemented with C++ classes. For now, think of these as functions with odd names, such as Serial.begin rather than SerialBegin.

  1. Serial library
  2. Arduino libraries
  3. contributed libraries
  4. AVR libc

vs PBASIC and Java ME

vs C++

In the source distribution of Arudio, there are 18 files of C and 28 files of C++. Although many significant Arduino objects, such as Serial from the class HardwareSerial, are written in C; it would be a good idea to avoid dynamically allocated objects on the Arduino.

The main program

{
  setup() ;
  while (1) {
    loop() ;
  }
}

Useful Arduino functions

Pin I/O

Serial I/O

Timing

CamelCase

The names follow the Java naming convention.

Shields

Gotchas

Examples and information