7
\$\begingroup\$

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?

\$\endgroup\$
  • \$\begingroup\$ give us a link to the one you want. \$\endgroup\$ – Kortuk Sep 10 '10 at 14:11
8
\$\begingroup\$

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

\$\endgroup\$
5
\$\begingroup\$

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.

\$\endgroup\$
4
\$\begingroup\$

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

\$\endgroup\$
  • \$\begingroup\$ I want to do this from a circuit. Maybe like an arduino. \$\endgroup\$ – wewt123 Sep 10 '10 at 14:12
  • \$\begingroup\$ 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? \$\endgroup\$ – wewt123 Sep 10 '10 at 14:25
  • 1
    \$\begingroup\$ Yes, a non-USB device would almost certainly be easier to interface to. \$\endgroup\$ – Toby Jaffey Sep 10 '10 at 14:27
  • \$\begingroup\$ 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. \$\endgroup\$ – wewt123 Sep 10 '10 at 14:29
  • \$\begingroup\$ Tell us more about the device you have. \$\endgroup\$ – Toby Jaffey Sep 10 '10 at 14:31
4
\$\begingroup\$

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.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy