Custom Alerts on a Bluetooth-enabled Bracelet

*** PLEASE NOTE: Five years later this is still getting a lot of traffic, so I feel that I should state clearly that I consider this to be a dead end. Simply put, these devices in their many cloned and rebranded forms are not designed for this use, and are in fact highly limited. In order to replicate what I did, you would at the least need to modify the Bluetooth stack on your device, which may not be possible and is almost certainly not desirable (in the case below I used a dummy testing backend, which rendered the phone useless with real headsets/hands-free units). If you find some novel or clever way around this, please leave me a comment – I’d be happy to hear!

tl;dr though, playing with this is almost certainly a waste of your time. Sorry ’bout that :(

 

Update:  This got featured on Hack a Day!  Thanks, folks!

Update 2:  Modified BlueZ packages are now posted at the Files link below.  Likely only one is strictly necessary, but I couldn’t be bother figuring out which one it is tonight, so there ye go.

Update 3: The link to the DX Product Page was wrong.  The one that was linked seems to be an enhanced version of the one I have.  I’d be interested in trying it out if it’s substantially different, but it’s not in the budget.

[This is a follow-up to this article]

Well, it’s that time of year again – the time when I recover from exams by staying up far too late working on backlogged fun things.  One of those things was the Bluetooth-enabled bracelet I ordered this spring, which I had been meaning to poke at a bit more.  I now have it displaying (almost) arbitrary text, and have a working demo script in Python that shows the capabilities of the bracelet.  I don’t feel like rewriting everything in the readme, so I’ll just link to it here.  I will however mention the disclaimer that this is a nonstandard hack, completely experimental, and would probably make the Bluetooth standards body members gnash their teeth.  Use at your own risk.  Here’s a pretty picture!

Files: (Corrected link) http://adrestia.creativemisconfiguration.com/files/ffejery/misc/bracelet-hack.tar.gz

Hack a Day Challenge: http://hackaday.com/2009/02/17/hackit-hackable-bluetooth-bracelet/

DX Product Page: http://www.dealextreme.com/details.dx/sku.19489

Happy Hacking!

- The Ffej

About these ads

, , ,

  1. #1 by Aleksander Grande on December 18, 2009 - 7:20 pm

    Great job!
    I’ve been fiddeling a bit with this, but havent given it much thought lately, but now i dont have to, thanks a billion!

  2. #2 by Damien on February 17, 2010 - 12:42 pm

    I have just purchased the bluetooth bracelet and am wondering is there any way it can vibrate on command using Java?

    • #3 by The Ffejery on February 22, 2010 - 1:49 am

      Possibly, but I have no experience in Java. Read the info document at the “Files” link in the post, first of all. Essentially, you have to connect to the bracelet using the HFP profile, and issue it commands. If you can get your hands on an Open Source Java library that already implements callerID and such, then you’re in luck. Just send it a call notification, and it will vibrate. You may want to cancel the notification after a set time, so as to control the duration of the vibration. Otherwise, you’ll have to write it yourself, and that’s getting rather complicated. The Maemo code from BlueZ (the Linux bluetooth stack) has some C code that might be somewhat useful as a reference (or more useful than the spec, which is horribly tedious). If you have the model of bracelet with the screen, you’ll also want to remove any and all code that validates data or formatting on the string sent as callerID – that’s the main point of this hack.
      Apart from that, I can’t really help you, but if you have any further questions about how it works (after reading the technical info posted), just post back here. Have fun :)

  3. #4 by Peter on February 25, 2010 - 12:05 am

    Thanks, this is fantastic! I need to do this for an iPhone app for a project. All I need to do is to vibrate the device on command (i.e. don’t need the text). Any ideas on how to go about doing this in an iPhone application?

    • #5 by The Ffejery on February 25, 2010 - 12:23 am

      Sorry, not a clue about the specifics, as stay away from Apple products in general. As I doubt the iPhone allows low-level access to this sort of thing, I don’t know if it is possible. Maybe if you can simulate a call somehow…? Aside from that, if you can bypass the part of the Bluetooth subsystem that sets it up as a handsfree device, maybe you could send it the ring command directly. I’m really not sure, but good luck. If you manage it, please let me know.

    • #6 by Mike on August 28, 2012 - 5:50 pm

      Hi Peter did you succeed ?
      I’m trying to do the same, 2 year after you …

  4. #7 by Alex on May 27, 2010 - 7:43 am

    Hey Ffejery,
    How about adding a micro sd on this and using it as hands free data storage.

    • #8 by The Ffejery on July 22, 2010 - 8:27 pm

      That isn’t really possible, given the hardware. The IC in the bracelet is more-or-less single-purpose… and I have no specs.

  5. #9 by Tony on December 6, 2010 - 12:47 pm

    Do you think it is possible to pass the names and no, instead of just caller ID, from an android phone to this bracelet?

  6. #10 by Marbeuhan08 on March 12, 2011 - 12:35 pm

    Hi,
    Can you repost your files code please? I am interresed by your project. Thanks

    PS: excuse-me for my english.

    • #11 by Jeffery MacEachern on March 12, 2011 - 1:59 pm

      Oh, sorry. There were some changes on the server that I found out about after the fact, so the files are temporarily unavailable. I won’t be able to fix that until Monday, though.

      • #12 by Jeffery MacEachern on March 15, 2011 - 8:34 am

        Turns out this was due to some oddness with server config. It should be fixed soon-ish. If anyone has any problems with other files, please drop me a line.

    • #13 by Jeffery MacEachern on March 15, 2011 - 8:39 am

      Hmm… If you’re reading this, I tried to send you the files in the mean time, but your email server bounced it as spam. -shrug- I hope you can wait a bit until I have time to fiddle with the server.

  7. #14 by Marbeuhan08 on March 15, 2011 - 2:28 pm

    Or can you send me files to christophe.marbeuhan@free.fr , please.
    Thanks

  8. #15 by charlie on July 14, 2011 - 10:40 pm

    Any way to make it display the time?

    • #16 by Jeffery MacEachern on July 14, 2011 - 11:21 pm

      Probably not persistently. I think one of the newer models does have a clock feature. I’m not even sure if the controller in this one has an RTC, anyway.

  9. #17 by Inger-Marie on February 7, 2012 - 7:41 am

    Do you know how the new model can show caller name instead of number? Thank you!

    • #18 by Jeffery MacEachern on February 8, 2012 - 6:28 am

      Sorry, no. Unfortunately this was mostly a one-off project for fun, and it didn’t turn out to be very useful in practic. I was merely taking advantage of the sloppy coding on the device in a fairly simple way. The same thing may work, but I have no idea. Good luck!

  1. Bluetooth bracelet hacked - Hack a Day
  2. Top Posts — WordPress.com
  3. Tweets that mention Custom Alerts on a Bluetooth-enabled Bracelet « The Blag of The Ffejery -- Topsy.com
  4. Bracelet bluetooth has been hacked ! | HackChasers
  5. Electronic dreams » Blog Archive » Project building blocks
  6. Christophs Blog » Bluetooth-enabled Bracelet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: