furby-web-bluetooth

Interact with a Furby Connect via Bluetooth LE

View the Project on GitHub

FurBLE - Furby Web Bluetooth Demo

Use Web Bluetooth to control your Furby Connect! Tested with Chrome for Android.

Try it out or read our blog

Working:

TODO:

Pull requests are welcome!

FAQ

Why did you make this?

I wanted to build on the excellent bluefluff project and make something really easy to use - just visit the demo page with your Android phone and connect to your Furby.

Does it work with Chrome for Linux/Windows/Mac or other browsers?

Web Bluetooth is a Chrome-only thing at the moment. Mac is apparently supported, but I’ve not tested it. It should also work on most Chromebooks. See the Web Bluetooth implementation status page.

How do I make Furby say different things?

Take a look at the built-in action list. Look up the four numbers for a particular action and put them in the ‘action sequences’ section of FurBLE.

I’ve successfully uploaded a DLC file, but the sounds/graphics seem corrupted

Try doing the “pull tail/push tongue” reset described below before uploading a new DLC file.

Furby keeps disconnecting / going to sleep

The batteries may be low, try replacing them. Furby eats through batteries fairly rapidly. If you’re spending extended period with FurBLE connected to a Furby, turn off the eyes (using the button in the Debug section) to save battery.

Can I create my own DLC with custom animations/sounds?

Yes, though it’s not straightforward currently. Make sure you read about the DLC format and take a look at the demo.py script in our Furby Python tools repo for an example of how to do this.

Troubleshooting tips

Web Bluetooth in Chrome for Android can be a bit buggy occasionally. If the Furby doesn’t show up in the list when you try to connect, try quitting Chrome, then disable and re-enable bluetooth on your phone.

Make sure the batteries in your Furby aren’t running low. This can cause the Furby to misbehave in odds ways, including going to sleep unexpectedly.

If your Furby appears to be rejecting connections, try switching it off and on again. Do this by pushing the antenna down for ~5 seconds until the Furby goes to sleep, then waking it up again. Note that attaching the sleep mask seems to put the Furby into standby without actually restarting the CPU.

You can fully reset the Furby (and clear the DLC storage area) by following these steps:

  1. Wake Furby up
  2. Hold Furby upside down
  3. Hold down Furby’s tongue
  4. Pull Furby’s tail until the eyes go dark (~10 seconds)
  5. You should hear a couple of quiet pops from the speaker as it resets

Development and Debugging

I used the following setup to develop/debug this:

Thanks

Thanks to Jeija for his work documenting the Furby Bluetooth protocol, and to @L0C4RD for his help dissecting the DLC format. Also thanks to my work colleagues and to my wife whose patience has been pushed to the limit by noisy, farting Furbies that won’t shut the *#$& up while I’ve been trying to debug my code.

Further Reading