Hardware PulseAudio Mixer (HAPX)

Project status: pre-alpha



  • USB connection to PC (bus powered)
  • 3 volume controls (2 channels + master, should be extensible though)
  • LCD display for channel selection display
  • Push buttons for channel selection and mute
  • LED bars to display per-channel signal levels

Prototype schematics


Source code

The source code is available at GitHub under MIT license.

Protocol design

The following messages are needed for communication:

MessageTech detailsBits (octets) on wireSender
channel namechannel (1/2) + name (max 63 chars)0CLLLLLL followed by ASCII string (L = length)host
signal level3 × 4 bits (2 bytes)1000AAAA BBBBCCCChost
volume changechannel (1/2/M) + level (10 bits)0000CCLL LLLLLLLLdevice
mutechannel (1/2/M) + mute (on/off)01000CCMdevice
channel changechannel (1/2)1000000Cdevice

Most of the time, the only messages sent to the device are signal level updates, which are 16 bits long, so one can achieve 7.2 kHz updates even with a 115,200 bps serial line.

Channel mapping


Contributors to this page: dnet .
Page last modified on Friday 24 of December, 2010 00:04:37 CET by dnet.

Upcoming Events

No records to display