LittleUSB - a LittleBits/USB interface

27 Aug 2013



Recent articles

08 Jul 2016

Off to the Seaside!

Last Sunday we finally moved the boat out of the shed, it's home for two years and three months. Of course this went smoothly. Ha. Trying to lift a 14m long, 120kg mast 4 meters into the air is not as simple as it sounds with three people. Worse, three hours after we had planned to leave we had half the trailer jacked up, the axles loosened and were try...
mike 08 Jul 2016 at 18:10
26 May 2016

The Engine

The setup of the Yamaha F9.9 engine - I replaced the Yamaha 703 control box with a flush mounted equivalent and some custom electronics, and linked the engine to the tiller (and a rudder angle sensor for good measure)
mike 26 May 2016 at 16:25

Integrating LittleBits with USB

My friend has bought some Littlebits for his kids, which I think are a great introduction to electronics. However despite being "open hardware" (a nebulous term at best) they are actually a closed ecosystem - they use custom connectors you can't buy, and don't provide any way to connect to anything other than more Littlebits.

This is no fun at all, so I have designed a small circuitboard to act as an interface between Littlebits and a computer, connected via USB. There's also a software library that goes with it to make it easy to turn a littlebits circuit on or off, or to react to changes in that circuit (say when you press a button, or clap your hands).

You can download the circuit, firmware and software here. You'll also need to sacrifice some existing Littlebits to get the connectors, as you can't buy Littlebits connectors as standalone parts. The hardware is all surface-mount technology, which is quite manageable but maybe not what you're used to, and is based around an Atmel ATtiny85 running the open-source V-USB USB stack, so you will need to be set up for compiling and flashing those chips. The software is tested and working on Linux and OS X, but Windows is not supported.

I've also got it working with Scratch, so you can have the Littlebits controlled by Scratch, or the Scratch environment respond to changes in the Littlebits circuit. That's included in the download package too.

Incidentally, while I have your attention can I say that I have no problem with Littlebits Inc.'s policies at all: it's their product so they can do as they like, and as it's the connectors that make Littlebits unique, if they opened the design of those connectors then I have no doubt they would be promptly copied and undercut. You can't run a business on dreams and fairy dust, so I get it. In their position I would do the same.

However: calling a product "open hardware" when it has custom connectors you can't buy and it doesn't integrate with anything else is pushing it in my opinion, even if it does meet the letter of some earnestly-written guideline somewhere, and especially when the circuits they've published on github have connector footprints that are are incorrect. At the very least, I'd like to see the connectors available for sale with an up-to-date part library for Eagle. Even better, Littlebits could put out a USB board and save people like me (and maybe you) the effort of building this one!

PostScript: Christmas 2013: LittleBits respond!

To my astonishment (because it means someone is actually reading this rubbish), the folks at LittleBits dropped me an email the other day, and they were very nice even though I'd given them a slightly hard time. The good news is they're going to ensure the Eagle footprints are up to date, and they're working on some interesting things on which I am sworn to secrecy - but watch this space. Oh, and they send me a LittleBits started kit too, just in time for Xmas, which is rather good as testing the above circuit in isolation was part of the problem. I can be bribed as easily as the next man - LittleBits are great!