What would be the easiest way to read data from a USB glucose meter externally with a microcontroller. Not with the software that is provided. So how could I incercept the digital signals that are being sent out?
4 Answers
The native interface to most glucose meters (Abbott, Bayer, J&J and Roche) is a UART output. There is circuitry at one end of the cable that translates this to USB protocol. It is possible to read the data with a UART by using a 2.5 mm or 3.5 mm plug to connect directly with the meter.
The J&J uses a 3.5 mm plug with Tip being Tx and Ring being Rx (Tx and Rx wrt your UART, not the meter), and communicates at 9600 baud. Except for the various J&J One-Touch models, the signal levels for the other brands are typically neither regular UART (0 / 3.3) or RS232 (+-5) levels but some weird combination. Some models also swap Tx/Rx compared to the J&J. Note: the One Touch Ultra and Ultra 2 use a different (more text based) protocol than the binary protocol used by the Ultra Mini (see CoderTao's answer for a link to the latter).

- 47,708
- 5
- 97
- 161
If you're still looking for a device, this search suggests that OneTouch UltraMini / UltraEasy have an RS232 interface available, with Software Developer's documentation- which should make it easier to interface with.

- 72,580
- 7
- 90
- 202
You'll need an embedded device with USB host to read from your USB device. That implies a certain level of complexity (and cost).
The easiest route is probably to use Linux. Have a look at this question for some options: https://electronics.stackexchange.com/questions/2191/options-for-a-small-linux-hw-platform
You'll also need a linux driver for your device. If one isn't available, you may have to reverse engineer the existing driver (perhaps using usbsnoop or other USB sniffing tools).
Alternatively, there are smaller/cheaper/more energy efficient devices such as the USB AVRs or various flavours of ARM MCUs which can do USB host.
If it wasn't for USB - this would be straightforward with an Arduino. Arduino is only capable of being a USB device and only a serial port over USB.
If you could find an alternate glucose reader which output a voltage or simple digital signal (I2C/SPI/RS232) then things would be simpler...

- 28,796
- 19
- 96
- 150
-
-
Would it be easier to use a none usb meter than try to figure out where the data is processed and do it from there? – Sep 10 '10 at 14:25
-
1Yes, a non-USB device would almost certainly be easier to interface to. – Toby Jaffey Sep 10 '10 at 14:27
-
Do you have any idea how I could interface to one? I wouldn't even know where to find that portion of the circuit that stores the data. – Sep 10 '10 at 14:29
-
-
I don't have one yet. I didn't know the usb route would be more challenging because I planned on just buying one of those. If you have any cheap suggestions of ones that would be easy to inface to tell me. – Sep 10 '10 at 14:32
If you really want to do USB embedded host you can use PIC24 from Microchip. They provide a good USB stack with some basic device profiles. I have not seen a device profile for a glucose meter, but it's possible they use a HID or CDC profile. If not you may need to get that information from the glucose meter manufacturer.

- 3,899
- 24
- 49