USB interface to bluetooth interface for digital scale

androidarduinobluetoothusb

I've got a situation where I need to communicate wirelessly between a bluetooth-enabled Android device and a digital scale which can be accessed digitally via USB.

While normally I would be happy to just use one of the new bluetooth human scales, the scale needs to be officially certified and I haven't found any certified bluetooth-enable scales so far… and since it's certified hacking the scale itself is out of the question. So what I'm left with is a certified scale with a USB interface that I need to access via a bluetooth-enabled Android device.

I've very little experience with Arduino but it seems to me I could use something like Sparkfun Arduino Pro Micro + Sparkfun Bluetooth Mate Silver

From what I've understood, I could simply plug my USB into the Arduino and then have it do data i/o via the bluetooth mate.

So my question for those more experienced than I : are things so simple, or am I missing something? will there be a lot of Arduino coding to do or will this work out of the box? with these models can I count on a strong, reliable bluetooth connection? a bluetooth connection that had to be constantly re-established would completely ruin the interest of the project…

Best Answer

No, an Arduino is a USB device and as such can only connect to a USB host or to a role-switching USB OTG device. So it would not be able to directly connect to this scale device.

You can get a USB host shield for an Arduino, but it is quite expensive and very challenging to program. You'd probably be better off with a compact embedded linux system such as a raspberry pi or beaglebone black, plus a bluetooth dongle (this will actually be cheaper than the arduino, host, and bluetooth shields). However, if it's not known that this USB scale is usable with current desktop linux distributions, then you may find the project extremely challenging as you'll first have to research (/reverse engineer) the protocol used by the scale and implement your own driver.

Another possibility might be to use a compact embedded PC running windows as a gateway, if that is what the manufacturer provides USB drivers for.