Sydney Staff SRE or something.


· by Robert Mibus · Read in about 2 min · (360 Words)

I presented “After Arduino” at LCA2013, explaining how to dig deeper into what “Arduino” really is, and how to get better control over your embedded devices.

If you are just after the slides, PCB schematics, or example code, then you should grab them here:

A video of the talk is available in MP4 and OGV formats (or if you’re with Internode, you can grab unmetered MP4 and unmetered OGV files).

Here’s one of the projects I used to learn about this stuff myself:


(Please excuse the messy point-to-point soldering, I had very tight space constraints and not a lot of time to make it neat! :).

Here’s some PCBs I designed to help program ATmega168/328 and ATtiny13/85 devices when they’re in a breadboard. The designs are available from the Github repo mentioned earlier:

PCBs! - iTeadStudio

PCBs! - DorkbotPDX PCB Order

My talk synopsis was:

So you’ve started playing with this cool thing called “Arduino”. You’re having fun with buttons and LEDs and have started making some real projects that use them.

But then you realise a few limitations: they can be bulky, they’re a little expensive, they don’t have quite enough flash, they have too many I/O pins, or maybe they’re just entirely too easy to use and you want some new challenges. What do you do?

You attend this presentation! :)

This presentation is neatly divided in half; the first (Hardware) half talks about:

  • What Arduino hardware really is
  • What makes up an Arduino system
  • In-Circuit System Programmers (ie., that six-pin header you basically never use).
  • What similar hardware exists
  • How YOU can make a cheaper and simpler platform for yourself
  • Your ATmega chip’s little brother, the ATtiny…

The second half focuses on the Arduino software:

  • What the Arduino software brings you
  • How the Arduino software limits you
  • Using make & avr-gcc to build software for AT{mega,tiny} chips
  • Accessing the registers that control the processor directly
  • How software really uses the hardware interrupts
  • Getting more than two interrupts
  • Using the on-board timers to hand-bake PWM and other things
  • Faster I/O
  • Shrinking your application

If you ever PEEKed and POKEd with a C64, and are now fiddling with Arduinos - this is the talk for you.