Up, not North

Quick and dirty Arduino kiwi drive robot (controlled by Wii nunchuck!)

July 10th, 2011 § 4

Months ago, for a larger project that is currently languishing in my “when I have time” pile, I built a very simple Kiwi-drive robot. Since it likely won’t be “finished” for a long while (and has been sitting in my trunk for weeks), I figured I ought to at least document it.

Very briefly, kiwi drive is a “holonomic” method of moving a robot, which basically means it can move in any direction without having to turn first. It accomplishes this using three omniwheels mounted at the points of an equilateral triangle. With some vector math, you can find rotational speeds for each wheen such that the robot will move in whatever direction you like. I won’t go into the theory too much here, but here are some diagrams and here’s some math (via).

In the video I’m controlling the robot with a Wii Nunchuck. That’s because my 14-year-old cousin was hanging out at the shop when I built it; he saw the controller in my parts bucket and said “you HAVE to connect the nunchuck to the robot!” So I did. I used Tod E. Kurt’s breakout board and example code.

The robot is dead simple. It essentially consists of three different parts — a microcontroller, omniwheels, and servos — and it took about five minutes to put together. Keep reading to learn how it works and download the code. » Read the rest of this entry «

¿Cómo usted dice “Tinct” en español?*

October 17th, 2010 § 5

Wow! I was recently contacted by the folks at Hangar, a “visual arts production centre” in Barcelona, Spain. It turns out they’ve built their own Tincts from my original design, and have a whole wiki page filled with PCB designs, firmware, software, and ideas. (They call it an OcTinct: that’s a throwback to the original design, when I called the 4×4 version the “TiniTinct” and the 8×8 the “OcTinct.”) What’s more, they’re actively developing and maintaining the project, and they’ve even been holding workshops on it! (I wonder if I could get them to fly me over for one of them…)

¡Gran trabajo!*

* I don’t speak any Spanish, so this is all machine-translated.

Life, in colour: The Tinct Lives!

May 13th, 2010 § 1

This project has, for a number of reasons, languished unfinished in a box for two years. Now, with encouragement and help from my friends at Hacklab.to and Site3.ca, I’ve finally completed it! In its current incarnation, it is a standalone, full-colour, interactive version of Conway’s Game of Life; with a firmware flash, it can become a monome-compatible USB interface.

Update: I’ve created a project page for a deeper explanation of how the Tinct works.


  • 8×8 grid of cells with wrapped edges (the bottom “wraps” to the top, and the left to the right, like a game of Asteroids).
  • Each cell is a button, which toggles the current state of that cell.
  • Full-colour – when a cell is born its hue is a mixture of its “parent” cells. As a cell “ages,” its colour evolves over time.
  • Boringness detection – if all cells are dead or if the board position is static, the board will reset to a random starting point. The interval for each condition is independently set.
  • Two analogue inputs (currently not connected).
  • USB port for easy firmware updates.

The colours and the blending look great: the pictures and video don’t do it justice. I still need to route holes in the case for the power and USB cables, and for the analogue inputs, which I do plan on adding eventually. One will control the speed at which the game runs, and I haven’t decided what the other one will do yet (post suggestions in the comments!).

Demoing the colour range

The story

When I started playing with electronics a couple of years ago, I needed a first project. I decided to build an Arduino-based monome compatible controller, and, just for fun, I decided to make it full-colour, to boot. To make a long-story short, it worked; as far as I know, it was the very first “Arduinome.” I called it the Tinct. However, real life conspired to keep me from finishing it, and it sat in a cardboard box, half on PCBs and half on breadboards, for years. The LEDs weren’t even soldered, just held in by friction!
After joining Hacklab, I was inspired to unpack it and get it finished. I realized that one of the reasons I had never completed it is that I don’t really have any use for a monome: all I ever really did to test it was run a version of Conway’s Life, because it makes good use of the full-colour capabilities. Not wanting to finish it only to have it collect dust again, I decided to write new firmware that runs Life without being connected to a computer, so I could hang it on my wall as an interactive decoration.
It took a bit of time (and many cries from fellow Hacklabbers to “solder the damn LEDs in already!”) to get everything soldered and debugged. Mark was generous enough to design and cut the faceplate and some structural components on the lab’s laser cutter; otherwise I might never have downloaded and learned to use a CAD program to do it myself! We used a scrap piece of turquoise acrylic with the original intention of painting it, but the colour has grown on me and I might keep it.

The future

As I mentioned above there are a few minor things to finish up, and some enhancements like analogue inputs. Many people have asked me if the design could be adapted to a larger grid. The answer is “sort of.” It’s possible, but it would take some serious reengineering, new PCBs, and a lot of money for parts and prototyping. I’d love to do it, but I wouldn’t love to pay for it. So, if you’d like to give me a grant or a commission to make a larger version, feel free to email me! (jonathan@ the domain of this website.)


A few people have asked me about kit versions, and I’m looking into it. The project is expensive, and it isn’t easy, which both complicate things. The main problem for me is the large initial investment, which I just don’t know if I can afford. The solution seems to be raising money through something like Fundable, where nobody loses anything if the minimum funding amount isn’t met. If this is something you’d be interested in, please get in touch (jonathan@ the domain of this website); if there isn’t enough interest, it won’t happen.

Arduino code highlighting for the web

February 4th, 2010 § 2

I noticed that there didn’t seem to be any Arduino-specific syntax highlighting available for the web, so I took it upon myself to make an Arduino “brush” for the popular SyntaxHighlighter by Alex Gorbatchev. Since the size of the file supposedly affects performance, I made two versions: a “lite” version that includes all the core Arduino functions and constants, plus the Serial library; and a “full” version that also includes the EEPROM, Ethernet, Firmata, and Wire libraries, as well as (and this is where it gets big) the full set of ATMega168 keywords and macros. Here they are in action on some dummy code. » Read the rest of this entry «

Category Index

You are currently browsing the Arduino category.

Subscribe to the feed for this category.