LittleUSB - a LittleBits/USB interface

27 Aug 2013



Recent articles

20 Mar 2016

Cabin Table

My F-33 is the narrow version; at 2.5m wide on the trailer, I can drive it without a permit. But it also makes for a narrow cabin. The table fitted by Multihulls Direct was way, way too wide for the boat, and was also glassed in as a perma...
mike 20 Mar 2016 at 23:22
29 Jan 2016

Electrics, part 2 of ∞

Power switching I've had this installed for about a year now and it's working very well, so I'm finally prepared to go public - while there are a few changes I would make, the system works. I've previously outlined the broad design goals. This one will focus on the implementation. I wanted every circuit to be switchable manually or from a computer, and to be able...
mike 29 Jan 2016 at 12:06

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!