LittleUSB - a LittleBits/USB interface

27 Aug 2013

Categories

Tags

Recent articles

31 Mar 2015

LiFePo4 battery

Part of the fun here is playing with new technologies, which includes Lithium Batteries. As any fule know those are the ones that explode, are horrendously expensive and whose performance doesn't live up to their advertising. There are those better qualified to cover the theory: here's an excellent article which I found after I'd already ordered the cells, which ...
mike 31 Mar 2015 at 13:25
31 Jan 2015

Four serial ports on an ATmega32U4

The ATmega32U4 chip (which underlies the Teensy 2.0, the Arduino Leonardo and Arduino Micro) has a USB serial port and a single hardware USART. If you want to use any one of the 40-odd other pins for serial communications, you have two choices: First, SoftwareSerial, which allows any port to be used but uses the delay method to control timing - essentially your CPU i...
mike 31 Jan 2015 at 00: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!