I'm new on this field and I've spent my last 3 days searching for a way to read some data from a usb device(http://www.willow.co.uk/TelosB_Datasheet.pdf). It sends packets of 12 octest and all I want to do is to read 2 of them. I want to be able to set the transfer speed and the data buffer . . . I guess.

This board has a integrated usb device PORT. I've read about USB shield 2 Library but I've seen it helps connectiong with a Android phone. I'm sure it's a simple solution but I'm not able to find it.

Do you have some advices where should I find something?

  • \$\begingroup\$ Have you managed to configure the port as a host and enumerate the device yet? \$\endgroup\$
    – pjc50
    Commented Apr 4, 2013 at 9:49
  • \$\begingroup\$ I've run the hub_demo application from the USB Shiled 2 Library and I've got the decives(I also have a usb hub attached)...sorry, as I said, I'm a newbie :) \$\endgroup\$
    – user20698
    Commented Apr 4, 2013 at 11:04
  • \$\begingroup\$ The only way there would be a simple solution to this is if someone has already written code to support a very similar device. If not, you will have to write what is effectively a driver for it, basically from scratch. In addition to manufacturer docs, if there's an open driver for linux or running atop libusb that might be a useful as a reference (more than for literally porting). Finally, consider if you might be able to use the SPI or I2C interface of that board rather than it's USB interface. \$\endgroup\$ Commented Apr 4, 2013 at 14:52
  • \$\begingroup\$ This seems to be a question about calling specific library routines for a specific product. \$\endgroup\$ Commented Apr 4, 2013 at 15:04
  • 1
    \$\begingroup\$ @OlinLathrop - what makes you think that such library routines exist for the device and platform in question? \$\endgroup\$ Commented Apr 4, 2013 at 15:10

1 Answer 1


Looking at the datasheet and a page I found by google searching for "TELOSB mote platform", it appears the TelosB module uses an FTDI USB to serial chip for communications.

The Arduino USB host library has support for these chips and contains an example for using them. You could modify it to read/write whatever data you're looking for.

However that's a pretty roundabout way of getting data from the TelosB; your Arduino would be talking to a USB host sheild, which would talk to a FTDI chip, which would talk to the UART on the TelosB's onboard micro-controller.

It would be easier if you could find a way to connect the Arduino's UART directly to the onboard micro-controller's UART. Then you could use standard Arduino serial comms to get data from the TelosB. Level conversion may be required if the UARTs on the Arduino and the TelosB run at different voltages.

It is possible one of the two expansion headers on the side of the board connect to the micro-controller's UART. The datasheet doesn't provide this infomation, you'd need to look at a schematic of the board or a pinout description.

  • \$\begingroup\$ Indeed, the FTDI solution is most suitable for the moment and it works. I'm new and I'll use this for the moment but if I have time and I learn how to do it, I'll try the UART connection. Thank you:) \$\endgroup\$
    – user20698
    Commented Apr 5, 2013 at 9:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.