LittleUSB - a LittleBits/USB interface

27 Aug 2013


Boat (27) 
Not the Boat (12) 


Recent articles

25 Apr 2017

Ubuntu 16.10 LXC host on ZFS Root, with EFI and Time Machine

Still completely unrelated to boats, but I needed somewhere to put this. Here is a blow-by-blow guide to installing a minimal Ubuntu 16.10 to a ZFS root, booted from EFI, which as used as a LXC host to act as an Apple "Time Machine" destination.
mike 25 Apr 2017 at 17:20
14 Mar 2017

How to connect any serial device to the internet

A completely generic script that will proxy serial devices over HTTP, turning USB-things into internet-things.
mike 14 Mar 2017 at 23:00

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!