I've finished another controller using the great V-USB from Obdev. This version has 16 pushbuttons, 1 switch, 1 light sensor, 4 pots and 1 slider. Just like the previous redKontroll it shows up like a standard HID devices and I have coded some simple MaxMSP patches and SuperCollider classes to parse the data.
Of the 16 buttons, 12 are arranged as a full octave on a piano (black&grey instead of white&black), divided into 2 groups (cde/fgab). The remaining 4 as additional buttons on top of each group to form small pyramids. All this to later make it easier to remember what functions I assigned to which button.
Schematics, firmware, partslist and helper classes are available here.
The total cost is about €45 and the major part of that is the buttons and the pots (see partslist).