Hello, me again !
I’d like to be able to use a physical controller plugged to a Pixelblaze+Sensor board to control a pattern dynamically, to drive for example a wireless wearable running the Pico.
I could build mine, but i’m wondering if i might be able to save time (and get something a bit more aesthetic) by buying an already made board with a bunch of buttons/potentiometers/sliders, and simply plug it to the inputs so i can concentrate on the code ?
Or maybe even better, being able to interface an actual simple controller, for example MIDI and interpret it with PB code ?
Maybe someone has experience with this ?
Thank you !
This is a great idea, but I don’t think anyone’s built anything ready-made like this yet.
The MIDI bridge sounds like a bit more work since we don’t have the instruction set necessary to decode MiDI directly in PB code. I know “CV” (control voltage, unipolar 0-5V) is popular in analog synths and Eurorack, and that some advanced MIDI controllers like the MPC X can output CV. This would mean just attaching a CV output directly to ADC pins (use a voltage divider to respect the 3.3V max on some pins).
Another option someone could make would be a nice set of physical controls for the 5 ADC pins on the output expander (toggle/trigger/potentiometer). This is convenient because the relevant pins are all on one header, whereas the IO pins on a standard PB are spread across the bottom solder pads.
If you embark on either yourself, have a look at the new GPIO docs.
Hi @hololit ,
This is a good idea, and I think one could use “plug and play” USB MIDI controllers with this board as an intermediary: Overview | Adafruit Feather RP2040 with USB Type A Host | Adafruit Learning System
Here’s one way, with the warning that this is all theoretical until it’s actually working.
It looks like there are UART pins exposed on the feather, so use its USB- type A plug as a generic USB-MIDI host to receive data from the USB MIDI controller.
Then, do some simple math to normalize the incoming MIDI values to PB-standard 0…1 floating point values, and send those values out of the UART disguised as PB sensor board data.
This way, the existing sample programs for the sensor board will also work with the midi controller. You’re essentially fooling the PB into thinking a sensor board is connected. So you could also hijack the accelerometer, microphone, light sensor, and all the other data channels that the sensor board sends out.
I think you should also be able to daisy-chain the sensor board to the feather, read whichever data you want from the sensor board, and hijack the remaining data channels for MIDI control.
Probably not what the OP wants, but I’ve been able to do something somewhat similar using midi controllers plugged into a raspberry pi.