7

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 Answers4

8

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).

tcrosley
  • 47,708
  • 5
  • 97
  • 161
5

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.

Passerby
  • 72,580
  • 7
  • 90
  • 202
4

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...

Toby Jaffey
  • 28,796
  • 19
  • 96
  • 150
  • I want to do this from a circuit. Maybe like an arduino. –  Sep 10 '10 at 14:12
  • 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
  • 1
    Yes, 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
  • Tell us more about the device you have. – Toby Jaffey Sep 10 '10 at 14:31
  • 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
4

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.

mjh2007
  • 3,899
  • 24
  • 49