Driving AMBX led device from Python

Back when Philips still made PC hardware, there was the AMBX:

These devices are pretty neat, and cheap if you can find them second hand, as people are dumping them due to lack of Windows 7 support. I couldn't care less about that, and found a second hand AMBX kit for just €20 (originally they cost something like €100). The specs are:

  • One RGB led in the left tower
  • Three RGB leds in the 'wall washer' (the middle part)
  • One RGB led in the right tower

All in nicely designed (IMO) casings. Each of the leds can be driven independently, so various kinds of effects are possible. AMBX does not provide Linux drivers for their led devices, but luckily there is combustd, whose developers have reverse engineered the (USB) wire protocol, and wrote a Ruby based driver. This driver can be used with Boblight to create an Ambilight-like experience (Dutch link).

As I prefer Python to Ruby, and want to use it on a memory-limited system without Ruby installed, I've made a Python port of combustd: ambx-python. Later I found out that a Python binding already exists named plugin-ambx, which is a C library with Python bindings; my implementation is simpler and written in pure Python. Both have their advantages, with mine being somewhat easier to port.

Written on June 25, 2010
Filed under