Boarduino, Wii Nunchucks, and Servos

The Boarduino is an Arduino work-alike kit from Adafruit.com that’s smaller, cheaper, and you can build it yourself.

boarduino

The Boarduino’s small footprint made me want to see how small of a device I could whip up in an hour from some fairly complex components. So I decided to see how small the combination of a Boarduino, a Wii Nunchuck, and a hobby servo motor could be. Here’s a little video of the result.

Hardware

The Wii Nunchuck is an amazing piece of technology. For $20 you get a 3-axis accelerometer, a 2-D analog joystick, two buttons, and it’s all accessed via the standard I2C protocol. A hobby servo is another piece great tech; only one wire is needed (besides power & ground) to specify the angle the motor should turn to. And both of these devices can plug straight into a Boarduino or Arduino board.

The schematic, such as it is, for the device in the video is:
boarduino with nunchuck and servo

Code

The code that the {Bo}arduino is programmed with is:
wii_nunchuck_servo.pde
It borrows heavily from the great work done by Chad Philips at Windmeadow Labs.

About Boarduino

The Boarduino is small programmable microcontroller and is an Arduino work-alike. It uses the same programming software as Arduino and can substitute for an Arduino in any Arduino projects.

A Boarduino might be better for you if want a smaller and cheaper Arduino and don’t like running wires between your Arduino and a solderless breadboard. The Boarduino is made to be plugged into a solderless breadboard.

All its pins are at standard 0.1″ spacing.

This ends up being cheaper than the standard Arduino prototyping solution of a “shield” board that plugs onto the top of an Arduino board, especially if you do lots of projects. The Boarduino does cover up a substantial part of a breadboard. If this bothers you, there is the Bare Bones Arduino clone from Modern Device.

One of the ways Boarduino is so tiny is that it omits the USB-to-serial interface chip that is part of every Arduino board. Having that always present is really convenient, but it takes up space. The company that makes that chip, makes a cable that with the chip embedded into it.

Adafruit sells this cable, cheaper than anywhere else if you buy it with a kit. If you have multiple Boarduinos, you only need one FTDI cable for them all. And the cables are useful for other little non-Arduino projects that require a USB-to-serial connection.

The Boarduino comes as an easy-to-solder kit, with excellent step-by-step instructions. In fact, the instructions are so good, with schematics and board layout files, you could build your own Boarduino without buying a kit from Adafruit, but they’ve done all the hard work so you just have to solder it together.

This is what the Boarduino kit looks like out of the bag:

If this is off-putting to you, don’t worry. These are really standard parts that are hard to mess up. Adafruit’s documentation not only walks you through what the parts are and how to turn the kit into a working board, but also what tools you’ll need (with links) to get the job done. If you’ve soldered anything before, this will take you about an hour. If you’ve never soldered before, set aside a few hours. At the end you’ll have both an extra useful skill and a new working gizmo.

Finally, if you begin to grow out of the Arduino coding environment, the Boarduino is also a nice little inexpensive AVR ATmega{8,168) development platform. It contains the standard 6-pin ISP header that works with any AVR programmer.

If you like Arduino or AVR stuff, pick up a Boarduino and play with it. Then you too can make Frankensteinian devices like this:

57 Replies to “Boarduino, Wii Nunchucks, and Servos”

  1. I hope you don’t mind, but I’ve uploaded your .flv file to Youtube. I couldn’t get it to play in my Firefox, and Youtube was the simplest solution, cause I’m in linux. Of course, in the description I’ve linked back to this article.

    Here it is right here:
    http://www.youtube.com/watch?v=qqFyadk0Nok

  2. Hi
    Thanks for the great guide, however my Nunchuck just wont read very well….it gives me 2 results from the nunchuck only if i remove the yellow wire from the nunchuck, then put it back. My results are the same every time:
    Finished setup
    0 joy:110,46 acc:49,47,46 but:0,1
    1 joy:46,46 acc:49,47,46 but:0,1

    It also takes me several attempts to actually get that data

    Do you have any ideas?

  3. Hi

    Thanks for the nice guide, but i get into trouble when i try to reproduce this. The boarduino always hangs after 2 iterations (of recieving bytes), right after the Wire.send(0x00) in the sendzero function. It continues to run 1 time in about 50 tries, and then it works fine. Ive tried this with two boarduinos, and two nunchuks and still get the same hangup. Any thoughts or pointers in the right direction? Did yours just work?

  4. Hi,

    I just assembled my Boarduino and started doing some servo control stuff. It works fine, but every so often the Boarduino resets itself and the program starts from scratch. I have a feeling it’s something to do with noise from the motor in the servo screwing up the power supply. Did you have any similar problems?

  5. Hi Arie,
    There are numerous links in the post pointing directly to where to buy a Boarduino, but specifcally it’s from Adafruit.com.

    If your datalogger outputs serial data, then the Boarduino can read it. Many people turn the Arduino/Boarduino into a datalogger. Since it has many analog and digital inputs and a decent amount of RAM and EEPROM (and it’s easy to hook up external I2C EEPROMs), it’s a natural for such tasks.

  6. Hi Todbot, very nice video. 1) where can I order this boarduino kit 2) is there a way to connect to a datalogger? I have made a mechanical device where a weight using gravity turns a potmeter. The pots output is measured in a datalogger for stream into excel. nice, but not 100% accurate. Curious to know if your concept could be an alternative.

  7. Hi todbot, thanks for the tip. I’ll try that out. I was thinking an H-bridge and two normal motors might also do the trick but just replacing the servo’s could be a lot easier.

    Hi Desiredusername I’m running ubuntu 7.10 using firefox and have no problems with the video so you might want to check your installation of your flash plugin.

  8. I wasn’t able to see the video in Firefox on Linux. Checked the source and went to blip.tv and directly to the video. Still no. Then I went to your channel and I was able to see it.

    I don’t know if it is me or blip.tv that sucks, just a helpful tip for other readers.

  9. Hi Bart,
    There are a many different types of servos. It might be you could find one with a faster “slew rate” that would work for a balancing bot. I’ve not tried it. The standard hobby servos trade off power consumption for slew rate. To move a mass very fast requires a lot of power for a short amount of time.

  10. I did this a few weeks ago using 2 servo’s with wheels attached and a nunchuck, trying to make a balancing bot. kinda like a segway. It is really amazing how in very little time one can make a simple prototype using an arduino. b.t.w. the servo’s weren’t fast enough to keep the bot from falling over but I just like to experiment. I like your tutorial.

Leave a Reply

Your email address will not be published. Required fields are marked *