Using user-space USB drivers: Part 3

Using user-space USB drivers: Part 3

Yesterday I mentioned starting on a Silicon Labs CP2102 user-space driver for Node.js. Well, I just managed to successfully read data from the device! The source code for the driver is already on GitHub, but I still need to…

3D printed battery holders

3D printed battery holders

I found these battery holders on Thingiverse. I printed the one to hold AAA batteries a while ago, and printed the AA one last night. The thing on the right is my honeycomb cable holder for USB cables. I go…

Using user-space USB drivers

Using user-space USB drivers

When you need to install a driver to get your USB device working, this driver is installed in kernel-space. On macOS this is called a kernel extension, which is a nice descriptive term. On Linux it's usually not even necessary…

USB host shield on Espruino: Part 8

USB host shield on Espruino: Part 8

I still haven't successfully received data from the meter, but analysing the USB packets using the logic analyser that I started with yesterday has been super helpful. After I discovered yesterday that there wasn't any USB bulk transfer data being…

USB host shield on Espruino: Part 7

USB host shield on Espruino: Part 7

Today I want look at analysing what exactly is happening on the USB bus when we send and receive messages, to make sure that what I think is happening is actually happening. On a Windows or Linux machine this can…

USB host shield on Espruino: Part 6

USB host shield on Espruino: Part 6

As it's Sunday and we've been having really great weather here in Wales lately, I spent most of the day in the garden and on the beach and not in front of the computer. This means there's no new code…

USB host shield on Espruino: Part 5

USB host shield on Espruino: Part 5

I spent a couple of hours this afternoon and again this evening trying to get the TUSB3410 driver to work. I am now able to successfully communicate with the TUSB3410 chip inside the USB cable, set up some configuration parameters…

USB host shield on Espruino: Part 4

USB host shield on Espruino: Part 4

Today there won't be any new code, as I'm still trying to get it to work. After yesterday's successes in reading the device and configuration descriptors, I decided to implement a USB driver for the TUSB3410 chip from Texas Instruments…

USB host shield on Espruino: Part 3

USB host shield on Espruino: Part 3

Now that we can connect to a device using the USB controller chip with Espruino, we can start reading the USB configuration and device descriptors. These descriptors give us more information about the device, for example its USB vendor ID…

USB host shield on Espruino: Part 2

USB host shield on Espruino: Part 2

Yesterday we looked at how to connect to the USB host shield and read the register that contains the chip revision number. Today we'll look at how to initialise the USB connection with the device. We already have a way…