Simple DIY Electronic Music Projects<p><strong>Forbidden Planet “Krell” Display EuroRack Module</strong></p><p>This project uses my <a href="https://diyelectromusic.com/2025/01/25/forbidden-planet-krell-display/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display</a> and the <a href="https://diyelectromusic.com/2025/03/30/forbidden-planet-krell-display-pcb-design/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display PCB Design</a> but with some slight variations that means it could be EuroRack mounted with a control voltage (CV) input.</p><p><strong><em>This is a DIY module only for use in my own DIY system.</em></strong></p><p><strong>Do NOT use this alongside expensive modules in an expensive rack. It is highly likely to cause problems with your power supply and could even damage your other modules.</strong></p><p><a href="https://makertube.net/w/qJqgTxxsEznTuF2DRVZT9o" rel="nofollow noopener noreferrer" target="_blank">https://makertube.net/w/qJqgTxxsEznTuF2DRVZT9o</a></p><p><em><strong>Warning!</strong> I strongly recommend using old or second hand equipment for your experiments. I am not responsible for any damage to expensive instruments!</em></p><p>If you are new to microcontrollers, see the <a href="https://diyelectromusic.wordpress.com/getting-started/" rel="nofollow noopener noreferrer" target="_blank">Getting Started</a> pages.</p><p><strong>Parts list</strong></p><ul><li>3D Printed EuroRack format Krell Display unit.</li><li>Waveshare Zero format board – <a href="https://diyelectromusic.com/2025/02/17/waveshare-zero-pimoroni-tiny-and-neopixels/" rel="nofollow noopener noreferrer" target="_blank">details here</a>.</li><li><a href="https://diyelectromusic.com/2025/03/30/forbidden-planet-krell-display-pcb-design/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display PCB</a> built for EuroRack use (see below).</li><li>Additional companion EuroRack power PCB (see below).</li></ul><p><strong>EuroRack 3D Print Design</strong></p><p>This is an evolution of my original <a href="https://diyelectromusic.com/2025/01/25/forbidden-planet-krell-display/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display</a> box, but fitting into EuroRack dimensions: 128.5 x 60, which essentially makes it a 12 HP module.</p><p>It still takes the same inserts however, but now also includes options for holes for jack sockets or potentiometers:</p><pre>show_eurorack = 1;<br>show_eurorack_support = 1;<br><br>alg_pot1 = 1;<br>alg_pot2 = 1;<br>alg_cv = 0;</pre><p>I’ve also included a special “supports” option for use with the PCB and the EuroRack case.</p><p><strong>Krell Display PCB – EuroRack Build</strong></p><p>To build one of my <a href="https://diyelectromusic.com/2025/03/30/forbidden-planet-krell-display-pcb-design/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display PCB Design</a>s for use with a EuroRack, follow the previous <a href="https://diyelectromusic.com/2025/03/30/forbidden-planet-krell-display-pcb-build-guide/" rel="nofollow noopener noreferrer" target="_blank">Build Guide</a> but note the following differences:</p><ul><li>The MIDI circuits are not required when used as a CV input device.</li><li>The lower potentiometer should be replaced with a CV input circuit.</li><li>The upper potentiometer is optional, but I’m omitting it for my build.</li><li>Power will come via the 5V jumper headers from an additional EuroRack power PCB (details below).</li><li>Low-profile (e.g. 9mm high in total) headers should be used for the Waveshare Zero, but once again note the errata about the footprint on the PCB being too wide.</li></ul><p>Here are some build photos of a build for EuroRack use. For this build there are only two diodes (the two BAT43) and two resistors (22K and 33K). Also note that none of the 100nF ceramic capacitors are required either.</p><p>Both electrolytic capacitors have been soldered into position on their sides as show below.</p><p>The Thonkiconn style mono jack shares the footprint are of the lower potentiometer on the LED side of the board, but be sure to get use the correct mounting holes as shown by the orientation below.</p><p>Nothing has been soldered to the power jumper yet. See the discussion below for how to link this to the power board.</p><p><strong>Krell Display Companion EuroRack Power PCB</strong></p><p>Bill of Materials:</p><ul><li>Waveshare Zero “Krell” Display EuroRack power PCB (Github Link below).</li><li>L7805 TO-220 format regulator or equivalent (see discussion below).</li><li>1x 16-way DIP EuroRack shrouded header.</li><li>1x 1N5017 Zener diode.</li><li>2x 47uF electrolytic capacitors.</li><li>1x 100nF ceramic capacitor.</li><li>2-way Jumper header socket and pins (probably need extended pins – see discussion).</li></ul><p>I’ve opted to use a DC-DC converter with a 7805 physical footprint as shown below.</p><p>If a 7805 regulator is used then a heatsink will almost certainly be required. I’ve oriented the regular to allow for a “tab up” mounting which hopefully leaves plenty of room for some kind of heatsink to be used.</p><p>Here are some build photos.</p><p>There is an option on the PCB to install a 10R resistor as is sometimes recommended for EuroRack modules. From what I’ve read this seems to be to allow it to act as a “fuse” in the case of an incorrectly wired module. As I’ve discussed before (<a href="https://diyelectromusic.com/2025/02/22/minidexed-eurorack-pcb-design/" rel="nofollow noopener noreferrer" target="_blank">see here</a>) I’m not sure this is so relevant for me, so I’m using the provided solder bypass bridge to leave it out.</p><p>Note the orientation of the DC-DC converter.</p><p>I’ve used extended pin headers for the power link between the two boards, but due to an error in positioning, they’ve had to be bent over slightly – more on that later.</p><p><strong>Physical Build</strong></p><p>A completed unit has the following parts:</p><ul><li>3D printed case, PCB supports, and two “krell” inserts.</li><li>Main PCB built for EuroRack use as described above.</li><li>Power PCB as described above.</li><li>M2.5 spacers and fixings as follows:<ul><li>4x 6mm M2.5 brass fixings.</li><li>4x 15mm M2.5 nylon fixings.</li><li>4x M2.5 nylon screws.</li></ul></li></ul><p>The power link between the two PCBs has to be trimmed and slightly bent as shown below.</p><p>Once the whole thing is put together, there isn’t room, at least on my build, for the nut to be put on the jack socket. Also, the 6mm and 15mm spacers might be slightly too short, depending on how far off the PCBs the LEDs ended up. Some experimentation and “encouragement” is probably required to get everything together.</p><p><strong>The Code</strong></p><p>The code is relatively straight forward, and is largely a mix of the analog and neopixel test code from the <a href="https://diyelectromusic.com/2025/03/30/forbidden-planet-krell-display-pcb-build-guide/" rel="nofollow noopener noreferrer" target="_blank">Forbidden Planet “Krell” Display PCB Build Guide</a>.</p><p>One quirk is scaling the analog read from 0..65535 to a useful 0-10 to allow for zero to 10 leds to light up. I’ve allowed for a range of values to be “basically zero” too to allow for some jitter or noise.</p><p>As I only write out to the neopixels when something changes, this code seems to be quite responsive.</p><p>This requires the following Adafruit Circuitpython Library Bundle libraries:</p><ul><li>neopixel.mpy</li><li>adafruit_pioasm.mpy</li><li>adafruit_pixelbuf.mpy</li></ul><p>In fact, the entire Circuitpython code is given below.</p><pre>import time<br>import board<br>import neopixel<br>from analogio import AnalogIn<br><br>cv_in = AnalogIn(board.A3)<br><br>pixel_pin1 = board.GP2<br>pixel_pin2 = board.GP3<br>num_pixels = 5<br><br>pixels1 = neopixel.NeoPixel(pixel_pin1, num_pixels, brightness=0.3, auto_write=False, pixel_order=neopixel.RGB)<br>pixels2 = neopixel.NeoPixel(pixel_pin2, num_pixels, brightness=0.3, auto_write=False, pixel_order=neopixel.RGB)<br><br>col = (80, 35, 0)<br><br>lastcv = -1<br>while True:<br> cv = cv_in.value / 256<br><br> if (lastcv != cv):<br> lastcv = cv<br> led = cv / 25<br> for pix in range(5):<br> if (pix < led and cv > 5):<br> pixels1[pix] = col<br> else:<br> pixels1[pix] = 0<br> <br> if (pix+5 < led and cv > 5):<br> pixels2[pix] = col<br> else:<br> pixels2[pix] = 0<br> <br> pixels1.show()<br> pixels2.show()</pre><p><strong>GiHub Resources</strong></p><p>There is now an updated version of the OpenSCAD code for the case on GitHub and the PCB and code are also now available.</p><ul><li>OpenSCAD code and STL models: <a href="https://github.com/diyelectromusic/sdemp_3dprints/tree/main/KrellDisplay" rel="nofollow noopener noreferrer" target="_blank">https://github.com/diyelectromusic/sdemp_3dprints/tree/main/KrellDisplay</a></li><li>PCB: <a href="https://github.com/diyelectromusic/sdemp_pcbs/tree/main/WaveshareZeroKrellDisplay" rel="nofollow noopener noreferrer" target="_blank">https://github.com/diyelectromusic/sdemp_pcbs/tree/main/WaveshareZeroKrellDisplay</a></li><li>Code: <a href="https://github.com/diyelectromusic/sdemp/blob/main/src/SDEMP/CircuitPython/KrellEuroRackDisplay.py" rel="nofollow noopener noreferrer" target="_blank">https://github.com/diyelectromusic/sdemp/blob/main/src/SDEMP/CircuitPython/KrellEuroRackDisplay.py</a></li></ul><p><strong>Closing Thoughts</strong></p><p>This isn’t a perfect build in mechanical terms, but I’m not sure I ever do anything perfectly anyway, especially where mechanical things are concerned, but the final result is pretty pleasing.</p><p>The video shows it running with a Pimoroni RP2040 in the driving seat. First a potentiometer provides a 0 to 5V input, then I’m using my <a href="https://diyelectromusic.com/2024/05/07/educational-diy-synth-thing/" rel="nofollow noopener noreferrer" target="_blank">Educational DIY Synth Thing</a>‘s LFO to provide a 0 to 3V3 input.</p><p>Kevin</p><p><a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/circuitpython/" target="_blank">#circuitpython</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/eurorack/" target="_blank">#EuroRack</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/krell/" target="_blank">#Krell</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/neopixel/" target="_blank">#NeoPixel</a> <a rel="nofollow noopener noreferrer" class="hashtag u-tag u-category" href="https://diyelectromusic.com/tag/potentiometer/" target="_blank">#potentiometer</a></p>