More tea please.

The Formica Taschepack

Chris posted earlier today with some photos of the Formica eye expansion boards that he and the rest of his biologically-inspired robotics group have been working on. Jeff and I felt that the strategic addition of some facial hair would solve some of the technical issues that they’re currently working through:

Subscribe to my blog to stay current with the latest Formica facial hair developments!

Posted at 11:57 pm on Tuesday 11th May 2010

Order your Formica 2 kit now

Jeff and I have just announced that we’ve made Formica 2 kits available for order. You can pre-order them in the newfangled xGoat webshop, and this will guarantee that the kits are shipped to you by the 22nd of February. The kits come with all the surface mount components already soldered on the PCB, so you can get to programming your robots as fast as possible. Some soldering is still required to attach the motors, battery, antennae and photodiodes.

You’ll also find the protopack in the webstore, which is a backpack (an extension board which plugs into the new hack connector on top of Formica 2) with a 1.27mm prototyping area on it. This will be useful for quickly hacking together extensions for your Formica robots.

Luckily I managed to get in at the right time and bought all the MSP430F2274 microcontrollers that we need for these chips. There’s some kind of international shortage of these at the moment. If you are in desperate need of these chips, email me and I might be able to sell some to you.

Posted at 6:06 pm on Wednesday 30th December 2009


Jeff and I have been working hard on the Formica project in our spare time (honest!), but unfortunately we’re not going to make our previously announced deadline of the 26th. Sucks, I know. This means that we’re not going to be doing a workshop at 26C3. Sorry. We will be at 26C3 though, so do come and say hi!

Why the delay? We’re not just shipping the same old design as before. We’ve added a hack header to the robot, allowing the robots to be easily extended. We’re quite excited by the extensions that people will come up with. We’ve also trimmed down the number of components on the board further (yes, it was hard to believe there were any, but turns out we did miss some!). All of these changes meant that we had to do a prototype run, which obviously increased the hours that we had to put into the project.

I’m not going to say exactly when I think the robots will be ready, because I don’t want to let people down again! However, I think I am safe in saying that they will be available within the next few months.

Posted at 11:37 am on Wednesday 23rd December 2009

Formica kits available from 26th December

In his talk at 25C3 last year, Jeff announced that we’d have Formica robot kits available soon. We stumbled in achieving that goal, but certainly never lost sight of it. We’re back on our feet now, and we’re happy to announce that Formica kits will be available at 26C3. We’ve applied to run a Formica workshop at 26C3 in which we’ll be giving a hands-on tutorial on assembling the kits into live robots.

Kits will be available outside the workshop at 26C3, and also on-line after the event. It’s likely that a place in the workshop will be €50, which will include a kit. Kits without the workshop will probably cost less.

Now we’ve got a deadline to motivate us!

Posted at 4:10 am on Saturday 17th October 2009
One Comment

Formica Community Site

I’d really like to get a development community around the Formica robots. I really enjoyed seeing Toshaan and colleagues build upon and develop the Formica designs for themselves. From the response we got from Jeff’s 25C3 talk, we know that there are quite a few people interested in building these tiny robots.

So we’ve set up formica.srobo.org; a wiki to act as a hub for Formica robot development. We would like to invite everyone who’s involved in Formica related projects to get involved with it and use it as a repository for information. This site is generously hosted by Student Robotics. Our thanks go to everyone in SR for that.

We’ve also opened up the mailing list that we used whilst the project was part of our degree. We hope this will become a place for people to publicly discuss projects relating to the Formica robots.

In moving to formica.srobo.org, I also transmogrified our subversion repository into a git repository. Details of this can be found on the software page of the Formica wiki.

Posted at 7:30 am on Tuesday 10th March 2009

Formica IEEE Talk

Jeff and I are giving a presentation on the Formica robots on Tuesday evening for the University of Southampton IEEE Student Branch. We’ll be doing a live demonstration with robots. More information can be found on the UoS IEEE site.

If you’re at the University of Southampton, this should be a nice opportunity to see what sort of stuff you can get up to during your fourth year.

Posted at 9:00 am on Monday 9th March 2009
One Comment

Belgian Formica

I’ve just received excellent news. Toshaan and his colleagues have built some of their own Formica robots. True to the spirit of open source projects, they tried out their own improvements to the robot drive (see the photos Toshaan has made available). It is really cool to see our designs used and developed by someone else who isn’t in the same country as us!

I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting
And if that wasn’t good enough, Toshaan and I are both going to FOSDEM at the end of the week. So we’ll be able to compare notes about our robot minions. If anyone else is headed to FOSDEM and is interested in meeting up about the Formica robots, then send me some sort of electronic communication over these here interwebs.

Posted at 1:38 am on Wednesday 4th February 2009

Formica Kits!

Jeff‘s just finished giving his excellent presentation about the Formica robots at 25C3. We were really surprised by the demand to buy these things. We might be persuaded to sell some robots if the demand is really high enough — either as kits or fully assembled devices.

So, please send an email to rspanton+formica@zepler.net if you are interested in purchasing some in the future! We’ll get back to you if we receive enough interest.

Edit: Alternatively, register your interest by posting a comment below and leave your email address so we can get back to you.

Posted at 7:22 pm on Sunday 28th December 2008

Formica Firmware Release

Formica Logo
We’ve finally got around to releasing the designs and code for the Formica robots. You can find a technical report over at Jeff’s website Warranty Void if Removed. The hardware designs are under a CC license, and we’ve GPL’ed the firmware.

I’ve made the firmware available here. To build this, you’ll need to have an install of mspgcc that’s been built (and probably patched) to compile for the MSP430F2254. If you’re using Fedora 9, then you should be able to use my mspgcc RPMs.


Compiling it is as should be as simple as running “make”:

[rob@zarniwoop formica-fw-r468]$ make
./freq.py 500 3500 3 > freq.c
cp .freq.h freq.h
sed -i -e "s/_NFREQ/`echo "$(((1 << 3) + 2))"`/" freq.h
sed -i -e "s/_NBITS/3/" freq.h
sed -i -e "s/_MIN_PERIOD/500/" freq.h
sed -i -e "s/_MAX_PERIOD/3500/" freq.h
sed -i -e "s/_SYMBOLS_PER_BYTE/`./.sym_per_bit.py 3`/" freq.h
curl -s http://users.ecs.soton.ac.uk/rds204/formica/rev.php > .fw_ver
msp430-gcc -o main -mmcu=msp430x2254 -g -Wall -Os -mendup-at=main -DRAND_WALK_SPEED=3 -DFW_VER=`cat .fw_ver`  main.c ir-rx.c freq.c net-rx.c opamp-1.c ir-tx.c ir-tx-data.c net-tx.c adc10.c random.c motor.c virus.c smbus_pec.c battery.c ir.c food.c bearing.c flash.c behav/braitenberg.c time.c behav/parking.c behav/watchdog.c -Wl,-T,lkr/msp430x2254-lower.x
Firmware revision 485
msp430-gcc -o main-top -mmcu=msp430x2254 -g -Wall -Os -mendup-at=main -DRAND_WALK_SPEED=3 -DFW_VER=`cat .fw_ver`  main.c ir-rx.c freq.c net-rx.c opamp-1.c ir-tx.c ir-tx-data.c net-tx.c adc10.c random.c motor.c virus.c smbus_pec.c battery.c ir.c food.c bearing.c flash.c behav/braitenberg.c time.c behav/parking.c behav/watchdog.c -Wl,-T,lkr/msp430x2254-upper.x
Firmware revision 485
cp -f freq.h .freq.h.win
cp -f freq.c .freq.c.win
[rob@zarniwoop formica-fw-r468]$

This will generate two binaries: main and main-top. These contain the same code but they are linked into different regions of the flash. You can load either one of them into the robot’s MSP430. However, when you start working on getting them to flash each other over IR, you’ll need to make sure that you’ve got the right ones loaded.

You may notice that there’s a curl in that make output. This grabs a firmware version number from the web. Obviously you can change the URL this grabs it from, but feel free to use the one that I’ve set up in my ECS account.

p.s. I should add that none of the stuff from the Alife conference has involved the title “Formica” or our logo, which was a little dissapointing. So, let me point out that this is the same project as in all of these news stories.

Posted at 2:12 pm on Friday 12th September 2008

Project Formica: A really enjoyable project

dsc01545.jpg Project Formica is now over. We’ve given our final demonstration to our lecturer, and we’ve said goodbye to all of our robots. I think that this has been by far the best coursework that I’ve been involved in at Southampton. It’s a shame that it wasn’t the best coursework when measured marks-wise! I strongly recommend the “biologically-inspired robotics” module to anyone doing electronic engineering at Southampton University.

In the end we built 25 robots. These robots are designed to be very cheap. If you strip away our prototyping costs, then each of them cost just over £10. If you build 1000 of them, then the components only cost around £6.50. That’s quite cheap!

We got the 25 robots constructed in a 14 hour build-fest. We are indebted to Klaus-Peter, Tom, Tobias and Justyn for their help in this experience, and hopefully we’ll express our gratitude in some way soon! In 14 hours we managed to solder over 1500 components between us.

For our demo, we got the robots doing a random walk until they found food. Food in this case is a piece of cardboard with a cuboid piece of wood stuck in the middle. They’d then push the food towards light. When they’d reached the light (which they determine through light level), they’d reverse for a bit and then go about finding some more food. Every so often, they’d go and charge themselves from the charging station. Charging is just a case of driving straight into a charging bay — with their prongs and skis making the electrical connections to the power supply. They use their IR communications to talk to other robots and ascertain how much food is left around in the arena that isn’t near the light. The liklihood of going to charge is affected by this food level.

So, all that remains now of my degree is 2 exams and a 3-minute presentation. Pretty scary!


Posted at 1:38 am on Sunday 25th May 2008

Site by Rob Gilton. © 2008 - 2019