PWM on the USBee with custom firmware

In this article I described how to use the signal generator firmware to send out PWM signals generated on the PC. However, there is a better way. The USBee SX is based on a Cypress FX2lp, a microcontroller for which the firmware must be sent every time the device is connected. This gives an excellent oppertunity to experiment with custom firmwares that do fun stuff, such as driving led effects independently from the host...

Read More

USBee SX protocol description

This page describes the part of the USBee SX protocol I've been able to decypher using SniffUsb. It looks like there is a separate firmwares for signal generation and capture. The endpoints used are the same, although they accept different commands on endpoint 0x01 (set state). A simple implementation of this protocol using Python and libusb can be found on my bitbucket page.
Read More

Poor man's PWM generator

In the signal generator application packaged with USBee SX, every waveform has to be manually 'designed'. I wanted to implement a led fading "chase" effect using Pulse Width Modulation (PWM). It is far too much work to manually design the waveforms in that case. Also, as I wanted a solution that also works on Linux, I did not use the DLL API, but instead what I've learnt up to now about the USBee protocol and put it to use with Python and libusb, a convenient way to interface to USB devices without writing kernel modules or device drivers. This is the kind of effect I wanted to achieve (works browsers supporting HTML5 canvas only):

Read More

Generating signals using the USBee SX

The signal generator program packaged with the USBee does not seem very intuitive to use on first sight. Initially I was unable to change anything, wondering why clicking anywhere in the waveform doesn't do anything. I was starting to doubt that the program was functional at all. Too bad, as this was my reason to get this device instead of the Salae.

Read More