-
Notifications
You must be signed in to change notification settings - Fork 4
Hardware Blog
Added experimental and as yet untested support for the Pimoroni VGA Demo Base board. Due to limited I/O flexibility on this board this build currently only supports MIDI-in and audio out. No DAC, debug console, no LCD no LED.
Wired a 10k pot to the RP2040's ADC0 input to facilitate future data entry. Unfortunately the DAC uses all the ADC input pins for its I2S and master clock interface. Not a problem in the current breadboard configuration, MCLK was just reassigned to a nearby GPIO pin (GPIO21), but use of ADC0 does block going back to using the DAC in the piggy back configuration.
Implemented the 16x2 LCD display on the breadboard. The software has also been updated to drive this LCD display.
Implemented the 7-segment LED program number display on the breadboard. Initial plan was to use 2 8-bit D-type registers and piggy back of the 8-bit data bus used for the LCD display. After some thought a 16-bit shift register implementation seemed easier to layout and build and would require the same number of I/O pins on the Pico. See the updated schematic. The software has also been updated to drive this LED display.
Updated schematic with some planned extensions.
H11L1 opt-coupler works just fine requiring just a 220 Ω resistor and a diode.
Have added a schematic captured with KiCad.
Thought I should do the right thing and replace the op-amp lash up implmenting MIDI-in with an opto-coupler. Had assumed that at a baud rate of 31.25 KHz any part would do and purchased some PC817s as they were widely available and very cheap. I was wrong! Seems that when used with minimal external components (my preference) these are just not fast enough. Subsequently checked the data sheet which reported some surprisingly low bandwidth and corresponding switching times :-(
Have now ordered an H11L1M, which is a faster opt-coupler with a schmitt trigger and logic level output. The data sheet reports data rates up to 1 MHz are supported.
Obtained some PreSonus Eris Series 3.5 active studio monitors (£79) to replace the extremely cheap speakers that came with the DAC module. Wow, jaw dropping! Despite their low cost, what a massive improvement they make. Was previously thinking of trying a different DAC module with higher S/N but now not so sure that would make any discernible difference. With these monitors the picoX7 really sings!
The old speakers might be useful "cannon fodder" when I make drastic changes to the sound engine.
The sound doesn't seem quite "bright" enough. Starting to suspect the quality of the small speakers included with the DAC module. Or maybe the amplifier driving them. Will think about measuring the frequency response with a sine wave sweep. TBH the I2S DAC module, which includes both an on-board amplifier and the pair of speakers, only cost £14. I should not be expecting studio quality!
Audio out was looking much more noisy on the scope after moving everything to the breadboard. Wondered if it was a grounding issue. The DAC module was previously mounted directly under the Pico and was able to connect to all the Pico's GND pins. Now it just has a single GND connection. Tried wiring up a couple more GND pins near the pins used for the I2S interface and the noise was greatly reduced. Specifically pins 28 and 33 on the Pico were connected to the corresponding pins on the DAC module. Obviously mounting the Pico back on top of the DAC module would likely be even better!
A breadboard friendly 5-pin DIN socket, two rows of headers and a slightly nicer rail-2-rail op-amp arrived in the post today. This allowed reworking the whole circuit on a breadboard. Previously the circuit was half on the breadboard, half hanging wires. Should invest in an opto-isolator at some point.