mbed – Hello World!

Some of you may know that around the end of 2005 I started babbling about ideas around microcontroller tools with Chris, and making microcontrollers more accessible. Whilst it started as a little evening project, it grew to be something we dedicated a lot of time to i.e. lots of evenings! But then even further, through skunk works, ARM adopting it as an R&D project, through to us having a team working on this thing and making it real!

So now it is real! It really is! We’re online at http://mbed.org, and you can buy the mbed Microcontroller hardware!

So what have we actually been doing, and what have we got? To give you an introduction, here is the video that came out of the last SuperHappyDevClub. Hope you like it!

btw, it is my first ever video, and it was great fun making it. I used a panasonic sd-20 camera which i’d definitely recommend, and the default mac movie editor to “edit” it.

It is strange looking back to where it started. We’ve been able to do more than we ever imagined and lots of things have changed and evolved, but i’m really proud that our original goals are still what has driven everything; letting people apply the technology as a means-to-an-end.

I think potential for applying microcontrollers is huge, and getting them in to new hands is exactly where these new innovate apps will come from. I’m especially looking forward to seeing devices really start playing on the internet, and hope mbed will be part of helping a lot of the web crowd start experimenting with what could be possible.

I’m going to have to spend some time capturing what we learned up until this point, but hope this is also just the start! So for now, here you go world; mbed – Rapid Prototyping for Microcontrollers. Have fun!



SHDC#15 – It’s Bullet Time!

SHDC#15 happened on August 15th; great weather, great food and new faces! Just what we want.

I had got hold of a new toy that morning (video camera), so it was pretty obvious to me what I’d be doing. My experience with video cameras to this point has been limited to my Nokia phone and an 8mm when I was little. So, lots to learn (like how to record something). However, that didn’t deter me from setting nice big hairy goals for my first filming attempt, which I decided had to include rigs. Maybe unwise, but much more fun.

The shot I wanted was something like bullet-time – with my slight budget difference, pseudo-bullet-time would be fine. After spending a lot of time thinking what could allow a smooth pan-around, Dan came up with the idea of a bike wheel. So put it on the outside of the frame, tape on a mini-tripod, and you get:

The idea in my head was a USB cable flying in to a computer having been thrown (rather than shot!); I wanted to have this as part of an over-the-top demo video of how to set up mbed (more on mbed soon; release is close!). Of course, getting the right shot is all about the right props; check out my USB-cable-on-a-skewer!

The main idea was to fly the cable in to the centre, stop it and then do a camera 180, then carry it on flying. It has to be 1 shot, three movements, but feel like bullet-time! To give you an idea of what it looks like, here is a video of some of the early test shots to see if the concept would work. Whilst they are not very careful shots, you can get the idea.

From then on, there was lots of experimenting with rigs to fly the cable (a dismantled vegetable trolley) and get the computer setup (on kitchenware on a chair). But it was worth it – I got the (slightly ropey) shot I was after – you’ll see the results soon!

I didn’t pay much attention to what everyone else was up to, but we did get in to a conversation about tandems, and then rolf saying he’d been on a 10 person tandem, then trying to google it, and finding this…

Maybe Cambridge needs one?

The BBQ was rolled out, so there was good food on tap. And whilst a lot of the regulars couldn’t make it this time, there was a bunch of newbies, and that means lots of cake! The idea of making cake a newbie requirement was genius. The home made apple cake deserves a particular mention, and was still warm when it arrived. Thanks to all who came and consumed!

FYI: We’re also exploring getting a proper hackspace/hackerspace type venue. Jonny and I have been keeping our eye on one for a while, and we’ll see if we can progress it for next time. More news when we know it, but we think it’d be great for Cambridge to have a proper hackspace. We’ll make it happen!

Interested in joining us at the next SHDC? Then see http://superhappydevclub.org for voting on when we should have the next one. For those that use twitter, use http://twitter.com/camshdc to keep note of any updates and plans.

See you next time!

SHDO#1 – Fusion!

The first SHDO (SuperHappyDayOut) took place last week. A sideline of SHDC, SHDO is a chance to do those normal cultured things people like to do for days out (go to an art museum, a play, an old castle, etc), but for abnormal things. Like go to a Nuclear Fusion Reactor for example.

So that is what we did! SHDO#1 took us to Culham Science Centre, where the Joint European Torus (JET) lives; the world’s largest tokamak!

We didn’t really know what to expect. On arrival though, we we given tea and biscuits which was a great start! The evening consisted of a brief introductory talk on Nuclear Fusion itself, then some touring around the site to see the two main tokamaks; JET and MAST.

Check us out in front of JET!

This was a very impressive sight! There are huge concrete doors that are closed when the reactor is working, with a crystal maze style process for opening and shutting them (for safety reasons). The tokamak itself is hidden in the middle, surrounded by an array of fuel injection, heating and monitoring equipment. It is a strange cross between an incredibly well engineered machine, and an lab experiment, which makes the engineering even more impressive.

The engineers play jenga with the remote handling robot for practice

Apparently, because of the radioactive nature of the tokamak, the scientists need to use robot arms to perform maintenance. And play with Jenga. Hmmm.

JET Control room

The control room looks like a big computer room (maybe what you’d expect). What was interesting to me was that this part of the tour really showed it is in active use, and how routine it all is. Experiments are run very regularly, and it was interesting how the process was described; “The physicist decides what he is going to experiment, the so-and-so engineer loads up the program, the power-supply liaison guy speaks to the national grid, we then fire up the flywheels, …”. You can learn more from the following video about JET.

We also saw the MAST torus, which was interesting as the walls are actually a cylinder (rather than huging the shape of the torus), which means it is great for photos of the whole plasma:

MAST torus

Much of the work being done here is feeding in to ITER (International Thermonuclear Experimental Reactor), which is an international project to attempt to build a proof-of-concept nuclear fusion power plant. It gave us an excellent insight in to the state of play with fusion, and confirmed my general feeling of it being more a when, rather than if, it will happen. It may sound weird, but I really think there is a big future in understanding how we could use way more energy than we currently do (orders of magnitude), rather than understanding how we could use a little less (the story sung by the eco-friendly drum). But that is another story…

Topped off by a great late night curry in Abingdon, I’d say it was a pretty excellent day out!

So given the success, I’m thinking of planning SHDO#2. My idea is a trip to Southwold. Not just because i’m sure it is a lovely place, but more because:

If that sounds interesting and you might want to come, put a message the SHDC Group.

SHDC#13 on the way!

After a little voting, we’ve setup the next SuperHappyDevClub for Saturday 6th June 2009 (SHDC#13).

For those that don’t know, SuperHappyDevClub (SHDC) is a hacker club in Cambridge, UK, and is run as an excuse for people to geek out on pet projects or startup ideas in the company of others.


Setting it up was partly my response to the conference culture I was seeing a year or so ago, where there were a lot of people talking about stuff, but seemingly few people actually doing anything. But the real motivation was that Cambridge had to be full of clever and inventive people (just look at the companies that are here), and there seemed little opportunity for getting together, just to do interesting stuff for the hell of it!

The problem with working on a pet project is it sometimes feels (or is) a little anti-social. You should be at the pub or a party! Worse still, occasionally you doubt yourself and think that being motivated to learn off your own back (a geek) is something you should be embarrassed about. So, call it a support group if you like, but SHDC is really just an excuse to spend an afternoon/evening working around other motivated people; and working among a diverse set of skills is so much better anyway to develop ideas, get help, and learn new things.

And of course, some of the benefits of a pub/party can be brought in too by ensuring a good flow of food and drink!

So if you hack around with electronics, software, web technologies or mechanics, come and join in!

  • SuperHappyDevClub (has link to mailing list)
  • Upcoming; not sure if anyone uses that.
  • Note: the venue has changed as I’ve moved house, so make sure you contact me to get the new address!


On a related note, a few of us will be off on the first SuperHappyDayOut (SHDO#1) in a couple of weeks to the Fusion Power Research Centre at Culham. I’ll make sure we report back on what we see!


Time to report on a SHDC, if a little late. We’re up to #10 btw! For some reason I decided it’d be a good idea to start it with something outside…

Once upon a time, I had a nice bike. But I was new to Cambridge, and didn’t know some of the rules. I parked it at the station and went down to London. When I got back, I didn’t have a bike any more…. But I did have part of a bike; they were kind enough to take only the front half!

So as a project, I rebuilt it. New forks, wheel, handlebars, handlebar widgets, etc. Fitting the headset was the hardest part, but once it was all done it actually went better than before. I never left it at the station again after that!

But a few years passed and then some other friendly person decided to do a similar thing, stripping everything from the front again. They were a bit rubbish actually and whilst they got the handlebars (and therefore all the widgets on them), just ended up breaking most of everything else. 2nd time around, I hadn’t really got the motivation, and as such, the remains have ended up a little unloved…

Bring back the Bike!

But it has been long enough that I’m now motivated to try again, and perhaps try and build something a bit different. Fixed gear, single speed, retro 5-speed. I’m not sure yet. But it basically is going to revolve around whether I can reclaim the frame. So to start SHDC, I stripped down the bike. I got the basics off, but failed to get out the seat post. It is going to need some serious leverage (I even tried levering it with a new toy; a “wrecking bar”), so as the cold set in, I gave in and will need to revisit with a B&D workmate or alike. FAIL!

Vicky had a new Asus Eee PC, and was working on altering the interface. Apparently, they provide little documentation on it, so it seemed like an exercise in reverse engineering. Which in turn seemed to involve post it notes. A lot of them. This was just the beginning…
Screen too small?

A new face, Pierre, brought along his box of electronics-to-be. I really liked this; a cool blue box with a load of switches and leds he’d added, but from what I could work out, not really any plan of what the end result was going to actually do. Awesome! It’ll be great to see this unfold. Also made the right impression by bringing cake! I think there is a new rule; all new recruits must bring cake!

Rob was working on his Cycling Computer. He had a couple of 7-segment displays wired up and was making them in to a speedo; just like the speedo in the Back to the Future Delorean:

Now you may remember, 88mph has a special significance in BTTF. Rob had therefore decided 88 would be something special too, but 88mph seems a little bit of a stretch goal for a bike! So we set about finding something a little more appropriate. Behold the new goal; 88 subs/second.

You may suggest subs/second is a made up unit, and you’d be right. But not just any made up unit. It is carefully chosen to be a goal to aim for, with the wind behind you. A sub (sandwich) is 6 inches. And covering the ground of 88 subs/second = 44 feet/second = 158,400 feet/hour = 30 miles/hour. Exactly! We have the goal! But what will happen when hitting 30mph? That is to be seen…

Another new face, Dan, was working on a mail-to-web app; one of those really simple ideas that you didn’t know you needed until you were told the idea, then can’t imagine how you lived without it. The scenario: You have an email with attachements, and you want to point people at it. But you can’t, as it’s in your email account. So forward it to this app, and it’ll put it up on the web for you, emailing you back with details of where to find it. Excellent! Obviously the most important thing was choosing the name; Meet Hugo, the Hippo that chews through your emails at ChompMail!

Hugo @ ChompMail

Emilio was working on his CamSEN website, which in particular is an aggregator of software jobs in Cambridge. This is really interesting, not so much for finding jobs because we’re not looking, but more to find out what companies are around Cambridge and what they are up to. We also meandered in to Python talk around how he was doing it, and a parser called Beautiful Soup came up. Its designed for delving in to HTML/XML, and seems especially good when the markup is malformed. This is the case with most HTML on the internet, which gives you the strange situation that only browsers really know how to display this stuff; most other parsers just barf.

I decided a few days later to build an all-houses-in-cambridge-for-sale-on-google-maps viewer (because all estate agent websites are different, and most are rubbish) as an excercise to learn Python. It was testament to Beautiful Soup and Python itself that I got it up in an hour or so, and adding different agents was a relatively simple job. I’d definitely recommend both.

My project for SHDC was to pimp up my Big Trak. Having brought it back to life in SHDC#9, I felt it needed a little more. I’d got hold of some neon rope (Electro-Luminescent Wire), and was going to give it the full blue neon runners treatment! Here was my first test, putting the neon under the sills. As you can see, it looks a bit rubbish…

Neon Test 1 - Fail!

But some more experiments and it became obvious that adding it as a runner around the edge had much better results. Here is it going in…

Neon going in!

You can see in the picture above, there is a little more going on than just the neon rope itself. You can also see a reed relay which Rob gave me, which I put in so rather than just hard-wiring the neon on, I could make it trigger based on the driver for the photon gun (filament bulb behind blue plastic). Check out the results…

What you have here is no longer a Photon Gun. This is a Photon Plane! Awesome! Now i’ve got to think what the next stage in the Big Trak Pimp process must be.

And so to SHDC#11. Based on the voting so far, looks like we’ll be going for Sat 17th January. If you fancy coming along to the next SHDC, put the date in your diary and join the Mailing List for info nearer the time!

Merry Christmas!


SHDC#9 gave us a suprising amount of activity, in contrast to the general procrastination of #8. So, lets get started…

Jonny brought along an impressive collection of Psion 5’s (and an Oscilloscope he managed to aquire! Great work!). It seems they come to him to die. Apparently most die because the flex cable between the screen and base breaks.

Psion, Anyone?

We all spent a lot of time admiring the design; the Psion 5 keyboard and mechanism is just awesome. So why didn’t Psion do that well? The story appears to be that the products were too good, so no one upgraded!

The keyboard got pulled apart, again revealing some nice design. His plan is to reverse engingeer it to the point of being able to make it in to a USB or Bluetooth keyboard. I can see why; it really is one of the nicest small form factor keyboards i’ve ever tried.

I got to work trying to fix the remaining problems left over from my previous attempts to Bring Back the Big Trak. The main thing was that only half the keyboard was working, which was due to one of the traces on the flex connector having been corroded away. These things seem to be the casue of lots of problems!

Big Trak keyboard connector fix

The fix I used was to draw a new trace using a Conductive Pen. Not the most easy thing to use (you end up dabbing a lot rather than drawing), but it does the trick. Behold, the Big Trak is Back!

Leif brought along his new toy, a Beagleboard, which he was setting up to be accessibly over a serial terminal as there was no appropriate monitor around.


I then got interested in ways of providing remote access to it, so started looking around at VNC implementations. The thing I wanted to find out was whether there were any Java based VNC clients to allow it to be done as an applet from the clients perspective. Turns out there are! I tried RealVNC first, but couldn’t get it working straight away, so tried TightVNC. This gave much better results. The laptop on the right is running the server, and the left is the Java client:

Sweet. Now we just need to get TightVNC up on the Beagleboard!

Somehow during general tools talk and other fix-the-world discussions, ENSO and Quicksilver came up. These are basically applications designed to help invoke stuff from the keyboard quickly. ENSO was the one I tested out; one key feature is it’s ability to calculate the result of an expression that is highlighted, and replace it with the answer. Interestingly, it takes over and is invoked by holding down CAPSLOCK. Makes you realise how you never use that key, and it usually only features as an annoyance when you hit it by mistake!

It is an interesting thing to play with, and it certainly shows how easy it can be made to get to what you want. Emilio even wrote an ENSO Python Extension Wrapper for it. I’ll be trying out Quicksilver on the Mac too.

In another random discussion about something, Jonny mentioned the concept of “Bookmarklets”. These are bookmarks in your browser that are actually Javascript that is run. That means go to any page, click the link and the Javascript is invoked on that page. Now it is obvious these have been around a while with things like digg/blog this etc, but i’d never really come across them or thought about them. A really good example of it in use is Shared Copy. I can see these Bookmarklets have some great potential applications, and i’m sure there are some that haven’t been thought of yet.

The downside is the bookmark field itself naturally limits the amount of Javascript. As an experiment I did a little “Hello World!” Bookmarklet, but made it such that it just dynamically loads a script from a remote URL (script loading has no problems with cross-site urls). This means you can write the bookmarklet just as a .js file on the web, with no size limitations. I put it up at Hello World! Bookmarklet Example; go have a look!

Henry brought his new Bluetooth modules along that he had got from Round Solutions (ordered by fax!). The modules were BlueNiceCom IV based on the National LMX9830.

The main task appeared to be breaking it out to make it useable (bluetack it upside-down to something and solder on wires), then deciphering the datasheet to understand how to make it play. Getting the conections and config are easy when you know how, but they certainly appeared to make it hard to know how. But once it was responding, we had it pairing and talking to a mobile phone in no time. Even sending a text message. Check it out!

And by 2am, we were all wrapped up; not bad for a days work! I think the cake helped.

See you all at the next SHDC!

Bring Back the Big Trak!

For this one, there are two stories to this title…

1) Robotics in Schools Sucks! Bring Back The Big Trak!

I can remember when I was at primary school, one of the teachers sons brought in a “Big Trak”. For those who haven’t heard of Big Trak, let Peter explain!

This was great, and let people play with some programming basics. It was a time when teaching things like Logo was popular, based primarily on the Constructionist Learning work of people like Seymour Papert. I’ve managed to get hold of his “Mindstorms” book on Ebay, so am looking forward to reading it having had a great time reading a similar era book, “The Mighty Micro”.


After playing with Big Trak, I was pretty inspired and went away to built my own turtle. The result was a 2 motor wheeled block thing with a felt tip pen down a tube in the middle on a winch. This was to allow it to do “pen up” and “pen down” so it could draw on a big sheet of paper on the floor. And it had a big umbilical cord to a relay board I built for the BBC Micro our primary school had. And you’ve guessed it, I programmed a control program in our old favourite, BBC Basic! Awesome!

So, however many years later, I recently went in to a secondary school to help SETPoint run an activity day. It turned out I was teaching a class of around 30(!) about robots. The task was to build some kits, program them, and write a presentation. Having never seen the kits before in my life, or taught a full class, I have to say I was a little nervous/suprised when it became clear what I had signed up for!

Hex Walker IQ2 Board

It all went ok, but I have to say I was shocked by the kit being used. Everyone built a robot kit in groups of about 4, and these kits were pretty poor quality and obviously overused (partly to do with the cost of kitting out so many kits no doubt; there were 3 other classes!). They were basically fiddly gearboxes obviously intended for one-time assembly; they were un-reliable, had gears jamming, wires breaking off, broken parts, fell apart due to them being held together with a rubber-band assembly, etc. If ever you wanted an example of why good engineering pays off, you got it loud and clear from the frustration of the students.

The programmable controller also wasn’t intuatitive; there was no real sense of programming in a sequence of instructions, the motors had to be going while programming, it repeated the commands over and over so it was confusing what it was doing, and anytime you wanted to change it, everything was erased. It left all the students pretty confused and underwhelmed, and to add insult to injury, they had to dissassemble everything leaving many having felt they hadn’t achieved anything.

The shock and dissapointment for me was really that after 20 years, given all our advances in technology, we seemed to have gone backwards from Big Trak. There is no real excuse for such poor execution of teaching quite simple concepts. And it should be great fun!

2) Look What I Found! Bring Back The Big Trak!

Now this is pretty cool. Two weeks later, I’m helping run an after school club at a different place, and the head of D&T gives me a tour. They’ve got pretty cool stuff in some schools now; things like laser cutters! Anyway, whilst in the store room these places always have, enjoying the sawdust filled air, what do I spot on the shelf. Yes, that’ll be a Big Trak that will!

Obviously my exceitment must have been a little supprising to them, and it got better; I quickly found myself as the new owner! Thanks! I was warned it was broken, but where would the fun be otherwise!

On getting it home, I went to put some batteries in and was meet with big lumps of battery acid. This is some of the contacts, after I had knocked off a lot of it!

Big Trac Battery Damage

The acid had got everywhere, and after applying power directly, it was obviously dead. Time to get it apart. Here are the basic body components once i’d got the top off and all the circuit boards out:

Big Trac Case Parts

I replaced the main batteries with a 4AA battery pack. I needed to add a centre tap, as it turns out they use a split rail; this is so they can use half the number of transistors to get both directions! Soldering was really hard, and I had to clock up quite a temperature on the iron to get the old solder to melt. Anyway, the result was as follows…

It is somewhat alive! But only half the keyboard works, and perhaps more importantly, it doesn’t move! The reason i’m pushing it is to see if the movement sensor is working. There is a light/sensor pair spanning a cog with holes in it in one of the motor drives; after pushing it you can see it thinks it has got to the end of it’s sequence, so that confirms that bit is working!

Some more fudging got the power to the motors; the main powerswitch was totally corroded, so I just bypassed that.

In this demo, I had to be a bit selective about what keys to press as only half were working, but getting there! I think there is life in the Big Trak yet! More to come…