Thursday, January 12, 2012

Amateur robotics: getting started

So, here's the start of a blog series which I plan to use to document my tinkering with my soon-to-arrive Arduino board. For those who don't know, Arduino is an open-source electronics, um, computer board thingy with lots of i/o pins you can used for sensors and effectors. It can also be hooked up to a mobile phone (or cellphone for any North American readers), which can interface with the Arduino board. This can be done using Java, or even Python (thanks to the SL4A interpreter). No phone hacking required!

So I intend to thoroughly document my process, and share it here. This is really for myself, but anyone else who is interested in amateur robotics might be interested in following along my story as a complete newbie at this stuff.

So, the beginning...

I just placed my order for the following items:

My hope is to be able to build something like this:

But I'll have to start right from the very beginning:


  1. Looking forward to the series!

    Is there any link between your ordering these things and it being SparkFun's Free Day today? :)

    I just recently got started playing with electronics and microcontrollers, too. The $4.30 TI Launchpad was a bit more my speed as far as initial investment went, but I think an Arduino is a better, more supported choice, probably. There's an article out there about how to build an Arduino on a breadboard, which I found really helpful -- even as a non-Arduino owner -- to understanding how much a microcontroller has built-in, and just what sort of support circuitry is contained on that PCB. I really recommend reading it. I might just try building one so I can play around with the Arduino IDE, if I ever get ahold of an ATMega328 :)

    Anyone used to the joy of using python's interpreter should definitely check out Dangerous Prototype's Bus Pirate. The Bus Pirate is basically a REPL for digital logic. is a good walkthrough example of how you would use it to connect to an EEPROM chip and communicate interactively with the EEPROM via the I2C standard protocol. It supports a laundry list of standard protocols, and can also do raw bit banging. I'm sure you can imagine how useful that sort of interactive interface can be when figuring out how something works, or why something isn't working.

    DP sell their stuff directly through a Chinese manufacturer, seeedstudios, which can take a month or so to get via the mail, but SparkFun manufactures an authorized clone which seems to be carried at

  2. I happened to be up late last night, so I tried to score some freebies at opening time, but no luck unfortunately!

    I just got the message my items have shipped, so with any luck I'll receive them tomorrow.

    I'll definitely be going the way of trying to interface using Python, I just love the language. I believe it's even possible to interpret Python on the board, but I don't think I need to do that. I'm quite happy writing low-level controller code in the C-like native language and write higher level code on the cellphone / PC.

    This is my first real venture into hardware (beyond very basic DIY PC upgrades and replacing a printer part) so I'm super-excited.

    Thanks for the comment and the links, I'll look into things! :)