2 ms·
Really excellent work on this. I also like the RP2040 (even with the ADC issues; you can always use an IC if it's really an issue) but regardless of what mcu y
by peteforde 3y ago
Really excellent work on this.
I also like the RP2040 (even with the ADC issues; you can always use an IC if it's really an issue) but regardless of what mcu you're using, one thing I strongly recommend as you progress in your PCB design journey is that you skip the off-the-shelf board and implement your own mcu on the same board as the rest of your components.
The amount you'll learn and the flexibility you'll gain from not having to think about the limitations of commercial boards is dramatic. At the end of the day, all I need to get an RP2040 working is an LDO, some flash memory, a 12Mhz crystal and some decoupling capacitors. I recommend looking at the PCB designs that Adafruit publishes for inspiration, eg. https://learn.adafruit.com/adafruit-qt-py-2040/downloads https://learn.adafruit.com/adafruit-qt-py-2040/downloads
For me, there's a very real liberation in not having to worry if I can get enough mcu boards in time.
I am genuinely intrigued by the 14bit CC scheme you mentioned. I accept at face value that 128 steps might not be enough when you have such a smooth pot to work with, even though I admit that it's always felt fine to me. I might just be a hack musician. :)
That said, I really wonder if and how it can be as simple as sending two values in rapid succession. MIDI messages can and do get lost or dropped due to congestion. So, how does it know which one comes first or second? Or are they sent on different CC numbers? Is there some kind of shadow spec which defines this, in terms of timeouts etc?
One thing that you'll find when you move to a PCB is that the connections will be much better, and the amount of noise and oscillating values will drop significantly. I've tried to implement "dead zone" schemes for projects in the past as you describe; I found that the longer I used the device, the closer I'd get to a 100% chance of a false positive, even at values which seem impossible. So I'd bump up the gate value and suddenly it takes a lot more movement than I'd planned on day one before the values start to move.
You can lose a lot of time chasing your tail on things like that.
Doing this stuff will really make you gain respect for the hours people spent designing devices like the OP-1, with its knobs and buttons that never bounce and only feel bounded by your manual dexterity.