Nachi Robot SC06F-02

Photo compilation of Nachi Robot at Filip Jonkers’ workplace:

Tkkrlab is going to try to get this machine alive!


LPC810 Programmable PoV display

Persistence of Vision display based on NXP LPC810 from Tinkerer on Vimeo.

A few months ago element14 gave away 500 LPC800-minikits. I thought that that was a nice starting point for a learn-to-solder-goodie for my hackerspace, so I started a design with it. Along the way I found out how to program this very little microcontroller. The demo is now finsihed: when you shake the  board, it will appear to ‘write in the sky’. This phenomenon is called ‘persistence of vision‘, where you still see some light after it has moved on; it’s like those pictures with very long shutter times where car lights become long ‘scribbles’ of light. Here, we control how the lights are turned on and off, and thus appear to be writing in the sky!


In the final design, you can easily solder this board with a few components (see below). When you shake the board, a default text is shown ‘in the air’! But of course, it’s more fun to get your own name on the board, so you can reprogram it! Using the same interface for downloading the firmware, you can use a standard terminal (hyperterminal, or seyon) to type in your name, and you’ve got a personalized goodie!

Exclamation Mark

Exclamation Mark

Captial 'T

Captial ‘T

Small 't'

Small ‘t’



The microcontroller I’m using is the LPC810. To my knowledge it’s the only ARM microcontroller in DIP8 housing. This gives only 6 pins for input and output, but that’s sufficient for my application. Moreover, an 8-pin DIP is very easy to solder, so great for a learn-to-solder goodie!
See more….

Why Arduino is not the right educational tool

I could have started with ‘why the Arduino sucks’ or ‘why the Arduino is bad’, which would have gotten me a tremendous load of page views. But I didn’t because it simply isnt’t true. The Arduino does not ‘suck’, and neither is it bad in its own right. It just isn’t the right tool to teach people programming, but it’s abused that way. Let me tell you why:

What is the Arduino?

“Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environments.” There. I just copy-pasted that from And they’re right! The arduino project is great for  creating interactive objects or environments. You’ve got a gazillion of code examples to use, you can easily read out sensors that would take hours to days to get going (even with coding experience) and a large user base to ask questions. Above all, creating interactive objects or environments is about human interaction (fun!). Hook up a sensor to an actuator, create new combinations and play around… But it’s NOT a good standard to learn coding, or benefit from the power of embedded electronics.

And that’s where I’m bearing a grudge to the use of Arduino’s as a ‘getting started with programming’. Learning to work with microcontrollers is sometimes a steep pathway, but leverages the power of these little beasts. Using an Arduino to learn programming is like using MacDonalds to learn cooking; you get your meal, very fast, but you don’t get the skills to cook yourself. When you need a quick meal, the Mac can be OK (debatable, but just to make my point), but it’s not a cooking class.

5 reasons why, in no particular order: Continue reading

Code::Blocks and STM32F0 (CortexM0) setup

Thank you Hertaville

I set up this tutorial using a lot of resources I found at Hertaville. Thanks, thanks, thanks!

1 – get the GCC compiler

Download toolchain from and add directory with ‘arm-none-eabi-gcc’ and others to path
Linux: get the TAR with the binaries, and extract somewhere. I put them in Documents. Yes, I know that that is not a sensible location, you could do otherwise if you’d like to. I changed the path to point to the binaries.

gedit ~/.bashrc

For me: PATH="/home/victor/Documents/gcc-arm-none-eabi-4_7-2012q4/bin:/usr/local/bin:/usr/bin:/bin:/usr/games:/opt/msp430-gcc-4.4.3/bin"

Under Windows, just run the installer, everything will be fine. At the end of the installer, let the PATH be adapted (option box selected).
2 – get OpenOCD, part of the debugging solution
Go to the OpenOCD site and download the sources. For windows: there’s a binary installer available somewhere, check Hertavilles site.
Linux: unpack,

sudo make install

3 – install Code::Blocks if you hadn’t already
Download Code::Blocks from their website, installation instructions are here.
For linux (my distro refuses to update to 11.20) you’ll have to install the archives that BerliOS provides, windows users can easily install the binaries.
Continue reading