tag:blogger.com,1999:blog-39150624621280653842024-02-18T06:05:28.550+01:00Robot DialogsmARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.comBlogger54125tag:blogger.com,1999:blog-3915062462128065384.post-85393422368952331442023-03-04T22:56:00.002+01:002023-03-06T18:11:26.009+01:00Test Fixture and Calibration - Eurorack MIDI to 16x16 CV Gate Module<p>This design, along with its firmware and scripts were made so that the CVs of the <a href="https://www.robotdialogs.com/2022/09/eurorack-midi-to-16x16-cv-gate-module.html" target="_blank">Eurorack MIDI to 16x16 CV Gate Module</a> (MIDI_16Gx16CV) could be calibrated and the other functions tested. That module is difficult to validate after assembly and had some teething issues that I wasn't able to figure out without a way to measure all of the CVs across a wide range of outputs. I tried to make measurements of the module manually on the first few I made but the results weren't amazing.</p><p>The initial intent was for the main board of the MIDI_16Gx16CV to plug directly into the test fixture. The test fixture has connector sockets aligned with the main board. Unfortunately I made a classic mistake mirroring the design so I had to create some cables to connect the test fixture to the DUTs. In the end that worked out okay, I'm not sure it would have worked if the headers had been correct (for other reasons). </p><p>The test fixture uses an Arduino Pro Mini. To get enough I/O to read the gates and CVs of the DUT, the fixture uses a MCP23018 a 16 pin I/O expander and two MCP3208 ADCs. The I/O expander is connected to SPI and the ADCs are connected to I2C. </p><p>The fixture has 3 LEDs which I've assembled with different colors these could be used for a various statuses.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK9_w9qv7EOUfpsDGUsEamjgR26bjA7Oux3M_V0wfnY-LgzkCd34vifBKPk_tMaHcPhyIDU8jqwG0_1xesYM11q67Gf0Tw0H303AzYw0WWa4DXFzZwfp5DkhcIB6uEweG8hn9KYKaDAeelay_sE6AsDJxaF0kWVcjDbs3hLpcuY_SEUr18lUsGp3IO/s1000/PXL_20230304_211916490.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="667" data-original-width="1000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgK9_w9qv7EOUfpsDGUsEamjgR26bjA7Oux3M_V0wfnY-LgzkCd34vifBKPk_tMaHcPhyIDU8jqwG0_1xesYM11q67Gf0Tw0H303AzYw0WWa4DXFzZwfp5DkhcIB6uEweG8hn9KYKaDAeelay_sE6AsDJxaF0kWVcjDbs3hLpcuY_SEUr18lUsGp3IO/s320/PXL_20230304_211916490.jpg" width="320" /></a></div><p>After assembling the test fixture I found that the ADCs were in need of calibration. The LM4040 voltage reference for the ADCs was disappointing. I think the LM7805 provides a more accurate and stable 5V. With either voltage reference, the ADCs need to be calibrated to get the measurement accuracy needed in the DUTs so the first step in using them was to get voltage readings from 0-10V in 0.5V steps, read the ADCs several times and average the readings. At that point I decided that trying to create a self-contained auto-calibration test fixture wasn't going to happen. I settled on recording the test fixture's calibration values and applying them in the scripts used to measure and calibrate the DUTs. This choice has (for now) kept the test fixture firmware fairly simple. </p><p>The test fixture firmware accepts command strings via the serial port normally used for uploading firmware updates. The commands can trigger the test fixture to read the digital or analog inputs and they can send MIDI commands to the DUT.</p><p>The rest of the calibration is managed by some python scripts.</p><p>To test/calibrate a DUT the general steps are:</p><p></p><ol style="text-align: left;"><li>Connect the DUT (all 3 cables, one for each header), plug in a USB serial adapter to the test fixture's Arduino.</li><li>Run the test_dut_cv.py script to activate every midi note on the the DUT and measure the CVs with the test fixture.</li><li>Use convert_dut_cv_to_cal_table.py to convert the output of test_dut_cv.py and get the DAC_CAL_VALS table (<a href="https://github.com/EchelonForce/midi_cv_gate_firmware/blob/main/midi_cv_gate/dac_cal_vals.h#L19" target="_blank">see DUT firmware</a>).</li><li>Reprogram the DUT with the DAC_CAL_VALS table.</li><li>Run the test_dut_cv.py again and then useconvert_dut_cv_to_cal_table.py to validate the result.</li></ol><p></p><p>An uncalibrated DUT's CVs look something like this before calibration:</p><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBfIk-g-PvQTWs7bcmuQOpRBjJU9OthcRHesXSI-vKFoR_D9xk4DAwmfDtbCPQ2NodWQo9gyUzm2XMQXfcy0czD35AEfBca-AmPvz5djBEMEGW246r0PT6TR_PWT6RTL8CKxkR7GvqcVwSW34I-1wgi7J1jQfQd31Gau5Vg7786zaUlB9iUEY7ugL/s640/Figure_1.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoBfIk-g-PvQTWs7bcmuQOpRBjJU9OthcRHesXSI-vKFoR_D9xk4DAwmfDtbCPQ2NodWQo9gyUzm2XMQXfcy0czD35AEfBca-AmPvz5djBEMEGW246r0PT6TR_PWT6RTL8CKxkR7GvqcVwSW34I-1wgi7J1jQfQd31Gau5Vg7786zaUlB9iUEY7ugL/s320/Figure_1.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">Before Calibration</td></tr></tbody></table>That's not a particularly useful way to see the need for calibration. Here's the same data but the CVs are subtracted from an ideal CV for each note.<div><br /></div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1-0L135lWrWZxJMGqpBU6dozfNWoSF3Ezg1BVzy9qS40pbhe6OGTqyroXj_q6NhC0_OHEZ8pLjC3LAXWXY5R7_I6ZbS6Dl3cs69UFBFefUShnEKhcq16hm3a7nb5leLxAwSOeqnYOMIE41aT40OoM8gjCsvg9Y2xIFrE6dlHzYVQdxROmQoSaOS8/s640/Figure_3.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhS1-0L135lWrWZxJMGqpBU6dozfNWoSF3Ezg1BVzy9qS40pbhe6OGTqyroXj_q6NhC0_OHEZ8pLjC3LAXWXY5R7_I6ZbS6Dl3cs69UFBFefUShnEKhcq16hm3a7nb5leLxAwSOeqnYOMIE41aT40OoM8gjCsvg9Y2xIFrE6dlHzYVQdxROmQoSaOS8/s320/Figure_3.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td class="tr-caption" style="text-align: center;">Before Calibration</td></tr></tbody></table><br /><span style="text-align: left;"></span></td></tr></tbody></table>Clearly the CV drifts away from the ideal value, in this case the default <a href="https://github.com/EchelonForce/midi_cv_gate_firmware/blob/main/midi_cv_gate/shared.ino#L217" target="_blank">CAL_FACTOR</a> is a little off but there's a fair bit of variation in the output that isn't caused by that as well. The spike at the end of the range is because the DUT's CVs can't go above the voltage rail on the DUT so the error is a lot bigger there. Another way to see the need for calibration is to look at the difference between the CV and the average. <br /><div><br /></div><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwB5EXZA6h2Du8nJ5qwKOj0ENmycMEa0xqpnUmUNvbHYzBb4SRXmuJ08fAihRkKeNosZnci3KxuY6VeCiWfPJRcFqWMkoAPon0n79P08ZP33cTCGSS7gcEj619vJSOUG6D8H0T8JyHvJ0-JODOo70WXZAq7cKn7SgXGGeuQKHKGmcNhK38QkFIB9D1/s640/Figure_2.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwB5EXZA6h2Du8nJ5qwKOj0ENmycMEa0xqpnUmUNvbHYzBb4SRXmuJ08fAihRkKeNosZnci3KxuY6VeCiWfPJRcFqWMkoAPon0n79P08ZP33cTCGSS7gcEj619vJSOUG6D8H0T8JyHvJ0-JODOo70WXZAq7cKn7SgXGGeuQKHKGmcNhK38QkFIB9D1/s320/Figure_2.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;"><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td class="tr-caption" style="text-align: center;">Before Calibration</td></tr></tbody></table><br /><span style="text-align: left;"></span></td></tr></tbody></table>So that DUT's CVs varied -20mV and +30mV over the whole range of MIDI notes sent. </div><div>Here's what the same plots look like after calibration.</div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFZBf8NU0Z540b70vya6g7kq_C80cjzZ1PRMjwsthEamU8sylXNBKI0XDtC511O8vhY6SrJ9HFPznvNu0R9TtezNgUUbhtMb-4z1aZds1yLNVp6ojMf7g6GGZPkRndZaQ011RupnRGxnuAK05AUUrSdxvKUN-4EZ-o2yUyESGTkz4y6aXHbFqEPd8/s640/Figure_1_post_cal.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXFZBf8NU0Z540b70vya6g7kq_C80cjzZ1PRMjwsthEamU8sylXNBKI0XDtC511O8vhY6SrJ9HFPznvNu0R9TtezNgUUbhtMb-4z1aZds1yLNVp6ojMf7g6GGZPkRndZaQ011RupnRGxnuAK05AUUrSdxvKUN-4EZ-o2yUyESGTkz4y6aXHbFqEPd8/s320/Figure_1_post_cal.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">After Calibration</td></tr></tbody></table><br /><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMeKvLU41CntcySkxY9cOWjz1JtyQfzSvbJLq2ul9UAsacJkx8q0i4PjHwBDIzFMxz5-m39GDEX9za_Llqmn5ESWZaj832_Z_kBNYsbs3DGDiquaCRthp0eWwjWcRFiaRR8BdOSmmBN98Upa4SxfJILvJ64YahanwaZ0n_fZB6aINSeEMiFvif4iu/s640/Figure_3_post_cal.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpMeKvLU41CntcySkxY9cOWjz1JtyQfzSvbJLq2ul9UAsacJkx8q0i4PjHwBDIzFMxz5-m39GDEX9za_Llqmn5ESWZaj832_Z_kBNYsbs3DGDiquaCRthp0eWwjWcRFiaRR8BdOSmmBN98Upa4SxfJILvJ64YahanwaZ0n_fZB6aINSeEMiFvif4iu/s320/Figure_3_post_cal.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">After Calibration<br /></td></tr></tbody></table><br /><div><table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto;"><tbody><tr><td style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUap4Yl5rAiUC19wnyEnvB75kz2TyHA1g8wovdMHy0hIQk4whsGYEtQ_s5kVTbIS3zrma-_G4T9KGZjeAQrWv9Aj9RiUu6qrXsryDf-0GF1YnkRpwUY2U6N_YFUWxYJyK9y5HYhxc9R5VxanwhJrI1T5fFm-IUsijNnPOJR_XJAKYgGtxEWEmr94Rp/s640/Figure_2_post_cal.png" style="margin-left: auto; margin-right: auto;"><img border="0" data-original-height="480" data-original-width="640" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUap4Yl5rAiUC19wnyEnvB75kz2TyHA1g8wovdMHy0hIQk4whsGYEtQ_s5kVTbIS3zrma-_G4T9KGZjeAQrWv9Aj9RiUu6qrXsryDf-0GF1YnkRpwUY2U6N_YFUWxYJyK9y5HYhxc9R5VxanwhJrI1T5fFm-IUsijNnPOJR_XJAKYgGtxEWEmr94Rp/s320/Figure_2_post_cal.png" width="320" /></a></td></tr><tr><td class="tr-caption" style="text-align: center;">After Calibration<br /></td></tr></tbody></table><br /></div><div>That's a huge improvement. The uncalibrated variance of 50mV total is very noticeably out of tune on high pitch notes. The calibrated variance remains less than 5mV over almost the whole range. I think that could be improved further by re-calibrating the test fixture. The calibration I'm using up to this point was with a multimeter that only had 10mV precision above 6V, I have a better bench multimeter I can use now to recalibrate when I find the time.</div><div><br /></div><div>Because I only needed one it's unlikely I'll make more of these as test fixtures. It would be possible to convert this into a useful Eurorack module that can read gates and CVs so here's what I'd change if I made a new version.</div><div> </div><div>Issues on v1:</div><div><ul><li>The 20pin headers are on the wrong side to use directly with the DUT. Fixing that would make it a lot simpler to use but it would need a completely new PCB layout.</li><li>Figure out a replacement or simplify the 5V reference for the ADCs. The LM4040 wasn't very good. The LM7805 is probably fine.</li><li>To get the test fixtures serial port to work at the same time as the MIDI output to the DUT a rework needs to be done. Here's a <a href="https://raw.githubusercontent.com/EchelonForce/midi_cv_gate_test_fixture/main/Rework%20for%20Software%20Serial.png" target="_blank">redline of the schematic for that</a>.</li><li>R100-R115 need to be 11kΩ to keep a 10V input in the range of the ADC. Noted in BOM not on schematic.</li><li>Could probably switch to SMD i/o expander and ADCs if available. I designed for DIP versions because other packages were difficult to find.</li></ul><div><br /></div><div><div>Design Files: <a href="https://github.com/EchelonForce/midi_cv_gate_test_fixture" target="_blank">midi_cv_gate_test_fixture</a></div><div>Schematic: <a href="https://github.com/EchelonForce/midi_cv_gate_test_fixture/raw/main/midi_cv_gate_v1_test_v1_schematic.pdf" target="_blank">midi_cv_gate_v1_test_v1_schematic.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/14sQ-3YGaIBYWFbcs8J2erNIlMNjNusH7__43CfRSzOI/edit?usp=sharing" target="_blank">Google Doc</a> (there are two sheets!)</div></div><div>Firmware: <a href="https://github.com/EchelonForce/midi_cv_gate_test_fixture_firmware" target="_blank">midi_cv_gate_test_fixture_firmware</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div></div></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-45368378260884163272023-03-04T20:59:00.001+01:002023-03-04T20:59:40.780+01:00Eurorack Envelope Generator ADSR AS3310 v1 and v1.1<p>Here's an 8HP envelope generator based on the AS3310 chip. It's very similar to the <a href="https://www.robotdialogs.com/2022/07/eurorack-polyphonic-envelope-generator.html" target="_blank">Polyphonic/Quad ADSR EG Module</a>, because that was the starting point. I found myself needing additional ADSRs and that was the easy way to make one.</p><p>To fit in 8 HP the circuit is split onto to PCBs. As with all of my designs, the signals in/out are 0-10V.</p><p>The trigger input and switch is a new input on this (compared to the Quad ASDR). It appears to work; however, I haven't focused on testing it.</p><p>Version one of the PCB had the out/release pins reversed on a header so the images below show rework for that. I had to rework and reorder another design so I quickly made a v1.1 for this at the same time and that corrects this issue.</p><p>v1.0 PCBs in these photos require rework, but v1.1 is otherwise identical.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK1AMiS7h-47fPx2j7gMJEatE-X2X1SmRMMx5kGbS0wSCnYHuVvt18tH097cnlxJKWJ7Cuf1DtQ68G4p6Y4ER7ejGtUzRU3MjkfH2nloSUxNomsSthm4bGnvVVzCVkBs1MTtcTEB5qkjFPsZGNuwmpFDi_9KHGi_q7tfPT7Vrg3ptdncSVvrEwh4Is/s4000/IMG_0671.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1332" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK1AMiS7h-47fPx2j7gMJEatE-X2X1SmRMMx5kGbS0wSCnYHuVvt18tH097cnlxJKWJ7Cuf1DtQ68G4p6Y4ER7ejGtUzRU3MjkfH2nloSUxNomsSthm4bGnvVVzCVkBs1MTtcTEB5qkjFPsZGNuwmpFDi_9KHGi_q7tfPT7Vrg3ptdncSVvrEwh4Is/s320/IMG_0671.jpg" width="107" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgveWtF_GtUVitNgDVAoNsN0Q8vXU8zb26lKGHZGf7LGTqjYQnS_U_tYuVf4ILH9iia8dXfi6YUo_pVJdilFeA1_h__FMWXOg3V0X9isS_9XnfqDvVG2fDEzOqUmEZNYITauUQN28Awkhu7iF7JWOCDxZYNGI12hRF2rkF-1WlcARWxdGt-jk0_NLIa/s4000/IMG_0674.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1403" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgveWtF_GtUVitNgDVAoNsN0Q8vXU8zb26lKGHZGf7LGTqjYQnS_U_tYuVf4ILH9iia8dXfi6YUo_pVJdilFeA1_h__FMWXOg3V0X9isS_9XnfqDvVG2fDEzOqUmEZNYITauUQN28Awkhu7iF7JWOCDxZYNGI12hRF2rkF-1WlcARWxdGt-jk0_NLIa/s320/IMG_0674.jpg" width="112" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDLhwdMKV2GSTHpJn4LjOnNf3_laE_W2cvU7xGI03fDPQuuzGXVAKaHpUQxjJqroLOppn5WTx8HZ4RqJIBGTK0xbbKnnw2fQ2qKfdLibBPYZq7YfV6IReFPsbkF8LtKa-6XtCdTtssaj6Bq6qPGk_cR9TWQv_wT5i_a3qu1YfYTr-_em6bGbahgSV4/s4000/IMG_0676.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2661" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDLhwdMKV2GSTHpJn4LjOnNf3_laE_W2cvU7xGI03fDPQuuzGXVAKaHpUQxjJqroLOppn5WTx8HZ4RqJIBGTK0xbbKnnw2fQ2qKfdLibBPYZq7YfV6IReFPsbkF8LtKa-6XtCdTtssaj6Bq6qPGk_cR9TWQv_wT5i_a3qu1YfYTr-_em6bGbahgSV4/s320/IMG_0676.jpg" width="213" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqyO6LtKrwpW7feM3J7qAs2DovLa_zdmD5K7R8Ahb9DaZufLRvRqwvpYB4LVVFg--JjqMVeb54SCnxqi8VLvZKUTNG8uXnxYHt-8T3GyW0ZlO9jo3kZc8NwHdKh0G4O_ggZEw96awfRHsGsyNCbI79NMKgBnIJeNTJinLVDoBzNSRtE8bIKd4CQIND/s3682/IMG_0686.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3682" data-original-width="1608" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqyO6LtKrwpW7feM3J7qAs2DovLa_zdmD5K7R8Ahb9DaZufLRvRqwvpYB4LVVFg--JjqMVeb54SCnxqi8VLvZKUTNG8uXnxYHt-8T3GyW0ZlO9jo3kZc8NwHdKh0G4O_ggZEw96awfRHsGsyNCbI79NMKgBnIJeNTJinLVDoBzNSRtE8bIKd4CQIND/s320/IMG_0686.jpg" width="140" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVpb6-EdtO199f0MUkNX6bKj-v7xfPqkptrgvYTzH3Mx8ei0xHaEPYuGyKqdN-F5zcsUJ5SdTsYaA8vNcTB5CX_dSjNtxxIsHBFTPpiwSzvQQ-kl79KOGDTkr5rQcaNyO_QNearroKDw_LA3y5TLoBMrtDX7AAsS8Op119R_CvcrKxWRlmck6JmHKO/s3694/IMG_0688.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3694" data-original-width="1585" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVpb6-EdtO199f0MUkNX6bKj-v7xfPqkptrgvYTzH3Mx8ei0xHaEPYuGyKqdN-F5zcsUJ5SdTsYaA8vNcTB5CX_dSjNtxxIsHBFTPpiwSzvQQ-kl79KOGDTkr5rQcaNyO_QNearroKDw_LA3y5TLoBMrtDX7AAsS8Op119R_CvcrKxWRlmck6JmHKO/s320/IMG_0688.jpg" width="137" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBqWlKLk351X96BAcboK0LwrL7Me2KSkO8s60m14UfTB6qsGb119DKwW1rC7xFTCLn_WG1xhLMb-rmIeFneNhj5XRWBVBvfP4tcnmMBk1G1yteOKOALUAdmoPMqKlB5-s7Ez_CUewIggn2Npitf1vnewcnlC1VREPxHgqTCZ96duWxxXto7lIGlwdU/s3764/IMG_0689.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3764" data-original-width="1585" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBqWlKLk351X96BAcboK0LwrL7Me2KSkO8s60m14UfTB6qsGb119DKwW1rC7xFTCLn_WG1xhLMb-rmIeFneNhj5XRWBVBvfP4tcnmMBk1G1yteOKOALUAdmoPMqKlB5-s7Ez_CUewIggn2Npitf1vnewcnlC1VREPxHgqTCZ96duWxxXto7lIGlwdU/s320/IMG_0689.jpg" width="135" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7CE-M9zcoF0-Navq2MEGLABw5gyWdYTlB9Udkrp9dRL8ECh5YbgsBPGB5gpZvrCfzumfszZHb9vrHYpp010mcxzG3N0sBcq9L0BCfq8hnzTzPMSy6H8yP5ZxPL-sSz8atIPLdrSo2PGqfqYG3RZFZy_Wc4dX8MC2zsEVxuPbLryuQ31KuqQL14pA5/s3816/IMG_0690.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3816" data-original-width="1649" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7CE-M9zcoF0-Navq2MEGLABw5gyWdYTlB9Udkrp9dRL8ECh5YbgsBPGB5gpZvrCfzumfszZHb9vrHYpp010mcxzG3N0sBcq9L0BCfq8hnzTzPMSy6H8yP5ZxPL-sSz8atIPLdrSo2PGqfqYG3RZFZy_Wc4dX8MC2zsEVxuPbLryuQ31KuqQL14pA5/s320/IMG_0690.jpg" width="138" /></a></div><br /><div><br /></div><div><div>Module Width: 8 HP</div><div>+12V Current: 26mA</div><div>-12V Current: 26mA</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/envelope_generator_AS3310" target="_blank">envelope_generator_AS3310</a></div><div>Schematic: <a href="https://github.com/EchelonForce/envelope_generator_AS3310/blob/main/envelope_v1/envelope_generator_AS3310_v1.1.pdf" target="_blank">envelope_generator_AS3310_v1.1.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1D8vPl2qLqblSFaiBfO_ymXKjiQD3Zy8COjSOZ0BBf7E/edit?usp=sharing" target="_blank">envelope_generator_v1.1_bom</a></div></div><div><br /></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-52954842012052338912023-02-18T18:53:00.000+01:002023-02-18T18:53:19.460+01:00Eurorack VCO Module - AS3340 v2.1<p>The journey to a reliable VCO based on the AS3340 has taken a lot of testing and three board revisions. </p><p>The post about v1 and a bunch of the testing is <a href="https://www.robotdialogs.com/2022/09/eurorack-vco-module-as3340.html" target="_blank">here</a>.</p><p>Below are some lists of things I modified or completely changed on the PCB. If you're looking for a schematic jump to the bottom and use v2.1 so far it's passed all my tests.</p><p><b>Note v2.0 had mistakes and v1.0 isn't worth using.</b></p><p>On the first version I noted several changes to make:</p><p>Schematic Changes v1 to v2:</p><p></p><ul style="text-align: left;"><li>Change R10 to 47kΩ</li><li>Change R9 to 0Ω</li><li>New C1 100pF across R10 and R9</li><li>New C15 10uF polarized cap from -5 to GND. </li><li>R6 DNU</li><li>R21 & R23 changed to 5.1kΩ</li><li>RZ1 changed to 18kΩ</li><li>R26 changed to 100kΩ and new R31 is 100kΩ.</li><li>New R32 for 'hysteresis' between PWM and Pulse.</li><li>Separated grounds on Linear FM and Scale Adj. circuits for clarity.</li><li>Added another TL072 (U6) and supporting circuits.</li><ul><li>This is intended to supply two reference voltages from the 5V source.</li><li>The idea is to provide Soft Sync (pin 9) with a stable voltage of 1/3*Supply, which is something like 11.3/3.</li><li>The other REF_PITCH1 is for the Linear FM circuit. Some resistors probably aren't right for this yet, replaced original REF_PITCH with this.</li></ul><li> Moved outputs to a TL074 to save some space.</li><li> Removed JP1,2,3 and extra Vee stuff, I'm just going to use -5V ref.</li><li> Added second frequency CV jack.</li></ul><p></p><p>Unfortunately as soon as I got v2.0 PCBs I found some dumb mistakes and only ended up building 2 of them before making the changes below and ordering v2.1 PCBs.</p><p>Issues on v2 PCB (fixed on v2.1):</p><p></p><ul style="text-align: left;"><li>VEE net isn't connected to -5V so the scale adjust circuit isn't powered. On v2.0 PCBS I reworked them with a short from C10 to RT1.</li><li>10pF cap was needed on Sawtooth first stage op-amp. </li><ul><li>There was ring in this on the falling edge and this cap helped. (between U4's pins 8/9)</li></ul><li>Rr1 was changed to 220kΩ from 330kΩ, because of lower supply voltage from U6.</li><li>R4, R33 and R34 should be 100kΩ to get correct voltage reference behavior.</li><li>C19 should be DNU, it caused oscillation on REF_VOLT_1.</li><li>Added 10pF on U4B (between pins 6/7) for rising edge of pulse.</li><li>Added resistors for PWM pot so it's range is limited. (also do fine tune if there's room).</li><li>Added Calibration frequencies and steps on silkscreen.</li><li>Changed supply into REFIND_C6, from 12V to REF_PITCH_1.</li><li>Changed R21 to 10kΩ</li><li>Changed R23 to 0Ω</li><li>Changed R8 to 110kΩ, lowers pulse out peak to peak.</li></ul><p></p><p>From the tests on v2.0 and v2.1 I can say that the added U6 to create reference voltages worked really well. As far as I can see that change has almost entirely eliminated the frequency shift due to supply voltage changes. The frequency output is now stable (0.6% change at 1kHz from 11.75V to 12.25V). The v1.0 PCB had a 25% frequency change per 1V supply change, v2.1 PCB is only ~1.2% per 1V supply change (1V supply change is crazy, but my supplies vary with load about 30mV which was enough to detune the v1 PCB several cents.</p><p>The changes to v2.1 for the PWM pot range worked fine allowing the pot better control of the duty cycle.</p><p>I finally got around to testing the HF tracking portion of the circuit. The adjustments to R21/R23 above allowed the tracking to be refined all the way up to 10V CV. I haven't thoroughly analyzed all of the v2.1 oscillator's HF tracking. On a few of them I wasn't able to completely trim them to exactly the desired level, but I think all of them ended up within 1% at 8 volts. Here's the result of the first v2.1 PCB I fully calibrated. Given the limitations of my test equipment I'm happy with the results.</p><p><google-sheets-html-origin></google-sheets-html-origin></p><google-sheets-html-origin><table border="1" cellpadding="0" cellspacing="0" dir="ltr" style="border-collapse: collapse; border: none; font-family: Arial; font-size: 10pt; table-layout: fixed; width: 0px;" xmlns="http://www.w3.org/1999/xhtml"><colgroup><col width="53"></col><col width="108"></col><col width="45"></col><col width="78"></col><col width="95"></col></colgroup><tbody><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":2,"2":"CV"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">CV</td><td data-sheets-value="{"1":2,"2":"Measured Freq"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Measured Freq</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"Note"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Note</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"Ideal Freq"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Ideal Freq</td><td data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":2,"2":"Percent Error"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">Percent Error</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":0.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.002</td><td data-sheets-value="{"1":3,"3":32.78}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">32.78</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C1"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C1</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":32.703203125}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">32.70</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.0023482982601570335}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.23%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":1}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">1.000</td><td data-sheets-value="{"1":3,"3":65.43}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">65.43</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C2"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C2</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":65.40640625}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">65.41</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.00036072536854914183}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.04%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":2.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">2.002</td><td data-sheets-value="{"1":3,"3":131.2}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">131.2</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C3"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C3</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":130.8128125}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">130.81</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.0029598591498825044}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.30%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":3.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">3.002</td><td data-sheets-value="{"1":3,"3":262}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">262</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C4"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C4</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":261.625625}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">261.63</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.001430956925568605}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.14%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":4}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">4.000</td><td data-sheets-value="{"1":3,"3":523}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">523</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C5"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C5</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":523.25125}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">523.25</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":-0.0004801708548236583}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">-0.05%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":4.999}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">4.999</td><td data-sheets-value="{"1":3,"3":1046}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">1046</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C6"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C6</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":1046.5025}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">1046.50</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":-0.0004801708548236583}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">-0.05%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":6.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">6.002</td><td data-sheets-value="{"1":3,"3":2099}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">2099</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C7"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C7</td><td data-sheets-formula="=R[1]C[0]/2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":2093.005}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">2093.01</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.0028643027608630245}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.29%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":7.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">7.002</td><td data-sheets-value="{"1":3,"3":4190}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">4190</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C8"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C8</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":4186.01}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">4186.01</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.0009531749804705392}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.10%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":8}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">8.000</td><td data-sheets-value="{"1":3,"3":8367}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">8367</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C9"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C9</td><td data-sheets-formula="=R[-1]C[0]*2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":8372.02}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">8372.02</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":-0.0005996163410981747}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">-0.06%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":9.001}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">9.001</td><td data-sheets-value="{"1":3,"3":16741}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">16741</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C10"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C10</td><td data-sheets-formula="=R[-1]C[0]*2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":16744.04}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">16744.04</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":-0.00018155713913736715}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">-0.02%</td></tr><tr style="height: 21px;"><td data-sheets-numberformat="{"1":2,"2":"0.000","3":1}" data-sheets-value="{"1":3,"3":10.002}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">10.002</td><td data-sheets-value="{"1":3,"3":33496}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">33496</td><td data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":2,"2":"C11"}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; vertical-align: bottom;">C11</td><td data-sheets-formula="=R[-1]C[0]*2" data-sheets-numberformat="{"1":2,"2":"0.00","3":1}" data-sheets-value="{"1":3,"3":33488.08}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">33488.08</td><td data-sheets-formula="=(R[0]C[-3]/R[0]C[-1])-1" data-sheets-numberformat="{"1":3,"2":"0.00%","3":1}" data-sheets-value="{"1":3,"3":0.00023650206282344044}" style="border: 1px solid rgb(204, 204, 204); overflow: hidden; padding: 2px 3px; text-align: right; vertical-align: bottom;">0.02%</td></tr></tbody></table></google-sheets-html-origin><p>Finally I also checked the sync input(s) and came to the realization that the switch in the design isn't really useful with the new voltage reference connected to the soft sync. In the v2.1 PCB I left the switch in because it can sort of mute a sync signal if assembled correctly, but in the latest front panel I've left the switch out.</p><p>There may still be some improvement possible with the PWM/Pulse relationship, but I need to use them some more to see if I care. I think for now I'm happy with fine tune handling it.</p><p>Here are photos of what v2.0 looked like, but I only built two.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUod-vnguD2UY3iJh3oJ3HX92ppqN5HXTVZBkcYFc9gzonZGgbkRYpQqu3winApLRLykS49GLoaU7j1Lj19LvgQF7zhYCz9ZNLqQgq_FKqYzEaXP0e_fBCq89qNZYFMfEIon_22Ft2GjgQKpB2U0befQrvhxzJ3svttctuA4ooD6m8By0fX1gD89cR/s4000/IMG_0653.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1750" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUod-vnguD2UY3iJh3oJ3HX92ppqN5HXTVZBkcYFc9gzonZGgbkRYpQqu3winApLRLykS49GLoaU7j1Lj19LvgQF7zhYCz9ZNLqQgq_FKqYzEaXP0e_fBCq89qNZYFMfEIon_22Ft2GjgQKpB2U0befQrvhxzJ3svttctuA4ooD6m8By0fX1gD89cR/s320/IMG_0653.jpg" width="140" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeeh9h-U9NwrvZTM4V3Q_VQ0rfjBaOL59qXLbGxoO2vdjjdd-4ht_UqV9QAVdPaQ1gdsYw0woDeqXbIT8b7G-cvtycMGBCqE_QGZq5puJ4rGMRVhqpv6Hh9SzrJQLyrMIbyLTh6Xf07ZvDROrtPT9ULTlIeXUt8ESeTKnfrTbi5VRZMeWx8jjhRaed/s4000/IMG_0655.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1684" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeeh9h-U9NwrvZTM4V3Q_VQ0rfjBaOL59qXLbGxoO2vdjjdd-4ht_UqV9QAVdPaQ1gdsYw0woDeqXbIT8b7G-cvtycMGBCqE_QGZq5puJ4rGMRVhqpv6Hh9SzrJQLyrMIbyLTh6Xf07ZvDROrtPT9ULTlIeXUt8ESeTKnfrTbi5VRZMeWx8jjhRaed/s320/IMG_0655.jpg" width="135" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihNjwM_krdYGLgNUa8jDynEf3XuRH7xhLSsTE0gk4SPdf7x1isBy3WAX-pRpfXoFC84bGUQtToyZYN5IwEgzTXKbQ8swgvhjB5frT1OeK-tHcscz9mqP_K2ifBvWF0h1YPxc7zwP4uRUEj6zlBXSvlhkxC_mMEGRMm-dYCWq1AnKGKL1pwvJcSnKDY/s3735/IMG_0693.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3735" data-original-width="1905" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEihNjwM_krdYGLgNUa8jDynEf3XuRH7xhLSsTE0gk4SPdf7x1isBy3WAX-pRpfXoFC84bGUQtToyZYN5IwEgzTXKbQ8swgvhjB5frT1OeK-tHcscz9mqP_K2ifBvWF0h1YPxc7zwP4uRUEj6zlBXSvlhkxC_mMEGRMm-dYCWq1AnKGKL1pwvJcSnKDY/s320/IMG_0693.jpg" width="163" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpvquMRAvx-maodV7MX3zuG0B7CE_vF-bFIZh8YTyHC5_Fu2Sh1nMvGpgQEMsR40moJxxypUtHBZ6QnJrcLUc7AkV_sH7LW9WrUSq1nTartMS_h9F6RsTPDqjiwX4WcuMdjcNh11EEyiduF16g4KVhrypRvtWsOfKT1-0XDnok5VR4SxJLZVItkZZs/s3706/IMG_0694.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3706" data-original-width="1876" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpvquMRAvx-maodV7MX3zuG0B7CE_vF-bFIZh8YTyHC5_Fu2Sh1nMvGpgQEMsR40moJxxypUtHBZ6QnJrcLUc7AkV_sH7LW9WrUSq1nTartMS_h9F6RsTPDqjiwX4WcuMdjcNh11EEyiduF16g4KVhrypRvtWsOfKT1-0XDnok5VR4SxJLZVItkZZs/s320/IMG_0694.jpg" width="162" /></a></div><br /><div>And photos of v2.1. Note the switch was removed and several incorrect holes for trim pots removed from the front panel.</div><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWRVHulrwPIygUdejKkGMmQZCz7DLgULO1b5MQDuuZh5oSpOPNP9gYl3USt3JkW5WNOUWU98-T013rXfzXP9Xa--CvjxorNaKCQyvsUwiqTP__TuXLi5EQRxg4jazNnAdWMzmluNBQ6vfhwBLtwA2vtrY0V77-d0ZVTjVdOi-2ZiGogKgMskUnPwzm/s1000/IMG_0742.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="433" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWRVHulrwPIygUdejKkGMmQZCz7DLgULO1b5MQDuuZh5oSpOPNP9gYl3USt3JkW5WNOUWU98-T013rXfzXP9Xa--CvjxorNaKCQyvsUwiqTP__TuXLi5EQRxg4jazNnAdWMzmluNBQ6vfhwBLtwA2vtrY0V77-d0ZVTjVdOi-2ZiGogKgMskUnPwzm/s320/IMG_0742.jpg" width="139" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnW4KBCoP28lB54gAScMJQ0gkZwyj9d1whOF-xoWvIudZJuRCfWaERTp_7aHlwcEKkI_x8yqCusKd_L9nDcQlS8i_CvmP2bQmab_L9r13rYGhHOf1W4pXzfoYVmy_K86Iecn4nh4cpxvHcqqY9dmRCPkcOVZWBdtJERjqAInubKwICuW7QZ8cXRInf/s1000/IMG_0783.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="518" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnW4KBCoP28lB54gAScMJQ0gkZwyj9d1whOF-xoWvIudZJuRCfWaERTp_7aHlwcEKkI_x8yqCusKd_L9nDcQlS8i_CvmP2bQmab_L9r13rYGhHOf1W4pXzfoYVmy_K86Iecn4nh4cpxvHcqqY9dmRCPkcOVZWBdtJERjqAInubKwICuW7QZ8cXRInf/s320/IMG_0783.jpg" width="166" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVZvnDt4FhTEi7jpkNp44ftA2eEenvjbAVYEUV7qPzIEUSOOQ0Vwr94Zo6df6hQdz6l2x2rH7nLrQH613t0jMQelLDbl70zMp7O7zky6-m1_yDJVSSN5axpJWb44_uC87jfp9UGCDyUtCJnBaDSY4SdR5GRfXN30glOAiAnDtlk3CQ7Vakz6EEd754/s1000/IMG_0787.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1000" data-original-width="505" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVZvnDt4FhTEi7jpkNp44ftA2eEenvjbAVYEUV7qPzIEUSOOQ0Vwr94Zo6df6hQdz6l2x2rH7nLrQH613t0jMQelLDbl70zMp7O7zky6-m1_yDJVSSN5axpJWb44_uC87jfp9UGCDyUtCJnBaDSY4SdR5GRfXN30glOAiAnDtlk3CQ7Vakz6EEd754/s320/IMG_0787.jpg" width="162" /></a></div>I've now built 16 of these for a ridiculous 16 voice polyphonic modular synth using the <a href="https://www.robotdialogs.com/2022/09/eurorack-midi-to-16x16-cv-gate-module.html" target="_blank">MIDI 16x16 CV Gate Module</a>, 4 <a href="https://www.robotdialogs.com/2022/07/eurorack-polyphonic-envelope-generator.html" target="_blank">Polyphonic Envelope Generators</a>, 4 <a href="https://www.robotdialogs.com/2022/09/eurorack-vca-module-as3360.html" target="_blank">Quad VCAs</a>, 5 <a href="https://www.robotdialogs.com/2022/09/eurorack-41-mixer-module.html" target="_blank">Quad Mixers</a> and one of my <a href="https://www.robotdialogs.com/2022/09/eurorack-vcf-module-low-pass-filter.html" target="_blank">Low Pass Filters</a>.<br /><div><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCftcQp2OeKzVgZ-9gj-Ju10Ust8lIPbCjze5EwPXvh4zldMUbTaTIHmqYcMoE9hwpDBMP_DwhLR8pdv0WxOMc9PF08lY4bBId1F0KHzWnHMo-d7PJEuxVrJgAVrym4zc-Nf-w2GUVDVEg7VFf6Vuy46mIRw7G4eKnxWxNkDrak5cX5oPOFk7B8Bx/s4000/PXL_20230218_171250875.MP~2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1322" data-original-width="4000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjTCftcQp2OeKzVgZ-9gj-Ju10Ust8lIPbCjze5EwPXvh4zldMUbTaTIHmqYcMoE9hwpDBMP_DwhLR8pdv0WxOMc9PF08lY4bBId1F0KHzWnHMo-d7PJEuxVrJgAVrym4zc-Nf-w2GUVDVEg7VFf6Vuy46mIRw7G4eKnxWxNkDrak5cX5oPOFk7B8Bx/w640-h213/PXL_20230218_171250875.MP~2.jpg" width="640" /></a></div><div><br /></div><div>I have a few notes to put down from assembling all of those and calibrating them...mostly for future me:</div><div><br /></div><div>Assembly order is pretty straight forward, SMD resistors and caps first, then sockets and the remaining through-hole stuff on the back side. The only jumper I'm populating now is J4 which needs to be reliably shorted during calibration. The other jumpers are just needed for probing voltages so I'm not populating them anymore. Double check all of that soldering carefully and then assemble the jacks and pots with the front panel for alignment.</div><div><br /></div><div>Test and Calibration:</div><div><ol style="text-align: left;"><li>Check for shorts on power pins.</li><li>Put the op-amps into their sockets (leave AS3340 out for now).</li><li>Power up the and check the +/- 12V and +/-5V rails.</li><li>Probe the voltage on TP3 (REF_VOLT_1) and use trim pot REF_VOLT_1 to set it at 3.75V (~1/3 of 11.25V, Vcc after the input diodes).</li><li>Probe the voltage on TP4 (REF_PITCH) and use trim pot REF_PITCH1 to set it at ~9.7V, this is just a starting point for REF_PITCH, it'll be fine tuned later.</li><li>Unplug the power, put the AS3340 into it's socket and power it up.</li><li>Check the outputs and knobs for basic functionality, leave the PWM at ~50%.</li><li>Ideally wait for 10 minutes for the temperature to stabilize.</li><li>Measure voltage between TP1 and PT2 with millivolt accuracy. Trim the voltage to 0.000V with RZ_TEMP1.</li><li>Short JP4.</li><li>Tune the pulse output to C6 (1046.5Hz) with REF_PITCH_1.</li><li>Remove the short on JP4.</li><li>Set the front panel knobs: Fine tune centered, PWM 50%, Freq fully counter clockwise.</li><li>Input a CV of 5V. Tune the pulse output to C6 (1046.5Hz) with REFIND_C6.</li><li>Input a CV of 0V or 1V. Tune the pulse output to C1 or C2 (32.7 or 65.41 Hz) using SCALE_ADJ1. I found 1V easier to measure with my test equipment.</li><li>Input a CV of 8V. Tune the pulse output to C9 (8372Hz) with HF_TRACK1.</li><li>Test Sync input with an appropriate input signal and output shown on scope.</li><li>Test CV on second input jack.</li></ol></div><div>Module Width: 10 HP</div><div><div>+12V Current: 19mA</div><div>-12V Current: 23mA</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vco_as3340" target="_blank">vco_as3340_v2.1</a></div><div>Schematic: <a href="https://github.com/EchelonForce/vco_as3340/raw/main/vco_as3340_v1/vco_as3340_v2.1.pdf" target="_blank">vco_as3340_v2.1.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1ROjKwa9qaQUvdh3GV4YO5kUrqefuegS-xpMh_gQgMAU/edit?usp=sharing" target="_blank">vco_as3340_v2.1_bom</a></div></div><div>Redline of v1 Schematic: <a href="https://github.com/EchelonForce/vco_as3340/blob/main/vco_as3340_v1/vco_as3340_v1_redline.pdf" target="_blank">vco_as3340_v1_redline.pdf</a></div><div>Redline of v2 Schematic: <a href="https://github.com/EchelonForce/vco_as3340/blob/main/vco_as3340_v1/vco_as3340_v2_redline.pdf" target="_blank">vco_as3340_v2_redline.pdf</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-28088220222920853852023-01-18T23:37:00.001+01:002023-01-18T23:46:06.524+01:00Eurorack Voltage Detector<p> This is a Eurorack Voltage Detector module design. The idea for this comes from combining two previous modules I designed; the <a href="https://www.robotdialogs.com/2022/02/eurorack-level-display.html" target="_blank">Level Display</a> module and the recent <a href="https://www.robotdialogs.com/2023/01/eurorack-comparator-module.html" target="_blank">Comparator</a> module. This module uses op-amps in the comparator configuration to compare a signal against several reference voltages and display the output of the comparison on an LED. </p><p>The voltage levels compared against are approximately: ±9.8V, ±4.9V, ±3.2V, ±0.9V</p><p>The module has two independent sets of comparators so two different signals can be plugged in at the same time. </p><p>The main use for this in my rig is when interfacing modules from various manufacturer's the acceptable input voltages aren't always the same and it's annoying to have to look that up for each module. I usually remember to add the output voltage range in the engraving on my panels so there's no guess work, others don't usually do that. This module will let me quickly see what voltage a signal is at and attenuate/amplify it as needed before plugging it into something else. The Level Display module, one of the first I made for myself, is better for AC (audio) signals and designed for showing the level in more common decibels like in most audio amplifiers. It also used an Arduino Pro, this module however can be used for AC and DC signals and only uses op-amps.</p><p>I started the design with some <a href="https://tinyurl.com/2okyvcew" target="_blank">simulations</a> and a prototype on the breadboard (only a few voltages on the breadboard version though, not the entire circuit).</p><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLfuKAjmBmrH6gQ7lkfVHBMLiVaCwCf_KPS5DFPduzfm5Z3rU1df0_Nr8DOtgR9S0nKA-4rz-ZM2BcAp9fEKy6ztN2r5_6SB2QFSbVyUo48TGggdsSFa4hOU-jHOEDyEdEUWsXXj3Aztr1YEFXyk4A4gN_c4_6jpBb2SeOxPtMVkBEbtaCnEyb-AA-/s4000/IMG_0725.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1424" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLfuKAjmBmrH6gQ7lkfVHBMLiVaCwCf_KPS5DFPduzfm5Z3rU1df0_Nr8DOtgR9S0nKA-4rz-ZM2BcAp9fEKy6ztN2r5_6SB2QFSbVyUo48TGggdsSFa4hOU-jHOEDyEdEUWsXXj3Aztr1YEFXyk4A4gN_c4_6jpBb2SeOxPtMVkBEbtaCnEyb-AA-/s320/IMG_0725.jpg" width="114" /></a>
</div><div class="separator" style="clear: both; text-align: left;">After that I had two PCBs made and designed the front panel.</div><div class="separator" style="clear: both; text-align: center;">
<table align="center">
<tbody>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEkXq1kLIKsH8-5j_Dixep4xYDDKJBnuXBt7J_bQPR6QaisGX2BBV3SfcftNZICuvwRYGoLMNCbYJmN15oxOBVC8c0XoDMSZLL0WBlLQlC5Vmsh7QtKTJS9oZi0oLHj3qhhPGBUdVrOZpyjS-He6hpvgWYAbuUA4cEUM2KRwy5RbtW03upZtokx3eB/s4000/IMG_0660.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="555" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEkXq1kLIKsH8-5j_Dixep4xYDDKJBnuXBt7J_bQPR6QaisGX2BBV3SfcftNZICuvwRYGoLMNCbYJmN15oxOBVC8c0XoDMSZLL0WBlLQlC5Vmsh7QtKTJS9oZi0oLHj3qhhPGBUdVrOZpyjS-He6hpvgWYAbuUA4cEUM2KRwy5RbtW03upZtokx3eB/s320/IMG_0660.jpg" width="44" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb6I93u-rv7E1rtqKgJacPz5-wCnh3Eq13yYrhHhEZhiy1V8sBJs_GGG_lA9W6x64Zh10pTMQqFqjs7O4djPnNxOAesY13B_elkbuhlP6-w77alX2Y69tL-2D3A3ejxLVqnos-lQL9VK1-clba7RGZ9J6XpDxWhUZggJoLqTguTLS6LZTI2EolDFfD/s4000/IMG_0667.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2504" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgb6I93u-rv7E1rtqKgJacPz5-wCnh3Eq13yYrhHhEZhiy1V8sBJs_GGG_lA9W6x64Zh10pTMQqFqjs7O4djPnNxOAesY13B_elkbuhlP6-w77alX2Y69tL-2D3A3ejxLVqnos-lQL9VK1-clba7RGZ9J6XpDxWhUZggJoLqTguTLS6LZTI2EolDFfD/s320/IMG_0667.jpg" width="200" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTkyQqN7lx8MINF5kA0ccR6kyQkG9hP1SD6M9zdqgu2FCEz84CAxBy-2L0i3kLmZ8cBq-rx0Ch65zFdalBE_3ojPhbPqLzdTHfUxQhowyaSQC7spN5Hpc34EeYe35IRO60lv9CupR3opWJdvpKuILR6O8AoxkBByJ25gifI2uoBHfLKiGu5pAqDxrc/s4000/IMG_0669.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2427" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTkyQqN7lx8MINF5kA0ccR6kyQkG9hP1SD6M9zdqgu2FCEz84CAxBy-2L0i3kLmZ8cBq-rx0Ch65zFdalBE_3ojPhbPqLzdTHfUxQhowyaSQC7spN5Hpc34EeYe35IRO60lv9CupR3opWJdvpKuILR6O8AoxkBByJ25gifI2uoBHfLKiGu5pAqDxrc/s320/IMG_0669.jpg" width="194" /></a></td>
</tr>
</tbody>
</table>
</div><div class="separator" style="clear: both; text-align: center;">
<table align="center">
<tbody>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmL8Iin6F-Y7hxirjixrSo1CKrC_7J9cBwknRPUn5FSRcQ6MoMTR2GLAyq5ffHovuMMrLwb0OY5KnB7Dv1YgrI-BS779tEpXx3elY7Nffu80Gg82_tEUGzH-JgaOiWO_Mp5zRH-7B1xQIBLjc9GXcNMJZ7sSnl5T94274ES6d7uU_eUKmbuZnZav7Y/s3746/IMG_0706.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3746" data-original-width="711" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmL8Iin6F-Y7hxirjixrSo1CKrC_7J9cBwknRPUn5FSRcQ6MoMTR2GLAyq5ffHovuMMrLwb0OY5KnB7Dv1YgrI-BS779tEpXx3elY7Nffu80Gg82_tEUGzH-JgaOiWO_Mp5zRH-7B1xQIBLjc9GXcNMJZ7sSnl5T94274ES6d7uU_eUKmbuZnZav7Y/s320/IMG_0706.jpg" width="61" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0TTjZyM_o3sKwY2LPWWxHJ435nAIpJvL6bhmkr6Nt-vzkYl9z9F9XcrPJ_fSD2PRLdDHOMmnCwd8GvRXDY8z8xixWyHJtIE4q4uvq7vAoAdNjf6ZQfKg-lh_vsT9RUYD8nPVuesReQ1o4lxqUj2sLbozSpaDykqgHSFAqzO-OvmcTZh_0FsrjuD22/s3770/IMG_0708.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3770" data-original-width="688" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh0TTjZyM_o3sKwY2LPWWxHJ435nAIpJvL6bhmkr6Nt-vzkYl9z9F9XcrPJ_fSD2PRLdDHOMmnCwd8GvRXDY8z8xixWyHJtIE4q4uvq7vAoAdNjf6ZQfKg-lh_vsT9RUYD8nPVuesReQ1o4lxqUj2sLbozSpaDykqgHSFAqzO-OvmcTZh_0FsrjuD22/s320/IMG_0708.jpg" width="58" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP5wRu9RejTzK8apZNUB_fkRsZ4sRIZHXSIVVeLAwS_f9OZcaiULz3V-Pb2a-MjNF9hxRUh9nKsYuJrS3kRBG8KB9A-bEz7l5qKIorBKvNstWElKWRRrELl-wrfKrdjLJKrE6Snq2WB-4RXOGRFgQx0rC_XCWaLedFMFUWlbrvoCOTWi21gg21FQz/s2237/IMG_0711.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1922" data-original-width="2237" height="172" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpP5wRu9RejTzK8apZNUB_fkRsZ4sRIZHXSIVVeLAwS_f9OZcaiULz3V-Pb2a-MjNF9hxRUh9nKsYuJrS3kRBG8KB9A-bEz7l5qKIorBKvNstWElKWRRrELl-wrfKrdjLJKrE6Snq2WB-4RXOGRFgQx0rC_XCWaLedFMFUWlbrvoCOTWi21gg21FQz/w200-h172/IMG_0711.jpg" width="200" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnSDpe7Qg7cGKNFRkmuEJBe_oOJXAg6PvNx4MF13dvL5pSD0PYyO-sRMX62dAb7hOQV583_Ld27vRRPBA7uBXcmHuEOPhRKLStvb2dOLdi5sicwhl9NgU3KGggSg0cPW7iOcpCdKtz82XgH7shklU8xm3XN3eo5wsoKu8pfO3-x-afd9oiw1UmdhkD/s2249/IMG_0712.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1899" data-original-width="2249" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnSDpe7Qg7cGKNFRkmuEJBe_oOJXAg6PvNx4MF13dvL5pSD0PYyO-sRMX62dAb7hOQV583_Ld27vRRPBA7uBXcmHuEOPhRKLStvb2dOLdi5sicwhl9NgU3KGggSg0cPW7iOcpCdKtz82XgH7shklU8xm3XN3eo5wsoKu8pfO3-x-afd9oiw1UmdhkD/w200-h169/IMG_0712.jpg" width="200" /></a></td>
</tr>
</tbody>
</table>
</div><div><br /></div><div>Overall the design has worked as planned. There may be additional uses for the front panel and the 2.7k LED resistors use a lot of current but that's easily tweaked with different values.</div><div><br /></div><div><div>Module Width: 3 HP</div><div>+12V Current: 45mA LEDs off, 155mA LEDs on w/ 2.7k resistors</div><div>-12V Current: 45mA LEDs off, 153mA LEDs on w/ 2.7k resistors</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/voltage_detector" target="_blank">voltage_detector</a></div><div>Schematic: <a href="https://github.com/EchelonForce/voltage_detector/blob/main/voltage_detector_v1/voltage_detector_v1.pdf" target="_blank">voltage_detector_v1.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1kGvvPyzuLKL58apRBnHPn3TccaOh30qsjXw6TrvcukY/edit?usp=sharing" target="_blank">voltage_detector_v1_bom</a></div></div><div><br /></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-78285729874066474712023-01-18T20:47:00.001+01:002023-01-18T23:45:52.590+01:00Eurorack Comparator Module<p> A Eurorack Comparator module in 6HP.</p><p>Like the <a href="https://www.robotdialogs.com/2023/01/eurorack-analog-switch-module.html" target="_blank">Analog Switch</a> this module comes from my journey to create a noise gate with modules. Most of my attempts to make a monolithic noise gate have required some form of comparator to determine when the signal goes above (or below) the noise floor, so making it an independent module is likely to be useful.</p><p>The core of this module is a dual comparator LM393. The input signal is rectified by the op-amps that buffer the input so both inputs on the comparator are operating in the positive range but one of them is the negative half of the input and the other is the positive half. This creates a window from -LEVEL to +LEVEL where the comparator outputs GND and if the input goes above/below <span style="background-color: white; color: #4d5156; font-family: arial, sans-serif; font-size: 14px;">±</span>LEVEL the output is 10V (or 5V if desired).</p><p>I made several simulations of the circuit to improve idle noise issues and allow adequate adjustability of the desired level to detect. The <a href="https://tinyurl.com/2kqce7o7" target="_blank">latest simulation is here</a>. There's a simple RC filter on the signal input with a19.4kHz cutoff frequency. This helps reject any non-audio signals some of which I found would trigger the comparator. A more robust filter could probably be created with the two op-amps used to invert/buffer the input, but I didn't feel like going down that rabbit hole.</p><p>The LEVEL the comparator checks against is voltage controllable or can be set with the knob. There are a few trim pots on the PCB to allow the output to be trimmed to the desired range(s). I like signals to be 0-10V, but 0-5V should also be possible. The logic outputs are both 0:+10V and make good inputs to the Analog Switch module or as gates to some other module.</p><p>The module started as usual on the breadboard.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Do5OcfGLCXkiS4IsFMtOPYwNinerqOvJEjR5jVRYZsJF19z_1u2dOhtVzZhjUey3WvrBKMol2KHyFeZknybTcF6aRzB4zZMY3Yifs9gJbO00npHb73a5Xs6poFp9n6Gg76JCc7uLyi_d4zIB6pMRxyTyGLmijqsxjuLw7sE2snNNj9KnDCFB2FeX/s4000/IMG_0721.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1547" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Do5OcfGLCXkiS4IsFMtOPYwNinerqOvJEjR5jVRYZsJF19z_1u2dOhtVzZhjUey3WvrBKMol2KHyFeZknybTcF6aRzB4zZMY3Yifs9gJbO00npHb73a5Xs6poFp9n6Gg76JCc7uLyi_d4zIB6pMRxyTyGLmijqsxjuLw7sE2snNNj9KnDCFB2FeX/s320/IMG_0721.jpg" width="124" /></a></div>Once satisfied with the design I had a PCB made and designed a front panel for the module.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQm6yFsokD3jD6HdFsVZge4MDd8mTpAURBxrpcHgbBp7MRpKudc8JnE4jB25_8C_cNJf-rYbrVwK9SqxCgCcDP0h3X5v0KYhQxD-BAfdf8vWmAqXlS1rZc8sV8nK1eskCeHOlkJdSy_jTlAULf0JlCnLm1krTDk28a16WSM9Az6-TW16jbCyWmVk1/s4000/IMG_0658.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1037" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUQm6yFsokD3jD6HdFsVZge4MDd8mTpAURBxrpcHgbBp7MRpKudc8JnE4jB25_8C_cNJf-rYbrVwK9SqxCgCcDP0h3X5v0KYhQxD-BAfdf8vWmAqXlS1rZc8sV8nK1eskCeHOlkJdSy_jTlAULf0JlCnLm1krTDk28a16WSM9Az6-TW16jbCyWmVk1/s320/IMG_0658.jpg" width="83" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi12Eng0yAO_enwl1FNv-ZvoVj2WNuoCBY4YdrN_-22N3qBfypohvLghMe5_afKhGF0tFNV85RYmVwLAZGjNF8hpqr_rTwATy9rW9_p3wGYGQYYhsWKIKG6QUnugqPauodalmHUBYPpPf7PKYZSChx4YYG2SvPhzjIuDDkdHOZ081WLNT4_7phMZFTr/s4000/IMG_0659.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1021" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi12Eng0yAO_enwl1FNv-ZvoVj2WNuoCBY4YdrN_-22N3qBfypohvLghMe5_afKhGF0tFNV85RYmVwLAZGjNF8hpqr_rTwATy9rW9_p3wGYGQYYhsWKIKG6QUnugqPauodalmHUBYPpPf7PKYZSChx4YYG2SvPhzjIuDDkdHOZ081WLNT4_7phMZFTr/s320/IMG_0659.jpg" width="82" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnd4F2QNiuFyk8CVAYr8TkISCLhpEamN8q_GPFDUPYsfd3DXqL5MdNOtFyQPRwT3Sw-kR2AmREayqTwsduQNkKjrw_UrOhtwwISnFrFlbVRN5Qcj6mrpuZhhLSKUthQ-YBzRi5Hgs_iZc6BEJG523s3m5LY7LoMQoxfaG2f-fq2qoVKeeYmdl2WAoE/s3741/IMG_0698.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3741" data-original-width="1195" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnd4F2QNiuFyk8CVAYr8TkISCLhpEamN8q_GPFDUPYsfd3DXqL5MdNOtFyQPRwT3Sw-kR2AmREayqTwsduQNkKjrw_UrOhtwwISnFrFlbVRN5Qcj6mrpuZhhLSKUthQ-YBzRi5Hgs_iZc6BEJG523s3m5LY7LoMQoxfaG2f-fq2qoVKeeYmdl2WAoE/s320/IMG_0698.jpg" width="102" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy_xGgG2anmsB07FJiI0QBegmGH7HpnQdgFH7MMKMqkmtFO_Qh_cCA9gl-d4PuERQN041EqgWI0hKGJZtaqgyWdHzbrkPtAKwPFggzwiJ2wM__Ds5GFhXeKds9QExLnrBK7jttyLIdKtpS7PtODrhNKu-3wP9eDwnbOSx7Yhps4NWeHRGgIXyu7V63/s3746/IMG_0700.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3746" data-original-width="1171" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy_xGgG2anmsB07FJiI0QBegmGH7HpnQdgFH7MMKMqkmtFO_Qh_cCA9gl-d4PuERQN041EqgWI0hKGJZtaqgyWdHzbrkPtAKwPFggzwiJ2wM__Ds5GFhXeKds9QExLnrBK7jttyLIdKtpS7PtODrhNKu-3wP9eDwnbOSx7Yhps4NWeHRGgIXyu7V63/s320/IMG_0700.jpg" width="100" /></a></div><div><div>Issues on v1 PCB:</div><div><ul style="text-align: left;"><li>Negative of the LM393 should be to GND like on the breadboard... cut the trace to -12V and short C8 to GND with a 0 Ohm.</li></ul></div></div><div>Calibrating the output takes a few simple steps:</div><div><ol style="text-align: left;"><li>Adjust the LEVEL knob to mid-range and provide an input signal that can trigger the comparator.</li><li>Adjust the output voltage of the INV. OUT output to the desired 0-10V level with trim pot A (R_ADJ100).</li><li>Adjust the output voltage of the OUT output to the desired 0-10V level with trim pot B (R_ADJ101).</li></ol></div><div><div>Module Width: 6 HP</div><div>+12V Current: 12mA</div><div>-12V Current: 3mA</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vc_comparator" target="_blank">vc_comparator</a></div><div>Schematic: <a href="https://github.com/EchelonForce/vc_comparator/blob/main/vc_comparator_v1/vc_comparator_v1_schematic_redline.pdf" target="_blank">vc_comparator_v1_schematic_redline.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1MEVCHIWmP2g-ne2IJfxb9OyTrwaPqciLcxscdDaPQ28/edit?usp=sharing" target="_blank">vc_comparator_v1_bom</a></div></div><div><br /></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-32526431331425038352023-01-18T19:50:00.002+01:002023-01-18T23:45:11.392+01:00Eurorack Analog Switch Module<p>This design comes from a long term project/idea to make a noise gate for Eurorack. I've attempted several designs for a noise gate over the last year but haven't been happy with the result (yet). In the latest attempt I used an analog switch and a comparator and had some success. I decided that those two parts of the noise gate would be fine as individual modules so that's where this came from.</p><p>It's really a very simple module, there's a buffered input and ouput and a gate input to turn the switch on or off. When it's on the audio or whatever input signal is passed through to the output.</p><p>The schematic calls out the DG418LDJ (normally open) analog switch. The DG417 should work as well for a normally closed version.</p><p>The gate circuit is using a few generic NPN transistors to turn whatever the gate input is into a sharp 5V logic signal for the analog switch. There's a <a href="https://tinyurl.com/2fqhma4g" target="_blank">simulation here</a>.</p><p>Of course the design started on the bread board.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggAJzauCyy98P_di74_e5ciqytuSL4N8fxh4fOgfm8uRPrWfKFty0aVnvfYEInNZrgea1pvy1xiTYq-v5nYN2F4G5c7fqtrJHpCGY9ogI8eyfdqNiwS0FZ8q8aO-j9djpTJHtD-oskkR_02IRGfeR5qcdxeyPRW3HCiAwJQUtOGJi6csusxpItJfj9/s4000/IMG_0727.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1372" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEggAJzauCyy98P_di74_e5ciqytuSL4N8fxh4fOgfm8uRPrWfKFty0aVnvfYEInNZrgea1pvy1xiTYq-v5nYN2F4G5c7fqtrJHpCGY9ogI8eyfdqNiwS0FZ8q8aO-j9djpTJHtD-oskkR_02IRGfeR5qcdxeyPRW3HCiAwJQUtOGJi6csusxpItJfj9/s320/IMG_0727.jpg" width="110" /></a></div><p>Then I designed and ordered a few PCBs and a nice front panel for it.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCC_csJ-NlOmJmvdYVKhz-CLOthok-LeyfLKja4iqNeswCx-N-7IYT4Iu__S27PgTiiH_Rw03CmylanbnwDfAz2kzQfETdn0SAQiRFvMuBtvWYIkYj_WnPVee6aPxCxel6Ka-PcCbw8yQ8o27J3YpaX55jvxAkAlBgI9vpWOX0LaXoANnoYbhRwZjk/s4000/IMG_0656.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="783" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCC_csJ-NlOmJmvdYVKhz-CLOthok-LeyfLKja4iqNeswCx-N-7IYT4Iu__S27PgTiiH_Rw03CmylanbnwDfAz2kzQfETdn0SAQiRFvMuBtvWYIkYj_WnPVee6aPxCxel6Ka-PcCbw8yQ8o27J3YpaX55jvxAkAlBgI9vpWOX0LaXoANnoYbhRwZjk/s320/IMG_0656.jpg" width="63" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiienWcvLymRgkhUT-RA8sDMMy2jO68V41dKB5kEyTq2sKaR6xgX3ZDPAX83XiU1Vw1UQAaODfR8oTwtKIQIkf58paoLc5QGc6S5H55AJRydtStQHCwy3MHbhUnvpoF6ZfHB5T93fxdx5zBx5AGqIpbJoP4XIH3k79mAl7p1aB4_uAAP-psnmoO0HkN/s4000/IMG_0657.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="848" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiienWcvLymRgkhUT-RA8sDMMy2jO68V41dKB5kEyTq2sKaR6xgX3ZDPAX83XiU1Vw1UQAaODfR8oTwtKIQIkf58paoLc5QGc6S5H55AJRydtStQHCwy3MHbhUnvpoF6ZfHB5T93fxdx5zBx5AGqIpbJoP4XIH3k79mAl7p1aB4_uAAP-psnmoO0HkN/s320/IMG_0657.jpg" width="68" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLcKCHFc8ZkWDGXNriYl119pmtcTjYozbisgnNYgaNdj4gWn2Txzhop3FGHL6QFk6iU2f5iB1YqWzMDLIAj_ERYUM7BidTi509wVFJnhkVUaYACqUPGQK1K-spaNla50XHkhQ4ih-GfrFKtdmR62xjQqQbxwRulc-mjQRhkUxjAX1E2x9lBRNk6PS_/s3758/IMG_0718.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3758" data-original-width="833" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLcKCHFc8ZkWDGXNriYl119pmtcTjYozbisgnNYgaNdj4gWn2Txzhop3FGHL6QFk6iU2f5iB1YqWzMDLIAj_ERYUM7BidTi509wVFJnhkVUaYACqUPGQK1K-spaNla50XHkhQ4ih-GfrFKtdmR62xjQqQbxwRulc-mjQRhkUxjAX1E2x9lBRNk6PS_/s320/IMG_0718.jpg" width="71" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7GMnN_QOOJWVkzoGu5pLvs7gAymYRDn3mOZTJcxPC0FVlQvuNQCgIQTO3gtQhRXWMgJ6tj1rnM8Og5c2O2TLlY05JLWdtTRCZRFDSbc9UmKfbshjMjOuyv_eP8CKrlAAfe-mMGwWIiacCarqnJa-KroE4gWAv8H3vMS9rf99o6mUFA38JRVGiIf9/s3729/IMG_0719.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3729" data-original-width="845" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhu7GMnN_QOOJWVkzoGu5pLvs7gAymYRDn3mOZTJcxPC0FVlQvuNQCgIQTO3gtQhRXWMgJ6tj1rnM8Og5c2O2TLlY05JLWdtTRCZRFDSbc9UmKfbshjMjOuyv_eP8CKrlAAfe-mMGwWIiacCarqnJa-KroE4gWAv8H3vMS9rf99o6mUFA38JRVGiIf9/s320/IMG_0719.jpg" width="73" /></a></div><div><br /></div><div><div>Issues on v1 PCB:</div><div><ul><li>So far the only issue is that any input over 7.8V is clipped. This is probably something to do with the internal rail limits in the DG418LDJ. To fix that v2 could attenuate the input and then use more gain on the output to bring it back to a known level. That might introduce noise but making a circuit to allow that option is pretty easy. I likely won't bother with this anytime soon.</li></ul></div></div><div><br /></div><div>Module Width: 4HP</div><div>+12V Current: 18mA</div><div>-12V Current: 5mA</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/analog_switch" target="_blank">analog_switch</a></div><div>Schematic: <a href="https://github.com/EchelonForce/analog_switch/blob/main/analog_switch_v1/analog_switch_v1_schematic.pdf" target="_blank">analog_switch_v1_schematic.pdf</a><br />BOM: <a href="https://docs.google.com/spreadsheets/d/1kJrlwO0mP5pRUbkoR2GGWj4k8jqkDv0-VnFL_6iNsgg/edit?usp=sharing" target="_blank">analog_switch_bom_v1</a></div><div><br /></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-23788069214893628062022-09-10T20:50:00.005+02:002023-02-18T18:58:43.479+01:00Eurorack VCO Module - AS3340<p>Update 2023-02-18: There's a <a href="https://www.robotdialogs.com/2023/02/eurorack-vco-module-as3340-v21.html" target="_blank">new version of this design: v2.1</a><br /><br />I don't consider this design done; but, I've gotta start writing it down because I'm carrying too much diagnostic info in my head regarding this thing.</p><p>One of the early kit's I built was this <a href="https://aisynthesis.com/product/ai011-voltage-controlled-oscillator/" target="_blank">AI011 VCO</a>. Despite the website saying it uses a Curtis chip (CEM3340) mine came with a clone AS3340A. At the time I didn't know anything about either chip, I just wanted a VCO to build and play with. Overall it is a fine VCO, it sticks to the datasheet's circuit for trimming. I also built four <a href="https://www.befaco.org/even-vco/" target="_blank">Befaco Even VCO</a>s to use with the <a href="https://www.robotdialogs.com/2022/07/eurorack-polyphonic-envelope-generator.html" target="_blank">polyphonic envelop generator</a>. I was initially on the fence about building my own, but I eventually decided it would be a nice accomplishment to do an entire signal chain from keyboard to output all of my own designs and an oscillator was gonna be necessary.</p><p>So I bought some AS3340's from <a href="https://electricdruid.net/product/as3340-vco/" target="_blank">Electric Druid</a> and set about making my own design.</p><p>The AS3340 has a triangle, falling sawtooth and pulse output. It has frequency, pulse width, sync inputs. It seems common to add a sine wave generator output with external circuitry, but I felt that would overcomplicate this first design (it also seems like an interesting thing to have as a separate module). </p><p>The <a href="http://www.alfarzpp.lv/eng/sc/AS3340.pdf" target="_blank">data sheet</a> for this is severely abridged as are most of the Alfa chips data sheets. They lean heavily on the original Curtis (CEM) chip data sheets. It's basically impossible to design something with only the Alfa data sheets. This is by far my main criticism of these chips. They work fine, but the documentation sucks. You'll need to find the CEM3340 datasheet for this, but not the 2 page one, you need the full version which offers 6 pages of glorious information. <a href="https://www.bustedgear.com/images/datasheets/CEM3340-3345.pdf" target="_blank">Here's where I found it.</a></p><p>I started this design on the breadboard, as usual.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR3vZobGdsiLoyseEqwVVISxvooWeMSDrTmOf-IuYG3QcK4Xpg_HPEZFRdfMAAdBTgHkIdLpCN15HdGt9Oh9pUxBfr8_IZS5scNq79QqYReHGU7xGDIgkd5aMLozcMjAhcN5X397qxvEWj1J19Up_oki8HVl4MlC2aHzVtviJ2OjETd7IMMyysuEKI/s4000/PXL_20220730_155004898.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3012" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR3vZobGdsiLoyseEqwVVISxvooWeMSDrTmOf-IuYG3QcK4Xpg_HPEZFRdfMAAdBTgHkIdLpCN15HdGt9Oh9pUxBfr8_IZS5scNq79QqYReHGU7xGDIgkd5aMLozcMjAhcN5X397qxvEWj1J19Up_oki8HVl4MlC2aHzVtviJ2OjETd7IMMyysuEKI/s320/PXL_20220730_155004898.jpg" width="241" /></a></div><p>It's on the left side of that breadboard the center and right side are some LFO designs. I recently bought more breadboards to deal with this congestion, but this is from before they showed up. I knew much of the testing I'd need to do wouldn't matter if I did it on the breadboard. I wanted to make a mostly surface mount design and that meant I just had to get a PCB made and play with that instead. </p><p>I did make a few simulations of the output stage(s): <a href="https://tinyurl.com/2ew2cxa8" target="_blank">https://tinyurl.com/2ew2cxa8</a></p><p>The biggest difference between my circuit and the datasheet is that I've opted for the 'easier' trimming described in '<a href="http://www.alfarzpp.lv/eng/sc/Tuning%20the%20AS3340.pdf" target="_blank">Tuning the AS3340</a>' by Rob Hordijk. Also available <a href="https://cabintechglobal.com/tune3340" target="_blank">here</a>. That circuit should result in a single pass tuning, unlike the other VCOs mentioned above that require multiple passes. In that respect it works, if the circuit is correct and other variables controlled, but that proves difficult as we'll see.</p><p>So I went forward with the idea and got some v1 PCBs. When I received them I assembled one and started test and immediately found several issues. But before I get into that, here's what it looks like:</p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuCykR9T5vIIs2giL6K0PE0iSRZEwyuOFS57hXkCp0j_NsAU3X7e_rhSREYiWNZu-s33QTGUbatiIgKvuf-49sz62yoE4pKY7ipsiUE21iaIS-go11Z_oB0ZpaKi9VW_pUWD8hXN5GP5R7EL9jJ9xeZcPkAGXpQcgYNrC4gpQZTkGpJPzCEMN-1Urp/s4000/IMG_0491.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2066" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuCykR9T5vIIs2giL6K0PE0iSRZEwyuOFS57hXkCp0j_NsAU3X7e_rhSREYiWNZu-s33QTGUbatiIgKvuf-49sz62yoE4pKY7ipsiUE21iaIS-go11Z_oB0ZpaKi9VW_pUWD8hXN5GP5R7EL9jJ9xeZcPkAGXpQcgYNrC4gpQZTkGpJPzCEMN-1Urp/s320/IMG_0491.jpg" width="165" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin98AaPaf-KQRQSDx-DX86z7LQlowrVg52f9LwyQBwkCFHtegTuZ5FACoRnT1_EsKynxLpfW-Of5rCwh_xxRXcLiRmi1_etaOJtWB1BcsYbfzLDH8-CVmtiSDjRDDA8mWXQPdR0kUOvbIlI74Tq168YuL2ABxp8bJasuGPCVJo3ylHX4vz-B9xrJ_-/s4000/IMG_0492.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2079" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEin98AaPaf-KQRQSDx-DX86z7LQlowrVg52f9LwyQBwkCFHtegTuZ5FACoRnT1_EsKynxLpfW-Of5rCwh_xxRXcLiRmi1_etaOJtWB1BcsYbfzLDH8-CVmtiSDjRDDA8mWXQPdR0kUOvbIlI74Tq168YuL2ABxp8bJasuGPCVJo3ylHX4vz-B9xrJ_-/s320/IMG_0492.jpg" width="166" /></a></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhie6vH1fkM1lyvEs39DAvg3eFKtAXbmHiOMmsxs8EkmDjLl3t1kZIQGTxr676Kf9fVn3ZCgb_sN030LwLToomNszbkdsZg5p4LLPkHfD9WlSeZnFOXQrpnVcZUeiLDinCAnz6ig7HUjasQbwMHimXAk6GAgjxJEgP7D0CI3JlWCgWaR7liKhkH_MTq/s4000/IMG_0478.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1586" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhie6vH1fkM1lyvEs39DAvg3eFKtAXbmHiOMmsxs8EkmDjLl3t1kZIQGTxr676Kf9fVn3ZCgb_sN030LwLToomNszbkdsZg5p4LLPkHfD9WlSeZnFOXQrpnVcZUeiLDinCAnz6ig7HUjasQbwMHimXAk6GAgjxJEgP7D0CI3JlWCgWaR7liKhkH_MTq/s320/IMG_0478.jpg" width="127" /></a><img border="0" data-original-height="4000" data-original-width="1722" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRQ9jcewBmzm6USPNH027SRUlaZm-hx4bTb3G2Q2xic1JHgyKDTOKv-lOeVn96WUu49djMWkUdZmhwGpaQF_FPDDk7TWk8MYbzqvh7FDBk-G6VcAYLAfrn4a4ExX866eB6RpWQncCtVjsIAhs0ZiWcSmqtZb6kXcSk3is1CaHINQ3viUHsB-ed2-vk/s320/IMG_0485.jpg" width="138" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMIP7uEYTcJSbyIKKSI1zybG5S8o0hxt7ndfM4PcaZrXIwOgmufnUbf7kLStv9MbktpQ8oyCsKShg0FGju_wyqEHbQN3PrIHHDWqoPlr3GHE_kSs61SENv7lwAyMZFJPExydbNp_IXvGi7-MhxRva5jv7u8nd-hmvUHVFIzWOxbSAKuNZ6mgmZz6WK/s4000/IMG_0487.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1743" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMIP7uEYTcJSbyIKKSI1zybG5S8o0hxt7ndfM4PcaZrXIwOgmufnUbf7kLStv9MbktpQ8oyCsKShg0FGju_wyqEHbQN3PrIHHDWqoPlr3GHE_kSs61SENv7lwAyMZFJPExydbNp_IXvGi7-MhxRva5jv7u8nd-hmvUHVFIzWOxbSAKuNZ6mgmZz6WK/s320/IMG_0487.jpg" width="139" /></a></div></div><p></p><h3 style="text-align: left;">Testing and Issues</h3><p>Anyways lets dig into the issues the v1 board has.</p><p>Lets start with the easy stuff.</p><p></p><ul style="text-align: left;"><li>When making the front panel drawings I noticed the fine tune pot and PWM pot are not equally spaced from the center line. Also the jacks centers are not equidistant from the sides making front panel layout awkward. I made the whole PCB off center relative to the front panel to mitigate this.</li><li>I removed R6. R6 was meant to be a pulldown for the buffer input that I've used in other designs but here it interfered with the R7/R8 voltage divider causing lower than expected output.</li><li>JP1 isn't necessary. I think I added it to help isolate the frequency inputs for testing, but I haven't really used it and I've shorted it on all the PCBs so far.</li><li>I've changed R10 to 47k (from 50k). I thought I'd need two resistors to get 51k, turns out that's a more standard value than 50k. So now R10 is a 47k and R9 is shorted. I don't know if 51k or 47k is better. I see designs with both. There are other 47k's on the PCB so in an effort to reduce component variety I think 47k is ok.</li><li>R21 & R23 are 5.1k. Again I didn't look up common sizes on that so 5.1k is just a nearest value I had on hand. I still haven't tested the HF tracking so who knows if they are okay.</li><li>RZ1 is 18k not 13k. I don't remember exactly why, but I think it was because 13k wouldn't let me fully trim out the voltage difference between TP1 and TP2 as required by the trimming process.</li></ul><div>Now the more complicated stuff:</div><div><br /></div><div>The biggest hurdle I've had with this design is getting a clean square wave from the pulse output. There were multiple intermittent issues I had to solve.</div><div><br /></div><div>First I discovered after much probing that the -5V supply provided by the LM7609 regulator wasn't smooth with the caps I had on it. For some reason the v1 circuit has an output of cap of 100nF. The data sheet for the 7906 recommends 1uF, so I was off by a factor of 10. As it turns out though, 1uF isn't enough. I experimented with values I have to find that what this really needs is a 10uF on the output. I managed to rework the v1 boards to accommodate that by using some creative soldering on the optional -12 input circuit I had there incase the -5V wasn't useful. Here's the reworks specifically for that cap:</div><div><ul style="text-align: left;"><li>JP3 10uF polarized cap from -5 to -12 rail. </li><li>JP2 short - by design for the -5V supply.</li><li>R5 short - hack that ties one side of JP3 to -12V to allows JP3 to be used for the 10uF cap.</li></ul>In v2 I'll accommodate the 10uF cap and remove the additional -12V stuff and JP2. </div><div><br /></div><div>Here's what it looked like before the above fix:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8tAoxdojDzMyxTgSrf7UnplmzcWcMnzMjYPKgpWoT3XkmjMbefpauRLDUvQDVDnzB0m7PycJ_z4S2J2h8ShIhtdkxjSX8Nl-2j9wOZgip0nEgf-2ef63bET-VzmrHMFLnRnuVW_PuTC1Up0XhJnvete7mE2ioarM1pNEIPfsuGbHIm9MoJ1YHbSt1/s2163/PXL_20220723_143057610-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1624" data-original-width="2163" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8tAoxdojDzMyxTgSrf7UnplmzcWcMnzMjYPKgpWoT3XkmjMbefpauRLDUvQDVDnzB0m7PycJ_z4S2J2h8ShIhtdkxjSX8Nl-2j9wOZgip0nEgf-2ef63bET-VzmrHMFLnRnuVW_PuTC1Up0XhJnvete7mE2ioarM1pNEIPfsuGbHIm9MoJ1YHbSt1/s320/PXL_20220723_143057610-Edit.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: left;">That's almost a full 2V ripple on the -5V (channel 2) and a pretty strong correlation to the bad falling edge on the pulse output. Here's what it looked like after fixing the -5V caps.</div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5jttCHz2IZKSuusJAkT_TKEkBbHjRcOCfuHZEdbzT_ZQWs55IrVbU_zw3c5W8q8o8vBoy4OE7DB8ldRYF9sFT2pZW4xLt4usDHnbaTWacQ5f-5NAC3PFAaAakbn1r7kQGQY9bcm3j-Xc8Lae6E6ykjX24XMEG4XSqqplqDeDTsg93tTiVw1wf3vAM/s2183/PXL_20220723_143701187-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1657" data-original-width="2183" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5jttCHz2IZKSuusJAkT_TKEkBbHjRcOCfuHZEdbzT_ZQWs55IrVbU_zw3c5W8q8o8vBoy4OE7DB8ldRYF9sFT2pZW4xLt4usDHnbaTWacQ5f-5NAC3PFAaAakbn1r7kQGQY9bcm3j-Xc8Lae6E6ykjX24XMEG4XSqqplqDeDTsg93tTiVw1wf3vAM/s320/PXL_20220723_143701187-Edit.jpg" width="320" /></a></div><br /><div>That modification fixed that PCB's nasty pulse ring so I thought I had it solved. So I built 3 more: </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8aKV1fvgE81y1hp99iQBRbWDQCBehnLRe5CtQLzkvni44XIBRRnFZ_16Tnuha9eSQQtRFxfNKnkZpLZiIWaWBK2oN0fMMtDMv9IaVEZp4vot8EhBZKNh8Srty1nsRVwSR5Ly9UnNrhADkZ9Cqp9fsrot6Vj4kM6UNVH2aEF8Z649j2xFzOyUi1VtD/s3481/PXL_20220802_195624556-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2286" data-original-width="3481" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8aKV1fvgE81y1hp99iQBRbWDQCBehnLRe5CtQLzkvni44XIBRRnFZ_16Tnuha9eSQQtRFxfNKnkZpLZiIWaWBK2oN0fMMtDMv9IaVEZp4vot8EhBZKNh8Srty1nsRVwSR5Ly9UnNrhADkZ9Cqp9fsrot6Vj4kM6UNVH2aEF8Z649j2xFzOyUi1VtD/s320/PXL_20220802_195624556-Edit.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div>And then I found some of them also rang badly even with this modification. </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje6wxoXNnNkIVZbZfB2ckDQVklrclaixXviR-BDXaF7DGlM4Is-Z_8gv1kFVtRidgnHpruaXfSVMvvKiIRhiVK6_-jYSpeJwQbGLPnvyAtdnWoNMlgy6eGalYP0kObFFhPb8A58zXWeFre2K3z_nImJSH_9jHqExoEL7wgjtDy6ugLeSuKLCgLXHBt/s1661/PXL_20220904_140616984-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1249" data-original-width="1661" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEje6wxoXNnNkIVZbZfB2ckDQVklrclaixXviR-BDXaF7DGlM4Is-Z_8gv1kFVtRidgnHpruaXfSVMvvKiIRhiVK6_-jYSpeJwQbGLPnvyAtdnWoNMlgy6eGalYP0kObFFhPb8A58zXWeFre2K3z_nImJSH_9jHqExoEL7wgjtDy6ugLeSuKLCgLXHBt/s320/PXL_20220904_140616984-Edit.jpg" width="320" /></a></div><div>Weirdly the ringing wasn't present on the output of the chip when probed but instead on the output of the buffer. I don't know if this was the probe impedance or something else. But I went searching the web for answers. I found a few forum posts describing similar issues here's one on <a href="https://modwiggler.com/forum/viewtopic.php?t=231130" target="_blank">Mod Wiggler</a> and another on the <a href="https://lookmumnocomputer.discourse.group/t/glitches-or-ringing-on-the-pulse-output-of-the-as3340-and-cem3340/752/5" target="_blank">LMNC forum</a>. Much of the advice says a high value 'hysteresis' resistor between the PWM and pulse output is needed. I tried several values but was ultimately disappointed, none of them solved the issue. I did notice that the pulse output between the AS3340 and the output buffer was very sensitive to probing as well as just being touched. Ultimately that observation inspired me to just try a cap on the pulse output to ground. That worked. I tried several values but it's a compromise between cleaning up the falling edge of the pulse output and not introducing so much capacitance that the edge takes forever to fall. I landed on 100pF which takes about 10-50us to fall. I put that in parallel across R10 but I only had that value as a through hole cap, so it's not a good permanent circuit.</div><div><br /></div><div><div>After that fix it looks like this:</div></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBnHomeKX8RAERmVUE0m2Zyh_PSno37NEewM2M6K5YlTJyJFfrYIfVjq24cxql3fuw70fugXu5Rr5LB-IX9fnvUqd1-osYbip_MN0o0EUiDbPyg78YM6qp5aPQjUD3JYrGF1jb0AxcBKgWjdIiq4Nv39SAIYUEq47f1xDfYESqydM2UwGNJlGKUwyl/s1655/PXL_20220904_141001814-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1244" data-original-width="1655" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBnHomeKX8RAERmVUE0m2Zyh_PSno37NEewM2M6K5YlTJyJFfrYIfVjq24cxql3fuw70fugXu5Rr5LB-IX9fnvUqd1-osYbip_MN0o0EUiDbPyg78YM6qp5aPQjUD3JYrGF1jb0AxcBKgWjdIiq4Nv39SAIYUEq47f1xDfYESqydM2UwGNJlGKUwyl/s320/PXL_20220904_141001814-Edit.jpg" width="320" /></a></div><br /><div>With the falling edge fixed I felt I could finally get to the real issue I'd observed which was that it seemed like my circuit wasn't in tune after installing it in the main rack. I'd plug the thing in and play a note and it would be way off. Including notes I'd tuned it to in calibration. I'll keep this brief: The circuit was fine, the other modules I made had issues. The <a href="https://www.robotdialogs.com/2022/09/eurorack-midi-to-16x16-cv-gate-module.html" target="_blank">MIDI to CV design</a> has an issue where it's sensitive to output impedance and the <a href="https://www.robotdialogs.com/2022/02/eurorack-level-display.html" target="_blank">tuner</a> I made doesn't work well above about 500Hz. So that sucked to find out. </div><p>When I had removed those there was another issue, my 12V rail was at 11.25V. As it turns out I didn't verify that or didn't think it would matter but this circuit is super sensitive to input voltage and CV voltages. That was a face palm moment. I dug up the data sheet for the Mean Well RT65B and I can see that the 11.25V is in spec (barely) but they also have a diagram and a note that 10% load on the 5V rail is needed. Forums also confirm that the supply needs a load on the 5V rail. The trim pot for the 5V rail effects the other rails. I've ordered some load resistors to put on the supplies but for the time being just trimmed them higher so that I get a proper 12V rail. </p><p>With all of that fixed the oscillators worked a bit better. They're still a little bit off in the 1V tracking but I think that's still a minor voltage difference between the bench and the rack supplies. I need to get both more consistent to really sort this out. That said v2 will place the trim pots on the other side of the PCB so I can calibrate them in situ.</p><h3 style="text-align: left;">2022-08-28 - Testing Notes:</h3><p>Did a bunch of testing with a frequency counter. </p><p>Completely recalibrated all four DUTs with frequency counter and mV scale for temp adjust step 1.</p><p>The tracking from 0v to 5V looked pretty good using a bench supply for CV and multimeter with mV accuracy. Frequency counter struggled a bit at some frequencies, so I compared it against an oscilloscope at lower frequencies.</p><p> Procedure was:</p><p></p><ol style="text-align: left;"><li> Powered on for 1hr or more to warm up.</li><li> Readjusted temp1 w/ mV range on multimeter, drifts a bit, got it under a mV.</li><li> Short J4 and get 1046.5 with ref pitch trim pot.</li><li> Set Fine Tune knob to center.</li><li> Set Freq knob to 0, full CCW.</li><li> Input CV 5.000V±0.001</li><li> Use Re-find C6 trim pot to get 1046.5, this was trickier than with F4 shorted.</li><li> Input CV 0.000V±0.001</li><li> Use scale adjust trim pot to get 32.70±0.01 Hz </li><li> Check tracking.</li></ol><div>Some tracking test results:</div><p></p><table style="text-align: center;">
<thead>
<tr>
<th>CV</th>
<th>DUT1</th>
<th>DUT2</th>
<th>DUT3</th>
<th>DUT4</th>
<th>Ideal (Hz)</th>
</tr>
</thead>
<tbody>
<tr>
<td>0V</td>
<td>32.7</td>
<td>32.7</td>
<td>32.7</td>
<td>32.7</td>
<td>32.7</td>
</tr>
<tr>
<td>1V</td>
<td>65.45</td>
<td>64.9</td>
<td>66.0</td>
<td>66.0</td>
<td>65.41</td>
</tr>
<tr>
<td>2V</td>
<td>130.9</td>
<td>130.2</td>
<td>130.7</td>
<td>130.6</td>
<td>130.81</td>
</tr>
<tr>
<td>3V</td>
<td>261.9</td>
<td>260.8</td>
<td>261.8</td>
<td>261.4</td>
<td>261.63</td>
</tr>
<tr>
<td>4V</td>
<td>523.3</td>
<td>521.6</td>
<td>523.4</td>
<td>522.5</td>
<td>523.25</td>
</tr>
<tr>
<td>5V</td>
<td>1047</td>
<td>1045</td>
<td>1049</td>
<td>1046</td>
<td>1046.5</td>
</tr>
</tbody>
</table><p></p><p>I think I'm okay with that tracking. It's usable if the power supply is okay.</p><h3 style="text-align: left;">2022-09-04 - Testing Notes</h3><p>Today I decided to test the warmup time on the circuit. I measured the AI011 and my circuit. Here's the results:</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi12UTvciAOU1Bwk6ncM9lfIlbxeeCkThGEDOW_S6VVitcs3VS5ge5tuWP8A41LIVjMycKCyT0VK-LbsaBAnAp6LO4jw0baFmVTNeagRMOMrIFDQlzqUEnolhLhJf3ImOxSGLQnEV6KsNy7ErTGZUXSXAEHEsDaiuK9rnZyij_5czZmoG8tdvGfHbcU" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="373" data-original-width="602" height="198" src="https://blogger.googleusercontent.com/img/a/AVvXsEi12UTvciAOU1Bwk6ncM9lfIlbxeeCkThGEDOW_S6VVitcs3VS5ge5tuWP8A41LIVjMycKCyT0VK-LbsaBAnAp6LO4jw0baFmVTNeagRMOMrIFDQlzqUEnolhLhJf3ImOxSGLQnEV6KsNy7ErTGZUXSXAEHEsDaiuK9rnZyij_5czZmoG8tdvGfHbcU" width="320" /></a> </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj59C4VsD-OEg3TJuR3A3nxJwJZHnxWBgkZ6FK5E5e3Sud27Gw-DwVcI8hhJXiGZ0M2TJmBcrBB4aiANHrkL45ZimEEb6-q9g3jRqXHGpZtV-F4ODrfiZr1uGF3KzRimUPLyyeNw45bgXqEDd60JYj7QZzD2IXphsNUsnDlHpcEEISRLJTrEqf0Niw6" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="373" data-original-width="602" height="198" src="https://blogger.googleusercontent.com/img/a/AVvXsEj59C4VsD-OEg3TJuR3A3nxJwJZHnxWBgkZ6FK5E5e3Sud27Gw-DwVcI8hhJXiGZ0M2TJmBcrBB4aiANHrkL45ZimEEb6-q9g3jRqXHGpZtV-F4ODrfiZr1uGF3KzRimUPLyyeNw45bgXqEDd60JYj7QZzD2IXphsNUsnDlHpcEEISRLJTrEqf0Niw6" width="320" /></a></div>In each plot there are two lines, I used two different frequency counters. In both circuits the time to stability is about 4 minutes. This is too small of a sample set to make a broad assumption, but I'm happy that the two are fairly comparable. The setup for that was:<div><div><ol style="text-align: left;"><li>Room temperature devices (off overnight).</li><li>5V CV input and I briefly (20 seconds or so) turned them on to get them close to 1000Hz with the knobs </li><li>Turned them off a few minutes.</li><li>Turned on and recorded data for 10+ minutes.</li></ol>I also took a measurement of the effect of the PWM input knob on the pulse frequency. For this I used the already warmed up DUT2 from the above test and varied the PWM (in 5% increments) across the whole range, measuring the duty and frequency.</div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhVWDyMwy6V6TOyHUVSK36AXP7ZsSQBpquBe6UFta5z7Cnfd8vmUSkwvzwLjgZPmYzOfC-ccotmtbk2JDbbVlPmQrCziA_Sf7iucjAABTkDxWqamU0oHOAkT-vIQnmEXaHMcDB016NXWpXF_Pg3Bo69lNmFhd7lNn7g0tN1EelBez7hpQlzqjYRvdDO" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="373" data-original-width="602" height="198" src="https://blogger.googleusercontent.com/img/a/AVvXsEhVWDyMwy6V6TOyHUVSK36AXP7ZsSQBpquBe6UFta5z7Cnfd8vmUSkwvzwLjgZPmYzOfC-ccotmtbk2JDbbVlPmQrCziA_Sf7iucjAABTkDxWqamU0oHOAkT-vIQnmEXaHMcDB016NXWpXF_Pg3Bo69lNmFhd7lNn7g0tN1EelBez7hpQlzqjYRvdDO" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>That's way more variance than I expected, roughly 1% over the whole PWM range. I'm not sure how to check that against the spec. I can't really find a value in the data sheet to compare to. I'm not sure what (if anything) to do about that, I'm just recording the result. <a href="https://docs.google.com/spreadsheets/d/1iX5Th_txUR8lCmnaOocoFdDXEWihr2tr-dlQzpYSU8k/edit?usp=sharing" target="_blank">Here's the actual data</a>. Perhaps this is what the hysteresis resistor is for?</div><div><br /></div><div><div>There's a circuit for VCO vs PWM stability on the <a href="https://www.alfarzpp.lv/eng/sc/AS3340%20tip%20VCO%20_%20PWM%20.pdf" target="_blank">Alfa website</a> I found when designing v1 but I can't get it to work in simulation and decided to leave it out.<br /></div><div><br /></div><div>Testing still to do:</div><div><ul style="text-align: left;"><li>Double check output voltages and adjust gain resistors.</li><li>Buy and try higher precision resistors R30, R2</li><ul><li>Most design and the data sheet show higher precision resistors that I used, they're hard to find though.</li></ul><li>I haven't messed with high freq. track adjustment at all yet.</li><li>Fine tune knob has a little too much influence on tune, several semi tones... reduce?</li><ul><li>Increase R3 or reduce range of RFINE_TUNE1</li></ul><li>Try 5.6k on R21,R23 to reduce component count.</li><li>I've got three different caps for CF1/CF2 on different PCBs.</li><ul><li>I need to choose one type but I'm not sure how to decide yet.</li></ul></ul></div><div><br /></div><div>12V Current: 18mA</div><div>-12V Current: 13mA</div><div>5V Current: None</div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vco_as3340" target="_blank">https://github.com/EchelonForce/vco_as3340</a></div><div>Schematic: <a href="https://github.com/EchelonForce/vco_as3340/raw/main/vco_as3340_v1/vco_as3340_v1.pdf" target="_blank">vco_as3340_v1.pdf</a></div><div>v1 BOM: <a href="https://docs.google.com/spreadsheets/d/1A03Hkhw_VOU7QGkkN94pmsFq027_SZMS2qUAGQ9GXUg/edit?usp=sharing" target="_blank">on google docs</a></div><div><br /></div><div>Thoughts for v2</div><ul style="text-align: left;"><li>This list isn't complete, I need to use the v1 more and get through the rest of the testing.</li><li>Add precision resistor footprints. I can't buy them but might as well prepare for if I find them.</li><li>Fix -5V regulator output capacitance.</li><li>Add 100pF cap in parallel with R10.</li><li>Remove JP1</li><li>Remove R6</li><li>Remove R9</li><li>Remove alternate supply (-12V paths for VEE) </li><li>Add a resistor for the 'hysteresis' mentioned in forums.</li><li>Fix resistor values from experimentation.</li></ul><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div></div></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-39797035658687488042022-09-10T20:24:00.001+02:002022-09-10T20:24:29.774+02:00Eurorack VCF Module - Low Pass Filter - AS3320<p>This is my first filter design for Eurorack. I seem to always use my multi-mode filters (built from kits) in lowpass mode so that's what I've designed for myself. I didn't want to jump into a multimode filter yet, it just complicates things I don't have a good grasp on yet. The module uses 8HP.</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9-qcJrPTKGL86_IV5IyfpK2q3jtKO-p5CQtUtLYuCg_q7JNe6SgmVvniN1vkIrv9OjIDrJ3ezu5RLhReHIgDK_8o_n_TpZCinWa9t7rtBuKoMswsVsauf__HvrlVtjaZXERriRTR9mWG-kllkG9fAOdNto9YXYyTOL24cn6mM-Qu2z6iSi0BKdQY/s4000/IMG_0536.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1298" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg9-qcJrPTKGL86_IV5IyfpK2q3jtKO-p5CQtUtLYuCg_q7JNe6SgmVvniN1vkIrv9OjIDrJ3ezu5RLhReHIgDK_8o_n_TpZCinWa9t7rtBuKoMswsVsauf__HvrlVtjaZXERriRTR9mWG-kllkG9fAOdNto9YXYyTOL24cn6mM-Qu2z6iSi0BKdQY/s320/IMG_0536.jpg" width="104" /></a></p><p>For this filter I'm using the AS3320 filter chip which I picked up along with various other chips in that series from <a href="https://electricdruid.net/product/as3320-vcf/" target="_blank">Electric Druid</a>. When I went to figure out the circuit I ran into the biggest road block which is that the <a href="http://www.alfarzpp.lv/eng/sc/AS3320.pdf" target="_blank">data sheet</a> is nearly useless. It shows a sample circuit for low pass, high pass and other use cases but they are a tangled mess of wires, very poor layout for helping anyone understand the chip. In an age where the data sheet doesn't need to fit in a single page, there's no excuse for providing such bad documentation. Rant over. These chips are clones of CEM3320 and the full data sheet for that is somewhat better. <a href=" https://www.bustedgear.com/images/datasheets/CEM3320.pdf" target="_blank">Here's where I found it</a>.</p><p>In the CEM3320 data sheet I found the math and fine details needed for figuring out values for the passive components, we must assume that the math works the same for the AS3320. Along the way I went back over to Electric Druid and discovered a fantastic writeup and a reorganized schematic that really helped clear up what this chip does for various filter designs in the wild.</p><p><a href="https://electricdruid.net/multimode-filters-part-1-reconfigurable-filters/">https://electricdruid.net/multimode-filters-part-1-reconfigurable-filters/</a></p><p><a href="https://electricdruid.net/multimode-filters-part-2-pole-mixing-filters/">https://electricdruid.net/multimode-filters-part-2-pole-mixing-filters/</a></p><p>That write up was hugely helpful. The diodes in my typical power supply on modules drops the nominal 12V to about 11.5V. The data sheet's values are for 15V. Armed with the CEM3320 data sheet I did all the math to figure out component values for my supply voltage. After that I did a breadboard version to verify the design.</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkI960qMGivwpRx12GLrJYCpAR3Tc83yhZqptTJy5H9HPlRjUsRhbNP1AWUR20isN58hFsl0UaDOYbwQkRLlO8Rw_i57ht9c2OZgDVAXFzQ9ggZ1p1kqmpzmMjzOD3exUIPrfVRVqcPrGAu2-MCHvaxuLht4cR2hr-VPoAvxb50QkKmkgmElcz5dwK/s3428/pxl_20220908_214315746.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3428" data-original-width="1204" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkI960qMGivwpRx12GLrJYCpAR3Tc83yhZqptTJy5H9HPlRjUsRhbNP1AWUR20isN58hFsl0UaDOYbwQkRLlO8Rw_i57ht9c2OZgDVAXFzQ9ggZ1p1kqmpzmMjzOD3exUIPrfVRVqcPrGAu2-MCHvaxuLht4cR2hr-VPoAvxb50QkKmkgmElcz5dwK/s320/pxl_20220908_214315746.jpg" width="112" /></a></p><p>A couple values I was a bit shaky on because my design isn't like anyone else's so there are a couple trim pots in the resonance circuit to allow some adjustment. There are a lot of text notes in the schematic (link below) about how I arrived at the various component values.</p><p>The CV input circuit and Frequency/Resonance control pot circuits are a circuit I've used in several designs with the Frequency pot flipped to make a more intuitive control. I expect 10V CVs in my system and the chip expects a much smaller voltage max so there's a voltage divider in the path before the op-amps and another after them to manage that. <a href="https://tinyurl.com/255uf7kc" target="_blank">Here's a simulation</a> of it. On the resonance the input is expecting a current range. The RCC1 and RCC trim pot produce this current from the resonance CV. RCC1 is mainly there to prevent overcurrent on one end of the trim.</p><p>Like the <a href="https://www.robotdialogs.com/2022/09/eurorack-vca-module-as3360.html" target="_blank">VCA design</a>, I used one op-amp on the input to invert the signal getting filtered and another inverting op-amp on the output resulting in a net non-inverted output.</p><p>When I got the PCBs I assembled several. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKaCcusVRc6DPFCX6IkBuZM74sfYx7Dm9009bOZFAIU9zwI9Bdx-6bz1b1NF0KPR2D7CU9FIhz9VSN8rTQmObwx49XNWxM9LA4QNtPj84oKT7BRP4Fjp_mKVMGIweRaq7VMPviClu9i31FcT7WzPMnOAklyqqGoyX9WFhMbjbbR1wIlpWhcWvcPQGh/s4000/IMG_0537.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1336" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKaCcusVRc6DPFCX6IkBuZM74sfYx7Dm9009bOZFAIU9zwI9Bdx-6bz1b1NF0KPR2D7CU9FIhz9VSN8rTQmObwx49XNWxM9LA4QNtPj84oKT7BRP4Fjp_mKVMGIweRaq7VMPviClu9i31FcT7WzPMnOAklyqqGoyX9WFhMbjbbR1wIlpWhcWvcPQGh/s320/IMG_0537.jpg" width="107" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcWmr9q-QBvnu0s7iS0lF-9UlSfF5C1JbFa1XU2NNES5XDYI4peuAgOMjOS3VItosQ2c8VVcfKeDj2uaK4uhHQOGLpY2uxOdjMtKLDs_amO4UH-LRUf8w_JF27JsRr97fJ6yGFGiL31I4DKfAKVTpA03YR9ehGFze1Mr0E1dRKsd9G8vKce37cpBrz/s4000/IMG_0539.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1442" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcWmr9q-QBvnu0s7iS0lF-9UlSfF5C1JbFa1XU2NNES5XDYI4peuAgOMjOS3VItosQ2c8VVcfKeDj2uaK4uhHQOGLpY2uxOdjMtKLDs_amO4UH-LRUf8w_JF27JsRr97fJ6yGFGiL31I4DKfAKVTpA03YR9ehGFze1Mr0E1dRKsd9G8vKce37cpBrz/s320/IMG_0539.jpg" width="115" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpObYCNZ_kRq8ClP23MfiamBnUipUH4zhdkryyEk21u9aFqI-gELJ_pA2E7hPG9CDT0RZm3LojhwV1lZr6OU9WJAPu7WmfMaKSOUPgZOSPUY3xqSH6zmHgoShRb4dLVZUs2lxmBBt05VIVYXldoxaR8AGm3-sCEdMJr0awNzNaxvfXI6ZljbxoBSNe/s4000/IMG_0542.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1589" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpObYCNZ_kRq8ClP23MfiamBnUipUH4zhdkryyEk21u9aFqI-gELJ_pA2E7hPG9CDT0RZm3LojhwV1lZr6OU9WJAPu7WmfMaKSOUPgZOSPUY3xqSH6zmHgoShRb4dLVZUs2lxmBBt05VIVYXldoxaR8AGm3-sCEdMJr0awNzNaxvfXI6ZljbxoBSNe/s320/IMG_0542.jpg" width="127" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2xbrF7QAwv7R-z3rMRZMTQyxy9Toj1cTYGDXlzq-npnzj5n2x024xWufnecbM9-Ay4iR_bWUydje2ERoV3m6GwKoijRh0ZD4RjHps_yzntKe2cSSE5dFSuG7reYOTQ9W6wxpZZ78cuvJhM-KwDpdYOfWEpEwO3ohz_Rf5xVJbv8OqUMzP3uBihlUC/s4000/IMG_0543.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1635" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2xbrF7QAwv7R-z3rMRZMTQyxy9Toj1cTYGDXlzq-npnzj5n2x024xWufnecbM9-Ay4iR_bWUydje2ERoV3m6GwKoijRh0ZD4RjHps_yzntKe2cSSE5dFSuG7reYOTQ9W6wxpZZ78cuvJhM-KwDpdYOfWEpEwO3ohz_Rf5xVJbv8OqUMzP3uBihlUC/s320/IMG_0543.jpg" width="131" /></a></div><br /><div class="separator" style="clear: both; text-align: left;">Overall they work fine. I've swapped the 300pF capacitors (C9,C12,C13,C14) with 330pF. I'm not sure if that was because I couldn't find 300pF or if I already had 330pF. 330pF works fine.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The resonance calibration pots don't seem to have a conclusive calibration procedure. I tried to make each filter's resonance behavior consistent with the others, but it's just a personal preference where they landed. In general the filter sounds good and that's what matters most to me.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div><div>12V Current: 11mA</div><div>-12V Current: 16mA</div><div>5V Current: None</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vcf_as3320_lp" target="_blank">https://github.com/EchelonForce/vcf_as3320_lp</a></div><div>Schematic: <a href="https://github.com/EchelonForce/vcf_as3320_lp/raw/main/vcf_as3320_lpf_v1/vcf_as3320_lpf_v1.pdf" target="_blank">vcf_as3320_lpf_v1.pdf</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-76552123621311704312022-09-10T18:54:00.002+02:002022-09-10T18:54:51.330+02:00Eurorack 4:1 Mixer Module<p>This is a Eurorack Mixer module with four inputs in 6HP. It's quite simple and only uses an op-amp and a handful of passive components. There are four inputs and one output. The inputs pass through independent potentiometers for attenuation and the all the inputs are summed and output. Here's what it looked like on the breadboard:</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ-c3KTkT3GGtTqz3MksnXuU8AOx3jmKTHYKdzvvFNpfnudjRdOg7-4uGFne7wZMSmQ2Ymo7GNRtwlLeQcFmvC1gBjm-3QzvcGN8Mg3n6CaS8Z5yZhh8sZkA-2OjI3I6uHsN-2g2nj4wcYKTkmXicVPCjXloeN_l7twPMCWMw1HuJakVLDJS8tjpn9/s3424/PXL_20220908_214150959.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3424" data-original-width="1808" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgJ-c3KTkT3GGtTqz3MksnXuU8AOx3jmKTHYKdzvvFNpfnudjRdOg7-4uGFne7wZMSmQ2Ymo7GNRtwlLeQcFmvC1gBjm-3QzvcGN8Mg3n6CaS8Z5yZhh8sZkA-2OjI3I6uHsN-2g2nj4wcYKTkmXicVPCjXloeN_l7twPMCWMw1HuJakVLDJS8tjpn9/s320/PXL_20220908_214150959.jpg" width="169" /></a></p><p>There's also <a href="Simulation: https://tinyurl.com/2nbo5djf" target="_blank">a simulation</a>. This type of mixing allows a strong input to effect other inputs (crosstalk) so it's not optimal for an input that needs to be routed to some other place pre mix. Other than that limitation it seems to work just fine. The potentiometers used to attenuate the signal can be audio (logarithmic) or linear depending on how it's getting used. </p><p>I'm glad the design works because after panelizing these I got 30 in the first order which is more than enough for me. I haven't found any issues yet with the v1 circuit, but I haven't used them much either. Time will tell.</p><p>If I make another mixer it will probably have a buffer for each input to avoid the above mentioned crosstalk and an output stage amplifier/gain adjustment. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL7K_EoNk73j0_pZMzY_fmoQ_Yag2g99BXW2z6V1bGaNUIZuccP36LaHrbv0Ra6QifEASeZIHDeGCLGnef-4R8_uBYcN504Fr4eQ5Z1p252gb4N-cje8UuxN31lLvYn84yGdcAbJ7OeNqMj7e4O_MdQrE-EzSKMyBdFg8G9c_uqJU5Tlwlq07_NEXW/s4000/IMG_0549.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1034" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjL7K_EoNk73j0_pZMzY_fmoQ_Yag2g99BXW2z6V1bGaNUIZuccP36LaHrbv0Ra6QifEASeZIHDeGCLGnef-4R8_uBYcN504Fr4eQ5Z1p252gb4N-cje8UuxN31lLvYn84yGdcAbJ7OeNqMj7e4O_MdQrE-EzSKMyBdFg8G9c_uqJU5Tlwlq07_NEXW/s320/IMG_0549.jpg" width="83" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08fnNasVDar9aTmyBq7OgLeBlYputdxuy5PeA5kRJWZexyJivXn1G5w-CohB0ieBCqMAJ0nqR7B0SxiKoJG8GNZMX11COlB_j_w5yNGmjG48IiR3c_pQKkgabg7_nnKAQEUEHJeKhmfdhc0yHf1BHsH03CG6_SDdvrDyeghiv9_MFi1kx-m9qEHGB/s4000/IMG_0550.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1026" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg08fnNasVDar9aTmyBq7OgLeBlYputdxuy5PeA5kRJWZexyJivXn1G5w-CohB0ieBCqMAJ0nqR7B0SxiKoJG8GNZMX11COlB_j_w5yNGmjG48IiR3c_pQKkgabg7_nnKAQEUEHJeKhmfdhc0yHf1BHsH03CG6_SDdvrDyeghiv9_MFi1kx-m9qEHGB/s320/IMG_0550.jpg" width="82" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShCJf5ZOeDUBcLg6r-zv0EVZuZa_D-hbSNZ8dS5w0f20Wh0QrwPDJT2CAbBzeNVyJJNKCBY3J5AC3UOOBzWDCxZzNWAQStJUFz-qTK8dR2EEK_-noufkUWukhXLj6n5vft7dcoZwRMvWavOoNtxlfChl2U-B82-1SiT9p25S1Rb6tK0Wv_m7kLNNW/s4000/IMG_0553.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1480" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShCJf5ZOeDUBcLg6r-zv0EVZuZa_D-hbSNZ8dS5w0f20Wh0QrwPDJT2CAbBzeNVyJJNKCBY3J5AC3UOOBzWDCxZzNWAQStJUFz-qTK8dR2EEK_-noufkUWukhXLj6n5vft7dcoZwRMvWavOoNtxlfChl2U-B82-1SiT9p25S1Rb6tK0Wv_m7kLNNW/s320/IMG_0553.jpg" width="118" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4DUWS0cqKGsQ1e35HPNgjQW0RmqSmHbPjxCz6vgXU8hONi3wYZv_fxVMGIZG2LQhqBNHkYQ4eaBHLmXxsmHJQNjKRiWXlq_A97h-DkTvJEWc5e0IANRoBb3Aja3LvuRerBaxRWC-MXzGiKZcmwL1xN9Mb4pqmUQbwI2pDkQ9Q4c2Pat1Xufv-zZlF/s4000/IMG_0547.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1243" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh4DUWS0cqKGsQ1e35HPNgjQW0RmqSmHbPjxCz6vgXU8hONi3wYZv_fxVMGIZG2LQhqBNHkYQ4eaBHLmXxsmHJQNjKRiWXlq_A97h-DkTvJEWc5e0IANRoBb3Aja3LvuRerBaxRWC-MXzGiKZcmwL1xN9Mb4pqmUQbwI2pDkQ9Q4c2Pat1Xufv-zZlF/s320/IMG_0547.jpg" width="99" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfRs8QogrQL7SuyTJLET7SoqlVND0KoL-sYv_k6XIjA2_JCIDyEufZwjusJRkuMSwqqc0uCx-TV-QHnfrkUOu4DV8Z0MdPkjvgRkJA02n7scSK2Qq3tBliAgtDUFUjOUSEmurTLczdOchm-_wF_EB6PMz4hWGKUCKmNXMt4f_yMJxfG1Vk6ZXuHXqO/s4000/IMG_0546.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1220" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfRs8QogrQL7SuyTJLET7SoqlVND0KoL-sYv_k6XIjA2_JCIDyEufZwjusJRkuMSwqqc0uCx-TV-QHnfrkUOu4DV8Z0MdPkjvgRkJA02n7scSK2Qq3tBliAgtDUFUjOUSEmurTLczdOchm-_wF_EB6PMz4hWGKUCKmNXMt4f_yMJxfG1Vk6ZXuHXqO/s320/IMG_0546.jpg" width="98" /></a></div><div><br /></div><div><div>12V Current: 5mA</div><div>-12V Current: 3mA</div><div>5V Current: None</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/mixer" target="_blank">https://github.com/EchelonForce/mixer</a></div><div>Schematic: <a href="https://github.com/EchelonForce/mixer/raw/main/mixer_v1/mixer_v1.pdf" target="_blank">mixer_v1.pdf</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-57068789359181646622022-09-10T00:08:00.004+02:002022-09-10T00:08:59.019+02:00Eurorack VCA Module - AS3360<p>Every synth needs a VCA. Since I've been making a few modules around <a href="https://www.alfarzpp.lv/" target="_blank">Alfa </a>chips that are largely clones of Curtis chips I picked up some <a href="https://electricdruid.net/product/as3360-dual-vca/" target="_blank">AS3360</a>'s to use for this module. The AS3360 has two VCAs in it. It's fairly simple to use compared to the VCF and VCO in the same series of chips. </p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj23qXxyd5Dtik2yk1H30bWJHyL7MEsIR10v0cBrbawhpgiD0m4a8cFYqIqNVz4gEJGQGmg2jMEc6j4txWRRIlO2jHq2CtX_tDTDKodRYR7Maf1fKHsFlokUId6TXOcknGEblBNR_8FaOkK-Lo-OQGjCrx3hL5B5yUv7UsRYv70Y74tW0NjTms7DOG6/s4000/IMG_0555.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1309" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj23qXxyd5Dtik2yk1H30bWJHyL7MEsIR10v0cBrbawhpgiD0m4a8cFYqIqNVz4gEJGQGmg2jMEc6j4txWRRIlO2jHq2CtX_tDTDKodRYR7Maf1fKHsFlokUId6TXOcknGEblBNR_8FaOkK-Lo-OQGjCrx3hL5B5yUv7UsRYv70Y74tW0NjTms7DOG6/s320/IMG_0555.jpg" width="105" /></a></p><p>Much of the design is straight from the data sheet with some bits borrowed from the <a href="https://www.lookmumnocomputer.com/1181-dual-vca" target="_blank">Look Mum No Computer VCA</a> but I've changed some elements to deal with CVs in my system going 0-10V and for various component differences.</p><p>As usual I put this thing together on the breadboard first. In this case it's pretty much a complete mockup of what I have in the PCB. </p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9pSvOi0QaRIbAS58ZX0JvdumlqBrhi-RnE520Sv3c3CGS7iDx_Yx5DnIp-yF3ftr2bLrokOZ2G0wjXYrUmUuJC4Pffn-doc_kubMogYyyDaKWbqjioj6MQXHQ4C7PbnvO42if4WE_AOSeMvuydRs4vQ-8K3uEktqMV2Jyv5tQYhVaSctk0h7WVGv/s3376/pxl_20220908_214231973.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3376" data-original-width="1192" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht9pSvOi0QaRIbAS58ZX0JvdumlqBrhi-RnE520Sv3c3CGS7iDx_Yx5DnIp-yF3ftr2bLrokOZ2G0wjXYrUmUuJC4Pffn-doc_kubMogYyyDaKWbqjioj6MQXHQ4C7PbnvO42if4WE_AOSeMvuydRs4vQ-8K3uEktqMV2Jyv5tQYhVaSctk0h7WVGv/s320/pxl_20220908_214231973.jpg" width="113" /></a></p><p>The PCB design goes quite smoothly when I can work out the details on the breadboard. The best part of looking at the LMNC design before going into the PCB design was realizing that that design inverts the input and inverts the output for a net non-inverted output. That's a nice simplification I wish I had thought of myself, it's probably common on lots of modules but the first time I've seen it and understood it.</p><p>Here's a <a href="https://tinyurl.com/2b8dz4go" target="_blank">simulation of the input CV circuit</a>. And another <a href="https://tinyurl.com/2kctuyyh" target="_blank">simulation of the output</a> which is a bit different from other modules I've made since the chip provides a current output.</p><div class="separator" style="clear: both; text-align: center;"> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbuCeaGsAPRoA0Ki8SMH82GYOvbTCeUpRhQu005qCt7h5eNrcidsdBQNDKbA1h3QCc6kQMdwCDMAdCmnyFng-btE46d0eoh9FqfPLWHGUZn_3T5gOW_5XZe_0ZdVczVZHw8GrrOGpIoOPfeLx1t7iNVhKAdjrNkttD38Iw7_utIHGxI1oMydNsw8bf/s4000/IMG_0558.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1294" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbuCeaGsAPRoA0Ki8SMH82GYOvbTCeUpRhQu005qCt7h5eNrcidsdBQNDKbA1h3QCc6kQMdwCDMAdCmnyFng-btE46d0eoh9FqfPLWHGUZn_3T5gOW_5XZe_0ZdVczVZHw8GrrOGpIoOPfeLx1t7iNVhKAdjrNkttD38Iw7_utIHGxI1oMydNsw8bf/s320/IMG_0558.jpg" width="104" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJmaRNRy5cBNnnXv2Qr6S5D8Lq-In-jepXhOc1BA_8qG6BnI5bZoh6UXogQXuZ1S5R1-TjvJn1Q2C9S1mPuFzGWivDZVvqUya62c_6ObzXAmOmc7h729hx6U4DWeIK3ZjE9OHeU3rBH6jJEGfqityxa_yjQ79Kv2zPZgNCMUDrlrGK2p_iKo1fYyQY/s4000/IMG_0560.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1496" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJmaRNRy5cBNnnXv2Qr6S5D8Lq-In-jepXhOc1BA_8qG6BnI5bZoh6UXogQXuZ1S5R1-TjvJn1Q2C9S1mPuFzGWivDZVvqUya62c_6ObzXAmOmc7h729hx6U4DWeIK3ZjE9OHeU3rBH6jJEGfqityxa_yjQ79Kv2zPZgNCMUDrlrGK2p_iKo1fYyQY/s320/IMG_0560.jpg" width="120" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxkQodT8O8n3lRTSmfsOhK1J7n59tY4fcGpWMik0II091Dkl3OsyILZfZ6PgNkTqpeeLxrazvCtJPUFVDx71pecEs93dvfuc2b2wqsktwNSpMqnnLWy2OKKlodEnaLhG9lQFKZP7RL5Czt6n5T8k7H67EctGooxv6DORc6gfqUHnL2BVNW163wEQ75/s4000/IMG_0563.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1651" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjxkQodT8O8n3lRTSmfsOhK1J7n59tY4fcGpWMik0II091Dkl3OsyILZfZ6PgNkTqpeeLxrazvCtJPUFVDx71pecEs93dvfuc2b2wqsktwNSpMqnnLWy2OKKlodEnaLhG9lQFKZP7RL5Czt6n5T8k7H67EctGooxv6DORc6gfqUHnL2BVNW163wEQ75/s320/IMG_0563.jpg" width="132" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpgAor0FqFLA7wM2IxZYIwed6VF_mNX3HyjY3j2TsYY5lbsNBHWah5aIQOKPJWFgJLOgJGplnQXaCh_GGB-yglwvhQp6oRYG9HQqH2IrTHux4c4ixg_OBo_X6JPaipfs1V2e6J9wuWqSIs3aj_DrYbOluuE5f2rLSN0f0QdjO1dO6Cn2xnscoD8m2W/s4000/IMG_0565.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1594" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpgAor0FqFLA7wM2IxZYIwed6VF_mNX3HyjY3j2TsYY5lbsNBHWah5aIQOKPJWFgJLOgJGplnQXaCh_GGB-yglwvhQp6oRYG9HQqH2IrTHux4c4ixg_OBo_X6JPaipfs1V2e6J9wuWqSIs3aj_DrYbOluuE5f2rLSN0f0QdjO1dO6Cn2xnscoD8m2W/s320/IMG_0565.jpg" width="128" /></a></div><div class="separator" style="clear: both; text-align: left;">Most designs I make now that can be panelized are panelized before I order them it's a simple step to do and I get more boards for the same price for doing it. In this case I made a design decision early that allows me to use the panelized PCB for a quad version of the VCA.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9AlqRQMtwQWw0-WddiLMoa-ropwKXm0jokzxImjbpKQI6bItq13kBm2B3W46q_em752yWWKUUyX79BPd54mUKCr2yKqic9FGR637rGoZCpzFoIu5hdSF_O-qs1HF042Ix1CNzQ1kQF1XCHtyPw3ZgMXyJBiEtpeGU5Rr2GBweh1ztj8on2lgIS15j/s4000/IMG_0567.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3202" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9AlqRQMtwQWw0-WddiLMoa-ropwKXm0jokzxImjbpKQI6bItq13kBm2B3W46q_em752yWWKUUyX79BPd54mUKCr2yKqic9FGR637rGoZCpzFoIu5hdSF_O-qs1HF042Ix1CNzQ1kQF1XCHtyPw3ZgMXyJBiEtpeGU5Rr2GBweh1ztj8on2lgIS15j/s320/IMG_0567.jpg" width="256" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIzhphXDDThDj4i9IM4rS8zv4Hs4CaWl9meYDOE3u1H3iPjV3Gxe0erRIwbkghFCx_xUK3QuKFIq3fhCg-yZ0itY1pP4l4V7MJyUViuk0zEJx1RhthQ-vC37tBJFCwV8cA-6Bs_5rv3PlfER_Ft-s0WUSR8ffxYv6fUV0qEBpPvuAaAlb8lm6NEMET/s4000/IMG_0568.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3216" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIzhphXDDThDj4i9IM4rS8zv4Hs4CaWl9meYDOE3u1H3iPjV3Gxe0erRIwbkghFCx_xUK3QuKFIq3fhCg-yZ0itY1pP4l4V7MJyUViuk0zEJx1RhthQ-vC37tBJFCwV8cA-6Bs_5rv3PlfER_Ft-s0WUSR8ffxYv6fUV0qEBpPvuAaAlb8lm6NEMET/s320/IMG_0568.jpg" width="257" /></a></div><div>For this to work there's a bit of extra space between the two PCBs on the panel and some extra through-hole solder points where jumpers can pass power to the second PCB. That means the two boards can share the power supply components. I also have a variant of the front panel for the quad VCA.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIzt3NYzhcS8liayFVcgjeW6vqje_YWMWudHsFLV8jV7xG3wPDTirlfC4JO4-wiXLAZ8lVmKYULhWdkOgsPiQ_glUZgEouX-H4HTWjv_de9obnHuUzgYoMA25DB1fteNlDJwMbpiqjVy9r2nCuyU7-pwnE4IJk4nUcmyvwiwsMYxFfZ5DczZHkyA8/s4000/IMG_0570.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2588" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKIzt3NYzhcS8liayFVcgjeW6vqje_YWMWudHsFLV8jV7xG3wPDTirlfC4JO4-wiXLAZ8lVmKYULhWdkOgsPiQ_glUZgEouX-H4HTWjv_de9obnHuUzgYoMA25DB1fteNlDJwMbpiqjVy9r2nCuyU7-pwnE4IJk4nUcmyvwiwsMYxFfZ5DczZHkyA8/s320/IMG_0570.jpg" width="207" /></a></div><div><br /></div><div>The quad version is desirable in my skiff for dealing with the output of the polyphonic envelope:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBA-J0Z0v0tG8QUgmpphA7jl4LcoG6Aa0EeiUkzDmhA9O3zi8mWrZxctPMLENDXLCw4l0KXjI8a1_z_L06FHfnltokrVHGtvFTt1Ux3_PowSafg0PihThi7rrAjrsC4qqNHWy_NmQGEg5NvOurjOCp38_MAIIZJkwtMNP1jkoDaOZSwymPnTMFBT03/s3097/PXL_20220909_220446725.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2297" data-original-width="3097" height="237" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBA-J0Z0v0tG8QUgmpphA7jl4LcoG6Aa0EeiUkzDmhA9O3zi8mWrZxctPMLENDXLCw4l0KXjI8a1_z_L06FHfnltokrVHGtvFTt1Ux3_PowSafg0PihThi7rrAjrsC4qqNHWy_NmQGEg5NvOurjOCp38_MAIIZJkwtMNP1jkoDaOZSwymPnTMFBT03/s320/PXL_20220909_220446725.jpg" width="320" /></a></div><div>Issues on v1:</div><div><ul style="text-align: left;"><li>The voltage divider for the CV's shows 400k and 50k resistors (R24/R19 and R29/R20). After some testing, 390k and 33k worked better. The v1 values didn't account for the gain on the non-inverting buffer correctly.</li><li>On the silkscreen U1 and U3 are both op-amps but the chip name TL074/LM358 are swapped.</li></ul><div>That's not much to complain about. I'm happy with the design. I haven't put too many hours on it yet so there may be issues down the road.</div><div><br /></div><div><div>12V Current: 33mA</div><div>-12V Current: 13mA</div><div>5V Current: None</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vca_as3360" target="_blank">https://github.com/EchelonForce/vca_as3360</a></div><div>Schematic: <a href="https://github.com/EchelonForce/vca_as3360/raw/master/vca_as3360_v1/vca_as3360_v1.pdf" target="_blank">vca_as3360_v1.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1CQ4iB0GetkVdcWyVVxCtfGJtRlnOO4dJEXFIf2vglLQ/edit?usp=sharing" target="_blank">Google Doc</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-83458483368933538742022-09-08T23:35:00.001+02:002022-09-09T00:08:35.309+02:00Eurorack MIDI to 16x16 CV Gate Module<p>This is a big one. I have been pursuing an idea to make all the modules in a full Eurorack signal chain and to be able to do polyphonic voices in it. The first thing in the that chain is a midi module that can take midi from the computer or keyboard and turn it into signals for other modules. </p><p>Early on I needed a module like that so I bought a <a href="https://www.befaco.org/midi-thing/" target="_blank">Befaco Midi Thing</a> kit from Thonk and started using it, but I wanted to have the ability to drive even more outputs.</p><p>So this module has 16 CV outputs and 16 Gates. It consumes 18HP. It has MIDI input and output. the brains of the operation is an Arduino Pro Mini which I've written firmware for to handle polyphonic input (more on that later). There's a single button on the front which for now lets me set a MIDI channel. This thing doesn't have nearly as much configurability as the Midi Thing but I don't have to open a manual to change the main thing I need to configure.</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNBSlTCimOt1UmaH1PEWzhZgNG5fMCfg7IkXqsBV5aJYIMfL3lpLslImbUtHluV7fKCORpwZMf-mrwdd95layG5qLJQc9velqYxYciQKXimtkv8Be4A-7p1XB-OTar4k_2VYBZH5nQgkwaKTbct8HJrNG501heqIIGdA5eT2vMJHI2_OWpHS-X0I7J/s3792/IMG_0412.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3792" data-original-width="2678" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgNBSlTCimOt1UmaH1PEWzhZgNG5fMCfg7IkXqsBV5aJYIMfL3lpLslImbUtHluV7fKCORpwZMf-mrwdd95layG5qLJQc9velqYxYciQKXimtkv8Be4A-7p1XB-OTar4k_2VYBZH5nQgkwaKTbct8HJrNG501heqIIGdA5eT2vMJHI2_OWpHS-X0I7J/s320/IMG_0412.jpg" width="226" /></a></p><h3 style="text-align: left;">Design Process</h3><p>This design is much more in my comfort zone than most of the analog modules. The 'hard' part of this one is the digital design and code, but that's my day job so it's a place I can flex.</p><p>Like most of my designs this one starts on the breadboard.</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQNDjrinf1JBcC21I_DsEntefcpiXkGI-dkUNcFwnGMo34BJAH_GpDn8LHP4ZiiQg06yi9rv6VgfEqQK6xgmL1YEtmTZrKV1Xc9eK8k_WuPMLGBsOehCg4CSrSAg8ETLU_5UZJMO1wccGSmdvPDNRPuupshEnTlQZnCK5Qy3VPYEaJ6KR23zRL3GO/s2208/IMG_0084.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2208" data-original-width="1529" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieQNDjrinf1JBcC21I_DsEntefcpiXkGI-dkUNcFwnGMo34BJAH_GpDn8LHP4ZiiQg06yi9rv6VgfEqQK6xgmL1YEtmTZrKV1Xc9eK8k_WuPMLGBsOehCg4CSrSAg8ETLU_5UZJMO1wccGSmdvPDNRPuupshEnTlQZnCK5Qy3VPYEaJ6KR23zRL3GO/s320/IMG_0084.jpg" width="222" /></a></p><p>Obviously there aren't 16 outputs on that breadboard. There's an Arduino and a breakout board for a MCP4922 DAC and some LEDs. I used this breadboard to sort out the driver code for the DAC.</p><p>When I went from breadboard to PCB it got complicated. One issue is component shortages, I couldn't find the MCP4922 or any DAC good enough for this at the time in a surface mount package, so I went with the DIP through hole package instead. Driving 8 of those (they're dual output DACs) and 16 gates presents challenges for the Arduino Pro Mini because it doesn't have enough pins. So the PCB also has two 74HC595 Serial to Parallel shift registers for that stuff.</p><p>Every available pin on the Arduino is used in the v1 PCB for this design, but two of them (A6 and A7) are not actually usable the way I intended. They can't be outputs so the LEDs I wanted to drive with them can't work.</p><p>In the end there were 28 ICs, 34 jacks and more than 200 resistors on this PCB. Even splitting it into two PCBs and using surface mount components for most things it was a challenge to layout and route. Here's a screenshot from in the middle of the design (many components changed along the way).</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUaOxA1jLwJlJY9xEbOt4rYFsUWi3xSwCSuvYOo24kv5TuuQzYmiCVwXDePFoECDToosvdrw8kcbCiPbhZ-AYAJ8uHnXQXM0UJH6t0PuatX-FwzQ3tnoT1S47aBe3_GP51MMHIBSBnHGWYiVddsF6kXcmLs3wWrhI36JNIaN4-Blmeby1eXM47GSqx/s2551/3D%20Layout%20WIP.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1289" data-original-width="2551" height="162" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUaOxA1jLwJlJY9xEbOt4rYFsUWi3xSwCSuvYOo24kv5TuuQzYmiCVwXDePFoECDToosvdrw8kcbCiPbhZ-AYAJ8uHnXQXM0UJH6t0PuatX-FwzQ3tnoT1S47aBe3_GP51MMHIBSBnHGWYiVddsF6kXcmLs3wWrhI36JNIaN4-Blmeby1eXM47GSqx/s320/3D%20Layout%20WIP.png" width="320" /></a></p><p style="text-align: left;">With each module I get a bit better at the layouts. Now I start with the front panel components to get them in the best locations and then the through hole and finally the surface mount. That general order makes it a lot less likely to need to redo a whole bunch of layout and routing. I probably rerouted portions of this PCB at least 3 times to get it to work though.</p><p>There are simulations in the schematic for the output stages, but they're pretty simple, the CVs and gates are amplified to my desired CV range of 0-10V (almost). There's a flaw in the CV output circuit though, more on that later.</p><p style="text-align: center;"></p><table>
<tbody>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit2Yp6ZRX6-CzB2DZSRDE5i9gbJi_I5GrY5phcppkVDscgOsohzmcDzLPWJgISgUubgfXCF3WtpCn3Gd7ZKzCZZyp38hJFnFtnKPLMNH0iAPy5mDnkUvSt_3W6qsMhteyg2ni0rsmnbHXvBrzoM4glfm3gdNwalax41UecGiD48VQ99R08W935yHXb/s4000/IMG_0340.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3538" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEit2Yp6ZRX6-CzB2DZSRDE5i9gbJi_I5GrY5phcppkVDscgOsohzmcDzLPWJgISgUubgfXCF3WtpCn3Gd7ZKzCZZyp38hJFnFtnKPLMNH0iAPy5mDnkUvSt_3W6qsMhteyg2ni0rsmnbHXvBrzoM4glfm3gdNwalax41UecGiD48VQ99R08W935yHXb/s320/IMG_0340.jpg" width="283" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipYHy-TzkK0d1VsfALOecppl-acPrC_FA4ubVT2PT2Ml3jeD34elMaXFXhQ2NufN3sx8qB0VsT77A_aCLYQGNFgVWnJmtzF8lx0erEHqVB_fptuvNkH1sWEiv-Pnng3FBC764xH0hK_8ZPxjjTDuncHWxOOZVYZxeW192SIhoBnFYr0NEYobwnk7FM/s4000/IMG_0336.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3598" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEipYHy-TzkK0d1VsfALOecppl-acPrC_FA4ubVT2PT2Ml3jeD34elMaXFXhQ2NufN3sx8qB0VsT77A_aCLYQGNFgVWnJmtzF8lx0erEHqVB_fptuvNkH1sWEiv-Pnng3FBC764xH0hK_8ZPxjjTDuncHWxOOZVYZxeW192SIhoBnFYr0NEYobwnk7FM/s320/IMG_0336.jpg" width="288" /></a></td>
</tr>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjJWZwV39LEyPlxtowW-CqHSZU7rOWL2_mESrec6Dc8SdX-f7o-NnMCWvZhqdmLXFBMIPnqRp3MkfD3KCV9sWw0HlO4KtV9qAHFlSe8knvutLlVsGyw_-JJbGZEWli0DfpGAiyJ9vpuCp8GHTTjaWQjcrMkk21Uf-2YNDfIOcNcA-3vUxG5kml4BRV/s4000/IMG_0345.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3583" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjJWZwV39LEyPlxtowW-CqHSZU7rOWL2_mESrec6Dc8SdX-f7o-NnMCWvZhqdmLXFBMIPnqRp3MkfD3KCV9sWw0HlO4KtV9qAHFlSe8knvutLlVsGyw_-JJbGZEWli0DfpGAiyJ9vpuCp8GHTTjaWQjcrMkk21Uf-2YNDfIOcNcA-3vUxG5kml4BRV/s320/IMG_0345.jpg" width="287" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfMLrt5UHzudJY6j9MnSQ5o2WlMlb5kcoyGrMNlo1vP3IFKVMd9i71vJ7HwfWo6Ardy8YPkD2zQuJTWxmuQ2HDZ_8u1akCC4imZzMh6z8I96-xtJPN4rJDVNdgPMU3FFEzeAj4wwJFi8AQ-i6eZZugThWb8ydudjq05F2nTyW6-466-T7X0Dg5HuSF/s3744/IMG_0396.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3744" data-original-width="3393" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfMLrt5UHzudJY6j9MnSQ5o2WlMlb5kcoyGrMNlo1vP3IFKVMd9i71vJ7HwfWo6Ardy8YPkD2zQuJTWxmuQ2HDZ_8u1akCC4imZzMh6z8I96-xtJPN4rJDVNdgPMU3FFEzeAj4wwJFi8AQ-i6eZZugThWb8ydudjq05F2nTyW6-466-T7X0Dg5HuSF/s320/IMG_0396.jpg" width="290" /></a></td>
</tr>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXC16CvJAqio7ZaEvP9jxPBAalGhnOftLV9bB63jDl739t9uZEFQq4LEbQVVA4bjFiO1CEd6y5m8JhXXtJLAncMAfgYrIeOXk-usmWfu-xBdtCEOP9HV-nceDxwQc-owyYn-NBNlRqBl8OWjUHji-k2td_v1-vVgR4zc2VVwMGinvjOMJ5-7f9Jze/s1123/PXL_20220527_135953266-2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1123" data-original-width="1017" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIXC16CvJAqio7ZaEvP9jxPBAalGhnOftLV9bB63jDl739t9uZEFQq4LEbQVVA4bjFiO1CEd6y5m8JhXXtJLAncMAfgYrIeOXk-usmWfu-xBdtCEOP9HV-nceDxwQc-owyYn-NBNlRqBl8OWjUHji-k2td_v1-vVgR4zc2VVwMGinvjOMJ5-7f9Jze/s320/PXL_20220527_135953266-2.jpg" width="290" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCz1HPbcEAvXArBIoZNJWLUvTivl9wf-qg3-teXO4O-ak_nZuyjdVTZ2kSKFeqC5tuDpjWIM4lXWFCyGqZPOakXrMEHs4lGSU6HNx_njaoPBaFVCL4n9HwylE6Z_t5Jxn-uk1K9jxK_KqYvYAZybowQ70kpMXW5vEWns7AQ5F1POauf02fas8nL7R-/s1027/PXL_20220527_135953266-3.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1027" data-original-width="921" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCz1HPbcEAvXArBIoZNJWLUvTivl9wf-qg3-teXO4O-ak_nZuyjdVTZ2kSKFeqC5tuDpjWIM4lXWFCyGqZPOakXrMEHs4lGSU6HNx_njaoPBaFVCL4n9HwylE6Z_t5Jxn-uk1K9jxK_KqYvYAZybowQ70kpMXW5vEWns7AQ5F1POauf02fas8nL7R-/s320/PXL_20220527_135953266-3.jpg" width="287" /></a></td>
</tr>
<tr>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBxAMyqXqR13xetDBXDW7jLbOe9lLcap-Y9QTjokCv3IZioesTMB9zfkxNhBDWQHKubqe6ctOSmRtH-udnxUsc52YtpuWOwmMrHH7fskeoL9-XZ8WQj3U-8uHTsdBMrHAEtZmlLVSwbt2ru1M0Xa48_yQFlQJdJGXh4hJukgBo3efJBaa5Atqr8vY4/s1033/PXL_20220527_135953266-4.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1033" data-original-width="942" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBxAMyqXqR13xetDBXDW7jLbOe9lLcap-Y9QTjokCv3IZioesTMB9zfkxNhBDWQHKubqe6ctOSmRtH-udnxUsc52YtpuWOwmMrHH7fskeoL9-XZ8WQj3U-8uHTsdBMrHAEtZmlLVSwbt2ru1M0Xa48_yQFlQJdJGXh4hJukgBo3efJBaa5Atqr8vY4/s320/PXL_20220527_135953266-4.jpg" width="292" /></a></td>
<td><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBsddc2IhfGY4NXpu8vsE3jwFoTkdJVbfLTb68eL61gPhZGAt9G81eICt63mkZaPo5LJAd9eEHGFge4Wo5IMjRfLSkuTnz9rCfUk9Igx8nI1RNg_6zE4hlN7ekfYMQ78lR28mRC-Rj8a_VDZFupMNuPYngmfYa4DNWSe2tVy03MLtMa3-fcJqBw_9Y/s1114/PXL_20220527_135953266.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1114" data-original-width="1023" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBsddc2IhfGY4NXpu8vsE3jwFoTkdJVbfLTb68eL61gPhZGAt9G81eICt63mkZaPo5LJAd9eEHGFge4Wo5IMjRfLSkuTnz9rCfUk9Igx8nI1RNg_6zE4hlN7ekfYMQ78lR28mRC-Rj8a_VDZFupMNuPYngmfYa4DNWSe2tVy03MLtMa3-fcJqBw_9Y/s320/PXL_20220527_135953266.jpg" width="294" /></a></td>
</tr>
</tbody>
</table><h3 style="text-align: left;">Code</h3><div>The code for this is functional for 16 voice polyphonic output. I won't go into too much detail on it here, the code is likely to change over time. I'll cover the existing features though.</div><div><ul style="text-align: left;"><li>The MIDI channel can be configured. Press and hold the button for 5 seconds and the current channel selection will blink on an LED. Press the button to change to another channel. Press and hold the button to exit and save the selected channel. The channel config is persistent through power cycles.</li><li>The incoming MIDI traffic is passed to the output ('Thru' Midi).</li><li>Incoming note on/off messages are the only messages processed. Each simultaneous note goes to the next available output until all outputs are used up.</li><li>There are some test programs available in the repo for checking new builds.</li><li>Pressing the button in normal operation stops all notes. This is handy for some midi interfaces that don't send note off commands reliably.</li></ul><div>Future features...</div></div><div>This thing is a beast and could be reconfigured for a number of tasks. In no particular order these are some ideas I've had for it that I'd need to write code for.</div><div><ul style="text-align: left;"><li>A 16 output sequencer mode, I'd have to figure out how to program new sequences.</li><li>A 16 step sequencer mode.</li><li>A multi-channel mode listening to 4 midi channels and output in 4 independent polyphonic setups.</li><li>Handle pitch bend commands</li><li>A drum rack mode (like polyphonic midi, but notes fixed to specific output pairs). Maybe use CV for velocity or simple envelope in this mode, or just more gates.</li></ul></div><h3 style="text-align: left;">Testing</h3><div>This is still ongoing. </div><div><br /></div><div>I've solved several bugs in the code (mostly weird edge cases handling fast polyphonic MIDI stuff).</div><div><br /></div><div>Early in the testing I was pretty confused about the LEDs not working as expected, it wasn't where I thought I'd have issues... as it turns out the A6 & A7 pins can't be used as outputs. Those might be repurposed in the future for something else.</div><div><br /></div><div>In the beginning of my tests I was observing some jitter (note length error) in the gate outputs that I thought might be down to slow code; but, after some triage, it turns out that the jitter is almost entirely on the MIDI connection. I was testing with Abelton via a Scarlett 18i20 and the MIDI jitter is proportional to the buffer sizes used in the interface. I watched the MIDI traffic and the Gate output with a scope and measured the jitter. Setup was 16th notes at 120bpm from Abelton.</div><div><br /></div><div>Testing different buffers as the <a href="https://www.ableton.com/en/manual/midi-fact-sheet/" target="_blank">manual </a>suggests using smallest possible buffer.</div><div><ul style="text-align: left;"><li>buffer at 1024, 22ms jitter</li><li>buffer at 512, ~12ms jitter</li><li>buffer at 256, 6-8ms jitter</li><li>buffer at 128, ~5ms jitter</li></ul></div><div>Calibration of the output CVs is still a bit of a pain. As part of v2 I may design a test jig to do this more quickly and more accurately. So far I measured 4 of the CVs at increasing voltage outputs and plotted that:</div><div><br /></div><div style="text-align: center;"><img height="251" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABJ4AAAL8CAYAAACh/3+BAAAAAXNSR0IArs4c6QAAIABJREFUeF7s3Qe4FNX9//Hv7oVbaRcE7ICKgBVEY4mKBTXRJCoWMJaIDRNN8jOJpph/jL9fYnpMsWCvwRKxoUaxI9iiYiEq0ouKAkoRaRfu//kOzs0wbJnZmT17duY9z+OT6N2ZOfM6M2d2PnvOmUxra2ursCCAAAIIIIAAAggggAACCCCAAAIIIBCzQIbgKWZRNocAAggggAACCCCAAAIIIIAAAggg4AgQPHEiIIAAAggggAACCCCAAAIIIIAAAgiURYDgqSysbBQBBBBAAAEEEEAAAQQQQAABBBBAgOCJcwABBBBAAAEEEEAAAQQQQAABBBBAoCwCBE9lYWWjCCCAAAIIIIAAAggggAACCCCAAAIET5wDCCCAAAIIIIAAAggggAACCCCAAAJlESB4KgsrG0UAAQQQQAABBBBAAAEEEEAAAQQQIHjiHEAAAQQQQAABBBBAAAEEEEAAAQQQKIsAwVNZWNkoAggggAACCCCAAAIIIIAAAggggADBE+cAAggggAACCCCAAAIIIIAAAggggEBZBAieysLKRhFAAAEEEEAAAQQQQAABBBBAAAEECJ44BxBAAAEEEEAAAQQQQAABBBBAAAEEyiJA8FQWVjaKAAIIIIAAAggggAACCCCAAAIIIEDwxDmAAAIIIIAAAggggAACCCCAAAIIIFAWAYKnsrCyUQQQQAABBBBAAAEEEEAAAQQQQAABgifOAQQQQAABBBBAAAEEEEAAAQQQQACBsggQPJWFlY0igAACCCCAAAIIIIAAAggggAACCBA8cQ4ggAACCCCAAAIIIIAAAggggAACCJRFgOCpLKxsFAEEEEAAAQQQQAABBBBAAAEEEECA4IlzAAEEEEAAAQQQQAABBBBAAAEEEECgLAIET2VhZaMIIIAAAggggAACCCCAAAIIIIAAAgRPnAMIIIAAAggggAACCCCAAAIIIIAAAmURIHgqCysbRQABBBBAAAEEEEAAAQQQQAABBBAgeOIcQAABBBBAAAEEEEAAAQQQQAABBBAoiwDBU1lY2SgCCCCAAAIIIIAAAggggAACCCCAAMET5wACCCCAAAIIIIAAAggggAACCCCAQFkECJ7KwspGEUAAAQQQQAABBBBAAAEEEEAAAQQInjgHEEAAAQQQQAABBBBAAAEEEEAAAQTKIkDwVBZWNooAAggggAACCCCAAAIIIIAAAgggQPDEOYAAAggggAACCCCAAAIIIIAAAgggUBYBgqeysLJRBBBAAAEEEEAAAQQQQAABBBBAAAGCJ84BBBBAAAEEEEAAAQQQQAABBBBAAIGyCBA8lYWVjSKAAAIIIIAAAggggAACCCCAAAIIEDxxDiCAAAIIIIAAAggggAACCCCAAAIIlEWA4KksrGwUAQQQQAABBBBAAAEEEEAAAQQQQIDgiXMAAQQQQAABBBBAAAEEEEAAAQQQQKAsAgRPZWFlowgggAACCCCAAAIIIIAAAggggAACBE+cAwgggAACCCCAAAIIIIAAAggggAACZREgeCoLKxtFAAEEEEAAAQQQQAABBBBAAAEEECB44hxAAAEEEEAAAQQQQAABBBBAAAEEECiLQFUET0888YSMHz8+MEAmk5Gmpibp0KGD7LjjjrLnnntKjx49JJvNBt5GoQ++++67csstt8i6deucj9XW1sqZZ54pffr0iWX77kZaW1vl448/lrfeekvefvttWbx4saxcudL5s3uM2267rey+++6y0047SV1dXaz7dzfm9z/11FNl1113Lcu+2Kg5gU8//VT+85//yJQpU+Sjjz6SFStWtO1cr5+ePXs659Zuu+3mXE/5lrVr18pNN90k06dPdz5SU1Mjeo7oORll0XP9uuuuk/nz5zub6dy5s4waNUo222yzKJvNue7EiRPlwQcfbPtbOfcVe+FFnLZoxowZTl1OmzZNli5dKi0tLc6u2rVr59j17dtX9thjD9E2o1Bb+MEHH8i1114rn3/+ubN+9+7dHfdOnTpFKvqsWbPkhhtukDVr1jjb2WWXXeTkk092zpewyz/+8Q954403Aq+mx6v3g6233rrs7WXgQhX44OrVq+W9995z2v7Zs2fLsmXLZP369c4a7du3l27dujn3tr322su5t+n9INei95CxY8fKyy+/3Pbnr33ta3LggQdGKqaeb1oHer7pkvR7YCSsKlh51apVcuONNzrnmi7a7uu1Wa4lzu821dBe2fYdtlz1ynYRQAABBBAoJJDI4CnXAevD09FHH+08fOX7kh7kVMn1RV7X+9KXviTHHXdcpG27+9cHDP1C/9hjj8nChQuDFMt5GNl7773liCOOiD2AIngKVAU5P6Rf6J9++mknlOzfv3/pG4ppTT1/58yZI+PGjXMCHf33Yos+tGv4pA+s+cIHf3ATx/XgDyri2GauY/UHZ+5n4nhAL2Yb9e96fj377LMyadIk0f8fZOnSpYsceeSRzsNlrrZQPW6++WYnwNIlriDxkUcekWeeeSaWbYYNnvwu2l4efvjhcsABB8T2g0QQ+2Kf0cDw8ccfl9dee60tOCy2zuabb+7c27bffvucH/X/ULLDDjvIyJEjnXtGqcuiRYvkmmuucQJOXeLYprcstt0DS3WqlvVMBU/lqNdqaK/CBk/l/A5bLeck5UQAAQQQSJ5AaoInrTp9yNp3333l61//ekm/sus2/F+43VMirh4S2gvlrrvukpkzZ5Z0tmnApr1N9GEkroXgKbykfsHWh8eHHnrI6TliQy8xfbjQ3g9vvvlmoMDJf9TaY2TEiBFOTwv/4r8umpub5dvf/rZoyFHqonYTJkxwVteH5DPOOCPvw3Wp+9D1/AGXuy3tHXP22WdLQ0NDlM2XZV0NDKdOnSp33323fPbZZ6H3oW2hBk8alufqKfnqq68623aDyYEDB8pJJ51UcrCu14D2Xnv//fedsm611VaObWNjY+iy6wpRg6e47gclFT7HStpevPTSS057oQ/SYRcNhw8++GAZOnToJvc2f8/B+vp6Oeuss5yeb6Uu//73v+Wf//xn2+onnHCC0/sqjsXGe2Acx2XzNkwET+WsV9vbqziCJ9vaLJvPZ8qGAAIIIGCnQNUFT/oAql+wdahBvkUfxObOnev8s2TJko0esvWBa/Dgwc4DVylDPLxfcHQokg6J0H3oErWHhPZAufXWW9u25x5f165dnSEy2mtGh1XoosOidGiNPgDoMClvzxUNCE4//fRIDxZeW4Kn8BevnnvXX399Wy+USgdPeo7q8FD3wd89Ij1XNFTQnoBbbLGFEyzoOa1hzOTJk52hF+4QH11Hrz99yNR1vIu/J6Bu58QTT3SutVIWHVqkPSrcHn/lDIG8PXG22WYbZ0irBiVx9fQp5fgLraPWzz33nDz66KMb9YrR8KF3795OoNSrV6+24ZE6XPedd96R119/fZOQSnuq6LnpD9f8/lGDdR0qfNttt7UNTz7ooIOcXlelLt7gScOrww47rGCI9eGHH4r+o4G+N9jROtbzWdvXSi06bE17IL7wwgsbteM6RLJfv37OkEQ9LzUg1LrXa9gdIuvt5Vbo3qYBroZa7hLF399DMOq54XW39R5YqXPD1H7LHTyVu15tb6+836Eq/R3W1DnFfhBAAAEEEPALVF3wFPbXWu2J8cADDzi9A9xFv6Brr6f9998/1Bnh/8KtwzSWL1/uPNDpog992itDyxh2+eSTT5weAfrQ6y4aOA0bNqzo8EAdOnXHHXeIbsNdNKDSeVk6duwYtiibfJ7gKTyhTcGT9njQ0Mnbi04f1jUo1QfuQvP96Pk4ZswYmTdvXhuChlXaW0WDKu/iDxeizOHj31bUUDdfDfofWLRdcOfV0XWi9vQJf+YUX0PbG+2N5M7hpO2ZDuM85phjRHua5Vs0QNTASufL84Yv++yzjxx77LEb9WaKM0j0b0vPvXPOOUe23HLL4geb5xPe4El71Z133nnOPFbFFj1uDWBefPHFtpCnnKFmsfKozZNPPukMr3N/PNDrUXsPHXXUUQXvJXosGppqYOWGw/nubf55cKIcs39bcQ2BtfkeWKweq/3v5QyeTNSr7e2V9ztUJb/DVvt5SvkRQAABBKpbIPHBk1aP/qJ8zz33iPZWchedq0aDGR2aFnTxfuHWL/innXaa84X/9ttvdx4aSp1gVR8gNBjQyWTdRXs3fetb3wo8FCXXl7shQ4Y4vQqizGml5SF4CnqG/PdztgRPel7ed999zoO2u2hvQQ1Ig577uYKrnXfeWU455ZSNeg3GNRm4f+JivVbPPffcskwq7g24tNePBmo6J477MoM4e3OEP4s2XUN77WhA7Q6v02tbh1cdeuihgecq8gdX2m5pD0nt/eRd4poM3D8MUyed115WpfQ4dctXavCk6+eaDF/b2krMwabnmvZy9U4Ef/zxx8ugQYMCtdu5gqtc97Y4JwP39hCMawis7ffAOK5dm7dRruDJZL3a3F5FCZ7i/A5r8zlI2RBAAAEEki+QiuBJqzHXw3PYYMb7hdudw0Z/nfYOCSrl119945DOveP+4q3zn+gcHIXeJJbr1NS3iumkwO5bo+J6aCZ4Ct8Q2BI8+c+JUgJXPXod8qbnufYQ0iVfyOq9RvRzpcz94g8qovScKlRz/odxt8eihrjet7qVq7dV2LNKy6shtw6zcpewbZiup+2M1pNOSu4uuYz9QWKpAaB3eHLUIZhxBE+6Df8cRV/5ylfkkEMOCVslkT6vw6V1OK47/FVtdAi43kPCLLnOi1xD6fzz4Oib7fTcDrP4z4koPae8+7X9HhjGqBo/W67gyWS92txeRQ2e4voOW43nJmVGAAEEEEiOQGqCJ60yfxgQ5jXh/slx3Qc1DZ68r6sOG/b4vyzpvB7ak6qUX9/1AUQnfNVJrd3lG9/4Rughhf7Tm+Ap/AVvQ/DkD1ZKHWLqHr3/PNC3KOqDsnfxD8PRuaO0N02YN2h5Q4FyzrOkAdfo0aPbwjT3Yd3fIyauh+vwZ9HGa/h/0Y8ynFYn+tVwzR3aqyG39gD1v5TAPzdQ2PZEz0Gd20l7lukSps0t5BWlx5NuV4cn33DDDW1zsOkb7rTnmMnFHwTppP3a8yrMteKW19/e6LmhvQR1WKy7+IeV5vpMsePXeQVvvPHGtqGacYSy1XAPLOZS7X8vR/BUiXq1tb2KI3iK+h222s9Ryo8AAgggUP0CqQqecj2I63ChXXfdtWhNeofk+H+197+uOsyX8bhfda0PBho+6RuL9Li222670D2nSg2edG4cfcjUxTvflb5yW+eWmTJlijNxug5P1IBNh3zpkJL99tuv4Fwmuv6VV17prOudH0G/LE+cONHpveBOIq8PbTqxsr69UIf0FBrOU0o4VOgLuv9v+U6qKHOBFT1RPR9YsGCB00tJe1bE8dCvQc1NN93khAdqqxMfay8Y71BOf9AQdj4ff+hTysNxUCPvQ4q/B5eeVw8++KCzqXKGX0HLqp/TgFvffOYuYdqZXPvRXk/armnIrW2FzrnkDz384ZwOxxs5cmTgcMQfROYKK8MYuJ+NGjxprzEd4ub2Mi2lZ14p5XbXifsV8Hrd6VxsGijqtalDYfXa8bd/3jdFhj2v/fPo5Asrw7pUwz3QPSY10Mn69Z6jQ+M1uHXnS9N2UE00vNU5uvTHqUIhYrnul35/bf+13dCXRWh5dVin3n+1nDpP5W677eYcgwaK+jIJXfQFBSeffHLYqtzo85WoV1vbq7iCpyjfYSNVJisjgAACCCAQg0Cqgif10vlN9Au6uwQZbqBfNnXybncScf+v9lGGH3gfBLRMYXsUxHAOFN1E0B5P/i/S+oCqXe39kxn7d6jhhM5rog9LueajyhU8uQFHoVfJ6+Ts+gp4DaJyLUkPnvzDieJ66C92wvh7coQJSPxBRZS3bxUqpz8k9Acqpob7FbN0/+7vcRnXQ3+x/fsfdMIGiYXCvWL7LvT3qMGTd0ho2GOKUm53Xf8DcjkDVm95/b3mwgwN9/eYimsIbDXcA9VQ3x575513bvJm0HznQ7H7Wrnul2558r1MwF9e/T6jbyB9+OGHYw2eKlGvtrZXcQVPpX6HjaPNYhsIIIAAAghEFUhd8KSv9dXJeTUs0iXIUCD/Q2iuL+veB5mgvyTra+u1B4n7tjHtzXPmmWfmDUqiVnap65cSPGnYo/9oTye3V0Gh/RcaYugPnnRIzFNPPeW88r7Yor84a28GfTuZf0l68KQPSd5hl9/85jdzOhQzDPt3/wNqmF4ypgIB/wO4PxyL+gAT1qzY5/3tlvZo1HngSnmDZrF9+f9e6hsG/YF8mPOgWBmjBE/a3mpvJ7f92HPPPZ0ho1EmOy9WXv/f/T2utMeZ9r6N+iKIYuXw9ygMM/TRGygHvccVK0+13AN1aKbeq4Pcc7zHXOi+5g2e4rxf6v61/dIeklpnQe6/+vZbPffcOfyi9niqZL3a2F7FGTyV8h222HXI3xFAAAEEEDAhkLrgyRtiKHCQX5q9w27yvcWnlFdM65e8q666SnQyY120h853vvMdZ/iSTUspwZPOfaVfePUfPS6dvFeH9OiDsj78TJs2zRnK5B67Hm++B1NvnemXY/1Hf83Vfeyxxx7OG710H/rftB7uvffejX6V1nlO9G1lW2yxxUascQdP3o2Xsu0469z/xd99Y5vOV2Ri8Q4LC/r6aH9QESQULvVYvOXLN2l2qQ8wpZap0Hr+oELP+xEjRpRjV5tsU3sV6lxYOsRIl6BDRf3hXpy9OcMGT9rm6DC0SZMmySuvvNI2PEqH+2rboO2HyUWD80cffbRtlyYnN/fez7QtDTLc3B/EBrlvBvGshnugDuPWH6v0BQu66H1Hf8jQif3d4Yx6n9PrRIeTP/bYYxsFVPnua97gKc77pZZR63jcuHFtoZN+b9l///3ly1/+svP9QutT75Ua9GsQ6w+nogZPlaxXG9urOIOnUr7DBrkW+QwCCCCAAALlFkhd8OQfYtOlSxc577zzRCcFz7UEnWjY/7kgk4z75+AJ+kBX7pPCv/1Sgid3Gzp/hPY4qqury/lAqxP8um91yhdQ+L9o6Yb0l+R8rx3XL9X65V/f2uV+odYHdS2Ht1dDKeFQ0ElYS9l2nPXq//Jd7DyPc9+6LX/oEGTInHfi4rjefpbruIIOGfJ/rpKTjHvDAj0m05Nhe3ui5Xujod/aO9QmSHsY5hz0Bk9h1vN+Vue/016AlQj6/fN1nXrqqYHmGiz1WL3rlTKMNN9E/FHLUw33QO9wUW2XDjvsMOfHjny90/THFA2qik3c7w2e4rxf+l8coEP+9IUler77F/2x5sknnxS9x3vDp6jBU6Xr1bb2Ks7gKex32KjXKOsjgAACCCAQl0Dqg6dirwj3P0AXeuDzz6lTbG4bfzhRzh4eUU6YUoOnIMM4/Ga5hoP5g6cgX/41CLzlllucCWB1yTWPSynhULUET5X+VdTvVCy08U9cHOTcKfWc9g4ZKtbjI8pkzKWWL9d6/mswzt5DQcrpv1aKBYn+0C7MXEJByhM1eNKeKjr/m06oXu7hbbmOx1t+DcP1bXalvMk0iJX/M/45C4OEgt7wJc45sWy/B5Y6f6PXK98PKv7gKUibF+R+6e/RpsNI9frLt+gPNXfddVfbHJb6uajBU6Xr1bb2qpzBU7HvsKW0EayDAAIIIIBAOQRSHzwVGwYUZs4Z/y/JxR62/V+Oon7ZK8cJotssNXgKMnG73yBXsOcPUXTI3DnnnFP0bX3+oVL+h/U0BU+V6E0XZmLpcgcV7rXhHzJU7GHPHzzHNaFy2Gs16DUYdrtBPx+056e7Pe+1F9d8QN6yRg2edFsaOGkvEJ1Yubm5OShFLJ/zlr/YPSiWHfo2Uugtrf79+es+zrm6bL8HarukPYK0HVi+fLkcfPDBove1Yos3VMoXLPqDpzjul/63JW611VbOUFINCwst/nYu6neRSterbe1VOYOnSrQfxc5//o4AAggggEAugdQHT/prrw6106FI/sX/MFysR5K/10axBy7/l7NKhANBLougD73+L9JBho/4Q6UgwVOQL+h6XP7hZv4JfNMUPJkeaqf+/iC2UL15eyEFHcoV5Nz1f8Y/F1uxN/35H2Di7O0Rpvz+a9D0UDstq7eO8s11p5/zh3vFAvgwDu5nvcGN1okOfyr0cK098PR610midQiUd1hRJeZ58gdnQdrKUpzyrePvybPTTjuJliHXBOveUCLuIbDVcg8Max/kXhjkM/79Frtf+v9erH1zt+9/a2bcwVMlvtvY1F6VM3gq9B027HnL5xFAAAEEECinQOqCJ/8XrEIP5GF+FXYryd/LplAPCZ209MorrxT9sqhLJb6cBTm5Sgmegv4KV+yLtJbP/5mgD2n6AHzbbbeJ1kku3yQHT/qgff311zsP27pUIngKOiGx/3Nx9qjwn99hemG563rX0f9WbJhZkGsq7Gdef/11GTNmTNtqlQie/EFivoda/+eKDTkOa6GfDzu5uHcfOkn6HXfcsdELCLbffntnuJuJtwRqWcaPH+/0JHWXoG1aKVb51vH25m1qapJRo0bJ5ptvvsnHvZ8r1kMwbPmq5R5Y7LjcycVnz54tGijpEG/vG/By1a83eIrrfum/p4UZkuu9pqIGTzbUq03tVZzBU5jvsMXOW/6OAAIIIICASYHUBU/+L0T5uqL7H4ZLrZRCX+ir5QuETcFT0C/obn0VekBNcvDkD93CupV6vvvXCzLkyj9xcTmCCi2Xv5dHqccY1xu9wuzfO/G6rhf1wTDMvt3PBp2HyzsPTbl6iEUJnvR4/BNAF+udWopXoXX8c/VUIkj09/7Ldd3571Fxz9VVLfdAty51Mm7tMaf3Dg2Z9E132n5p71r9W77FVPD07rvvOnMbavuvS5hA0xuGRm1fbKhXm9qrOIOnoN9h426z2B4CCCCAAAJRBVIXPOlQC32TmvYI0SXfEAP/w3AU6HwP0rnCgTPPPFN69eoVZXexr0vw9F/SaplcXEvsnRhb/z3XxO2xnyy+DfqHO+Z6cPX2KAoy0XGpZfaHN6Vux3RIoeX0t0fbbrutnHXWWcZ66LhW3gfbXA7+oYnlmhMravCkx+MPf/TNlyNGjCj1tAi1nv9c9A8DDrWxEj/snw8oV09Db3BcjiGw1XIPVCttp/RNqe53hzDspoKnUobvucfhvc9HDZ5sqVdb2qs4g6eg32HDnJ98FgEEEEAAARMCqQue/K8lHzp0qPNqcv/iH14TpTIKzXHy1FNPyaOPPtq2+TBd43OVSb8g65Ac7d2hD30DBgyQrl27RnpzU1KCJ39PlST3eNJz4z//+Y/ceuutbfPZBJ3vo9C5/sADDzjz5Ghgq+eXmmaz2YKXR6GhOv6gYuDAgc7bxuJ+05j/1+8o17OuW65AJV+5Vq9eLTfddJPMnDnT+UihnpRBj01fea4Bjk7Wr8GHBg8NDQ0FV/f3GvMHid5eNMXeGBi0nLk+F0fwNH/+fOe193pMupgc6qzzB1511VVOzytd4uhFp8O77rvvPtG5CPX61OGDOhdXocU7D46/d5r/mimXj+33QK2jG2+8UXSIZr5F20AdztynTx/HXs+pe+65p+3jpoKnKD2e4gye9MBtqFdb2qs4g6eg32GjtK+siwACCCCAQDkEUhU8+R9y802Q6+/Vol8odf6PDh06BKoD/bXv7rvvbntILNRDwh9+RJ3fxj98Qt/W9O1vfzvn5OmBDqbEt9oFHdoVdo6nMK8e9/+i739w8tt/5StfkUMOOaQgSzX1eNIu+VdffbV8+umnzjFFnZ/FP9l+0DouFEZ4Jy4uZ08iv4X2GBo+fLhoL44giw4d0fnCtOeRLuUaQlaoLP4AOOqQRH+4HjT0867nb1/KOR+Q1yaO4Mnf9pQrWMlVpxrq6DxTOneXLlHP/VzBapDhe/5r2ruOibm69NhtvgdqcKFD19zAV8ur7V7//v2lX79+ss0220jHjh03CWyD9DwyMcdTkHuae37eeeed8tprrzn/GrXHk031akN7FVfwFPQ7bJB7Gp9BAAEEEEDAtECqgqfp06fLzTffLGvWrHGc8/VE8r9auJR5Lfy/SuXrIeH/ItGuXTs57bTTnC+2YRd9+NAHPx0O4C6llN2/X5t6PGnZgvYK8w/z8g+l8T/wBHlQ8z+s5vuCXkpvqrD1Xezz/odR7YHy9a9/Xfbff/9iq+b8+8svvyxjx45t60EVNCQtNPzKG1SU4+1n7oF4e3bofysltNFjf+mll9psTE8y7g+VtZeMTgitD75hlxUrVjiTz7///vvOqmGCD3+QeOKJJ8rgwYM3mUOrnD5xBE+V7PGk5v4XUey4447ODxzFeinlqmuda+iaa64RDZJ0CRqM+tsI7zXovWbKOQTW5nugv93QOtIhy4XeoKj+/pcBmOrx5O9JFzRM9v9IE0fwZEu92tBexRU8Bf0OG/Z+wOcRQAABBBAwIZCa4CnXL5f5Hj69D5hhHsi8Feb/tbjQg4B+Sb3rrrvaJgTVCc91/hYdThNm0SFQOhzHfZtOXHNy2BY8BQ08ir2V0B8i5Rt26a2DoJM82xA8abn95ejUqZMTVmjvpzCLfzLmsK9Vz/UQq9eEDnVyw48gwV+YMruf9T9UBX0o9+/LH0hH7UEW9li0J+U///nPtl4Juv6QIUPkyCOPDDU0UcOGJ598Uh5//PG2EDFM6Od/8YIbqutkyzokSb2D9oYLa+B+Po7gyR8qmJzjSY/D33tSr6njjjtO9MeCMIvWhw7r0uNxlzBDQb3ntXvP0B6B3jeCBg0wwpTb+1lb74HeXkBhzml/SG0qePLPrRS0jfKH2nEET24AV+nvNja0V3EET2G+w5Z6HbIeAggggAAC5RRIRfCU64t5vt4C/qEHpc694R9KoZWYrweAPqhpd36do8NddH4O/bJa7JdV9/P+YED/uz5InXDCCU5vhiiR30HMAAAgAElEQVSLbcFTkF5h+lCnphoU6ZLrF3v/r8PFAq1cw1ls7vGkx61l1nlfXnzxxbZTQM9p7VkRNHzK9YU37LAk71A3N7TSIaxuUFFqGBTkvPY/VOkcOKeffnroniW5ggK3t0+QcsTxmQ8//NAJ67Q3ny46t4wGpjpEtNhcW+7+9SFfhwK3tLQ4/0nbBx12qOFC0EWHCd1+++3O+eVeW3qO6bAWXYpdS0H3k+9zUYMnf4+vsEFq1PK76+ucPDoPm1sX2tvp+OOPd+oiyDxnuULEMAGJlsN/Xut9SsOv0aNHOz2oSv3xJYyRrfdA73mmof25554rm222WcFD8/c+0w+bCp50X/5A9bDDDnPaiHznU66e0nEFT7bUa6Xbq6jBU5jvsGGuOz6LAAIIIICASYFEB0/6hUofOvXXYLdXheJqcKEPjLketPxf2g488EBnWE4pi38ohfZkOvvss3OGSfPmzXPetuf2VtL96aTgw4YNcyaLzfelUV/hrA8veozuw6iu261bN2dfuo2oi23Bk2uj4cHmm2++yeHpl10NW7Qu9RzQJVfo5+8JU+i80O3oMKsHH3yw7SFRtxs0eKrEG+VcGA19NKzQByJ30aBHz2sNJ/MFFnrMet3oXDT+dUeOHBnq7Yv+0E6vPR0i9txzzzlFCtNDI+z57B3Op+tqGLvXXnuF3Yzzef+8SPneilnSxgOupJP2PvbYY23ntrYNOjT3mGOOEZ1zKd+iE5TrujoU1/vqdx0mp2FHmIDaG9Dr/o899ljn+tDzxUSIEyV40jnPtBeGd96eKMMWA1Zbzo/pA6X2jnnllVfa/q7Xo56fRx11VMG3Fmp4dv/998ubb7650bmgQcOhhx4aKLhyd+o9rzVU1snmx40b5/w5TG+4KBY23gO9PZf0vNY6OeCAA/La6oT92lPM216qicngyR+q6n1Nr+9BgwZtUu6w97VS6teGeq10e1Vq8FTKd9hS6oh1EEAAAQQQMCFQdcGT/iJ88MEHO8FKvmXx4sXOA5AOM1q+fPlGH9Mvj/m+mPu7ZEcdqqYhkncoUbFfjqdMmeL0RPC/rlnDIw0IdDJT7SWii4YJU6dOdYbduG9Gcg9UQ4WwwUChk83G4EnLq+eCzlf05S9/WfTXaK0/He7z0EMPbRQ0Fhq66A8a821TDfRBVb8Iaj3qvnTJFzzpA4jOuaIPAbpoHeowGn3A1QcBrSNvmOh9kM73oBKlQdD5bLRnhZ433kUnzNcQSN9+qGXTRcusPcX0dfMfffRR20Ot/q1QOFesfN5hilpfaq3XajmDCv9bjaLOVaNDaN2eIHq8uXpq+Yc3hu0dVsxRzz0NBV544YWN6kYDC92XPmDq27Xq6uqcv2tbqG841PbF37Zst912Tu+3Ym+zy1Umvc7cHk4aAOu5pduPalzs+PXv3utF60Db9GK9Q/VcUwftNeYN3vR61jBS29hci7/9i3tIqJ6jGoTpDxXeRa81bfN32203J+R12x0dUq1hk7b/bk8pd71SQkRd13teq6OGwnrt61LOubr83rbdA/0/HmmdaG8w/Q6ibZi2XfoDhoYrej3q+eWvEz3GXD88lGNycdfTPxeQtg16Hmkg6fZ01etA36irPa3dH2jc9ePq8eRuz4Z6rWR75W1DyvkdNkjbyWcQQAABBBColEDVBU9RoIoNS/EPyYnjl15/b4tiPTv0oUIfqvwBQdDj1oDjlFNOcX6ljmuxLXjq2bOnE1jk+oLvP2YNKM8444y8w8pyDSMr5KZDiPT1825PnXxf0P2ho3ebuYZvljt40v2rmQ6P8vb+C3OO6AOpPqDvvPPOYVZr+6w/BHL/EHQeklJ26n9wLHb9FduHP5zO9WBe7uBJ96nBiYY+48ePD3Qd+I9LH5i1HrU+SwmddHv+Oa/cfcTxQoNi9eC/Xop9Pt/f1UHnyTriiCPy9vgqd/CkZdPwQh+MdbiiPwQIcmx6b9tvv/2cHjlheq652851XuvfyjkENt9x2XQPVBdtMzVQCrpoXei1pcfhTvaeK6wsZ/Ck59DkyZOdntBB7pMaqOm90g0b4w6e1K7S9VrJ9srfhgQ9l/yfK/YdttTtsh4CCCCAAAImBFIRPOnDhQYx2t1cQ4N8SzkeMPxhVpAv8tpr4OGHH3aGigX50qjHo7+i6QOfPkDpHB9xLrYFT9q7QXtY6ETL/h4c7nG7w4+0l5H+Ml1o0YcD3Zb2ICj0gKpfxnV7GjrpA78uhb6g++fScbetk8brBN/eYYImgif3AVcDCx1ulc8u15dd/bX8q1/9asGhXEHOOf9QNV2nXD0q/POs6TmhoawOI4qy+MMsf3BmInhyy6+9FvThUnu0BQ0stNekvmZde7oFnRcql5f/rVX6mai9RIPWSxzBk/b20+GmuYYgectRjvtCruPU+ps2bZo88MADmwzVKuSi7Yi+6VPnBQwyL1S+bfnPa/1c1KA2aH36P2fTPVADc70/aPhU7Bpz60J7qOkbdLU+dck1JLecwZPrqfvX4YL+XtFeb/3uoOeP3gf1hQPF7mul1qmuV8l6rWR7FTV4CvodNkrdsC4CCCCAAALlFkhk8KQPU/pQoZOA6hdn/fWx0NwniuzvjREkIApSObm+7AR90NZ19YujBhj6a6EOG3SDKP0iogGGvn1Iww/9YqtDa8qx2BY8ub8e61vpnn76adEv8GqjJhoy6ZxYOg+HPgQEfRDTBwo11mBEfxl1h8ipsW5Ph1a42/N6FAqedJs6vEyHM2gA6Z1AWHth6YOiu5gKntz96S/5OjxEh2rqsAy11PPNXfS4tWeZHp+GTmHfsJjvPPQPQSxnUOF/s2RcPav8LyDwDxU0GTy5zlomfTB+44035OOPP3bOX/chWXsz6PA3PY91OJm2GVECJ2/dTpw40Zn3zF3i6CUapA0rJXjSnl16HmuvxTAOpoIn97i13jQo0LrUIUo6J5XbHulnNCjQ3ik77rijMxeU9qAM2s4VstU5AnUYqZ4/upRzCGyQOtbP2HIPzHd/0OtI7zl6Tu2zzz6yzTbbtNWF97zJ9X3CRPDkGup3CB0KqD2a1FTLrQG0fj/Se6W2D0Hva0HrrtDnKlWvlWqvwgZPpXyHjaNe2AYCCCCAAALlFKiK4KmcAGzbfgENRa688sq24Ydxz7Fik4D7QJ1rMlqbyklZigu4AZQGlho0xt0TsXgJ+EScAu7DY5Lbnzi92BYCCCCAAAIIIIAAAq4AwRPngvUCaQme9K1jN910kzOJOcGT9adl0QJqDySd0F2H3RA8FeWy/gN33nmn00OQ4Mn6qqKACCCAAAIIIIAAApYJEDxZViEUZ1OBtARPbg8ZnRzYPwcU50V1CehQRp0XRoOKvffe25kbjKV6BXS427XXXuv0utS3APbv3796D4aSI4AAAggggAACCCBgWIDgyTA4uwsvkIbgSSeJvuOOO0TnQNK5W/ThVudyYak+AZ2/5JlnnnHmH9PltNNOI6iovmpsK7GGTvfee6/z8gGdT0lD4Y4dO1bxEVF0BBBAAAEEEEAAAQTMChA8mfVmbyUIJD140olr77vvPudV6joJ7ciRI53hWSzVKaAh4nXXXSc6WfPgwYOdt2mW8or76jz65JVaJyQeN26cU4cnnnii8zZAFgQQQAABBBBAAAEEEAguQPAU3IpPVkgg6cGTsupb7x5++GHntdb6NjmW6hXQIFHf9KZv1tQ3WBI6VW9dasn1jYF33323DBkyxHkzIAsCCCCAAAIIIIAAAgiEEyB4CufFpysgkIbgqQKs7BIBBBBAAAEEEEAAAQQQQACBsgsQPJWdmB1EFSB4iirI+ggggAACCCCAAAIIIIAAAghURoDgqTLu7BUBBBBAAAEEEEAAAQQQQAABBBBIvADBU+KrmANEAAEEEEAAAQQQQAABBBBAAAEEKiNA8FQZd/aKAAIIIIAAAggggAACCCCAAAIIJF6A4CnxVcwBIoAAAggggAACCCCAAAIIIIAAApURIHiqjDt7RQABBBBAAAEEEEAAAQQQQAABBBIvQPCU+CrmABFAAAEEEEAAAQQQQAABBBBAAIHKCBA8VcadvSKAAAIIIIAAAggggAACCCCAAAKJFyB4SnwVc4AIIIAAAggggAACCCCAAAIIIIBAZQQInirjzl4RQAABBBBAAAEEEEAAAQQQQACBxAsQPCW+ijlABBBAAAEEEEAAAQQQQAABBBBAoDICBE+VcWevCCCAAAIIIIAAAggggAACCCCAQOIFCJ4SX8UcIAIIIIAAAggggAACCCCAAAIIIFAZAYKnyrizVwQQQAABBBBAAAEEEEAAAQQQQCDxAgRPia9iDhABBBBAAAEEEEAAAQQQQAABBBCojADBU2Xc2SsCCCCAAAIIIIAAAggggAACCCCQeAGCp8RXMQeIAAIIIIAAAggggAACCCCAAAIIVEaA4Kky7uwVAQQQQAABBBBAAAEEEEAAAQQQSLwAwVPiq5gDRAABBBBAAAEEEEAAAQQQQAABBCojQPBUGXf2igACCCCAAAIIIIAAAggggAACCCRegOAp8VXMASKAAAIIIIAAAggggAACCCCAAAKVESB4qow7e0UAAQQQQAABBBBAAAEEEEAAAQQSL0DwlPgq5gARQAABBBBAAAEEEEAAAQQQQACByggQPFXGnb0igAACCCCAAAIIIIAAAggggAACiRcgeEp8FXOACCCAAAIIIIAAAggggAACCCCAQGUECJ4q485eEUAAAQQQQAABBBBAAAEEEEAAgcQLEDwlvoo5QAQQQAABBBBAAAEEEEAAAQQQQKAyAgRPlXFnrwgggAACCCCAAAIIIIAAAggggEDiBQieEl/FHCACCCCAAAIIIIAAAggggAACCCBQGQGCp8q4s1cEEECgagRaW1tl/vz5Mm7cOHnqqafkhRdecMq+yy67yN577y1HH320DBo0SLLZrPPf161bJ3/+85/lL3/5i3z3u9+VCy+8UGpqagoer3edSy65RM4++2zJZDKBjdasWSO/+tWv5IYbbpADDjhA/vrXv0rPnj0Dr88H8wvYWP///ve/5Zhjjslb6O233945N0eMGLHRuUk9hxewsf69RxG2fOEFWEMFFi1aJI8++qjzj15/n332meh1NnjwYDn22GNln332kdra2jasiRMnyplnnim77rqrXHnllYHaY3cdbcP/9Kc/SefOnfPiz5gxQ84991x5++23c36mS5cusueee8phhx0mRx11lDQ3N1ORCCCAAAIVFCB4qiA+u0YAAQRsF1iyZIlcddVVcssttzgPGltvvbX06dPHCZk0jNIv/7roA/7PfvYz6datm/PvkydPljPOOEO22morZ/1tt9224KF+9NFH8v3vf18WLFgg11xzjfTr1y8UzdSpU2XUqFGydOlS+fjjj+W6666TI488MtQ2+PCmArbWf7HgyT2SDh06yP/8z/84QWa7du2o4pACtta/exilli8kQ6o/vmrVKrntttucHxLUWwOdnXbaSdq3by+LFy+WKVOmOD5Dhw6VX/7yl879QRdti3/4wx/Kv/71r0DtsffHhz/+8Y9y0kknFXQvFjx5V9aA7NJLL5WDDjoo1A8aqa54Dh4BBBCIWYDgKWZQNocAAggkRWDhwoXy85//XB566CHnoeIHP/iB8+u127Np/fr18tZbb8nvfvc7efbZZ+Vb3/qW8/nGxkYnpNIgauzYsYEeOh555BEnHDjxxBPl17/+tbONMIs+GP3kJz+R733ve07PrL322quk7YTZZ9I/a3P9u8HTKaec4jxQ1tfXb1Qdy5Ytk8cff1x+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b5QaAQQQQAABBBBAAAEEEEAAAQQQsF6A4Mn6KqKACCCAAAIIIIAAAggggAACCCCAQHUKEDxVZ71RagQQQAABBBBAAAEEEEAAAQQQQMB6AYIn66uIAiKAAAIIIIAAAggggAACCCCAAALVKUDwVJ31RqkRQAABBBBAAAEEEEAAAQQQQAAB6wUInqyvIgqIAAIIIIAAAggggAACCCCAAAIIVKcAwVN11hulRgABBBBAAAEEEEAAAQQQQAABBKwXIHiyvoooIAIIIIAAAggggAACCCCAAAIIIFCdAgRP1VlvlBoBBBBAAAEEEEAAAQQQQAABBBCwXiA1wdObbw1VPpIAACAASURBVL4pI0aMkIsvvlhOPvnkvBWzcOFCueGGG+Tuu++WyZMnS79+/eSoo46S7373u9K7d2/rK5QCIoAAAggggAACCCCAAAIIIIAAArYIpCJ4mjZtmpx//vkyfvx4uf322/MGT/Pnz5dzzz1XHn74YenVq5f07dtX5s2bJ1OnTpXdd99drr76atl3331tqTvKgQACCCCAAAIIIIAAAggggAACCFgtkOjgqbW1VZ5//nk577zz5I033nAqIl/wtHLlSrnooovkiiuukF/+8pfO/29oaJDVq1c761xwwQUydOhQueaaa6R79+5WVyqFQwABBBBAAAEEEEAAAQQQQAABBGwQSGzw9OGHH8pf//pXueqqqxxnDZE+/vjjvMHTyy+/LMccc4zss88+zlC75ubmtvppaWmRSy65RC677DIZO3asDBs2zIa6owwIIIAAAggggAACCCCAAAIIIICA1QKJDJ6095L2UNLeSXvttZf89re/lYkTJzrhUb4eT5dffrn84Ac/kNGjR8uoUaM2qbQJEybIkCFDnO3q9mpra62uWAqHAAIIIIAAAggggAACCCCAAAIIVFogscHTX/7yFxk0aJAcfPDBUldXJ//3f/8nv/jFL3IGT6tWrZIf/vCHTu+oZ599Vg488MBN6kXneRo+fLhsvvnm8o9//EO6detW6bpj/wgggAACCCCAAAIIIIAAAggggIDVAokMnnKJFwqeli5dKmeddZZMmjRJxo0bJ4MHD95kE4sXL3YmJV+wYIHcddddztvuWBBAAAEEEEAAAQQQQAABBBBAAAEE8gsQPIlIkFApyGc40RBAAAEEEEAAAQQQQAABBBBAAAEE/itA8ETw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gAACCCCAAAIIIICAKwIET66wUigCCCCAAAIIIIAAAggggAACCCCAAMETYwABBBBAAAEEEEAAAQQQQAABBBBAwBUBgidXWCkUAQQQQAABBBBAAAEEEEAAAQQQQIDgiTGAAAIIIIAAAggggAACCCCAAAIIIOCKAMGTK6wUigACCCCAAAIIIIAAAggggAACCCBA8MQYQAABBBBAAAEEEEAAAQQQQAABBBBwRYDgyRVWCkUAAQQQQAABBBBAAAEEEEAAAQQQIHhiDCCAAAIIIIAAAggggAACCCCAAAIIuCJA8OQKK4UigAACCCCAAAIIIIAAAggggAACCBA8MQYQQAABBBBAAAEEEEAAAQQQQAABBFwRIHhyhZVCEUAAAQQQQAABBBBAAAEEEEAAAQQInhgDCCCAAAIIIIAAAggggAACCCCAAAKuCBA8ucJKoQgggAACCCCAAAIIIIAAAggggAACBE+MAQQQQAABBBBAAAEEEEAAAQQQQAABVwQInlxhpVAEEEAAAQQQQAABBBBAAAEEEEAAAYInxgACCCCAAAIIIIAAAggggAACCCCAgCsCBE+usFIoAggggAACCCCAAAIIIIAAAggggMD/B3Ze4OdNfh7RAAAAAElFTkSuQmCC" width="388" /></div><div><br /></div><div>Very linear until the top end which is great. After that I computed the average at each measurement point and looked at the deviation from the average for each CV output.</div><div><br /></div><div style="text-align: center;"><img height="241" src="data:image/png;base64,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blmH7L333nuj50jP/9NPP23z588fGz9lq8bNN77xjdGcs5OtIfojC9iXX37Z/u///i+ad+u945lnnrGRkZHoFpo36L1Cfttss80iv9UZ/7K0K7Sy4nvBBRdEZi2yyCL2gQ98IOpbZV153ts09p177rnRM6xL81G9/+h9q5tLseCss86yefPmRbfxmXsn61Of1LinOe9jjz1mmoPEfVTP5hJLLGErr7xyNPatu+66Ubyp6ypyvhuqP5Jsk/3al7nmJvLRmmuuGcXYVVZZxevdx/f+TS7XdwKX60w98Outt569613viibn3VytJsK635vf/GZ797vfXchgp0ClicYvfvELe/TRR73M1cC7+eab20477VS40IXA5eWCloUk0P7mN7+JxE8NNKFc7kAR25X2kq3fnXfeedEkuMgB/3//93/tuuuuy3RPTcr1In7ttddGApfvpWdFz6ueFU2sqrrKeK5D8kcejhLuNcmNFwt0j6JE0zz25PlN3ja4E25Nbg455JCuxFdNds8444zoBVWX7z31Oz1HmpzFL7Y+LFZYYYVoXF1jjTUKGft86tQY/MADD9hVV10VvSDEQnan32oOIJFL8a2dGB+SP3w4JMvkjedZ6ymzfN42hBQDJWT96le/sjlz5pjGft9rqaWWsp133jlagKlS6JKNs2bNstmzZ3vbK1u1AKGX51biTkj+8OWvcoqZioESJX1joOLf7rvvHsU/rmwEqhS4unlvc0X3It713AVdn3tq/iih7Wc/+5lJRPYZ9+SReOx7xzve0fX7bxYPlzHfVf2h+KMdizwCl3svCZSKsRK7qhwPsvi3V8r2vcAVO0Ivs3vvvXe0+pz3cl8g4vtkVeDb1a8V6UsvvdTuu+++XCbq5VArDBp4i7oQuLKTVHDXROmnP/1plO0UWtabO8DGLdSqz2GHHdZxxeeWW26xmTNnjg2wmpTvt99+uV9wxUerWf/4xz8iM1ZaaaXIhsUWW6wt+IceeigSRnwF4FY30iCy7777RquxZV9lPtch+CMPPzfbKL6HXpoUp6dOnZrntpX+pps2uKu4Raxi/+EPf7Af/vCHYwze8573RJkG7S7Zr/guET5eAc4KUP7Sy64WeMrKIo5t0gu5Mt/uvPNO7wl+sj2dnvkQ/JGVfVy+m3iet86if9dNG+qOgXrZVDamMqKTGY9ZGb3hDW+w/fff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z0WC2eqrrx6JWRK9YlFNL9mf+tSnIht0FdleH8N9fOBzH8q0JuDDt0if08fN0l6KYk/pOf+v//qvSATv9uWwyf2/n/v4n/70J/va175mv/zlLyMXtxovllpqKfvv//5v23///cf6UZHPdKe+lde+JvfXvG2P5xZ/+ctf7KWXXrKPfexjCyygaS6jf9c8o9V8xq07ucDxjW98w/bbb79xRe655x774he/ONb/2s0jJPB87nOfi+YZea6885Wi2+va7hvL9bvNNtssYiVxkQsCEGgGAQSuZviZVkKgpwhccMEF9olPfMI+8pGPRKvjmqB8+ctfHrcKJ3FIAtDll1/uNWH83//932jSqVXN5L20Cqr6TjzxxOgl5KijjrL3vOc99trXvnaMmcpohVRZZRK7VK9Erqwvv48++qj9z//8j/30pz+NMsKOOeaYaNIVZ2pJhPjjH/8YCW3KJDv44IOj8lp9LKq9vh3Bxwe+96LcggR8+Bblc/r4f/jHL0UHHnhglG3hitTPPPOMXXvttZFwoevMM8+0KVOm0H1zEujXPn7TTTfZcccdZxI2FKOVmZPMMJbIcfXVV0f9SAKBxhZlDipjuKhnupNLurEvp6sb/bPrr78+EqAOOeQQ++tf/xrNC9yscwGKnwf1F43rEydObMvt73//e7SYpv7iZoQpu1zzI81F9tprL/vQhz5ka6+99tg8QhlX+r36349//GPbaaedojnFcsstl8lP3cxXimxvK6PjWP62t73NTjnlFFt66aXHFdMzePvtt9vpp58eiYDK5jr55JOjDDsuCECg/wkgcPW/j2khBHqKQLzy98ADD0Rp+eeee260/eOcc86JJinJ6+KLL7aPf/zj1u6FNS6b3Crjrp5qoiRRS5e2PW611VZttyDOnTs3mnQqq0sTp/XWW8+brUQGtec73/mOHXTQQfbpT386yghrdd1///1RBolsS67eFtFeH4Oz+MDnfpQZTyAL3yJ8Th//D/80gUtlkpkTeonUFmiu7AT6tY8rA1h94s4777QTTjjB9txzzzFhIUlJIoOydT760Y/aiiuuOE6kKOKZbueRIuzL7u3m/iKeW1x66aV23nnnRVvzdHRCqyytOKNxoYUWshkzZkRbCdtd8YKcK4Y9/vjjUVag+pbikxba2gllL7zwQpS9ddFFF0VilzIJ3WMZ2tVfxHyliPa2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sWrVqmH7OFd1DbsBPkgCJEACJEACJEACJEACJEACJEACJEACChOgwCUTaDCBS4DU2y2KK1euxDPPPAMhyg0ePBhvvvkmkpOTZY6Y1UiABEiABEiABEiABEiABEiABEiABEiABMIloMsdXHIGI3ZHDRs2DJ9++ikGDhx4xSPz589H9+7dpR1Vb7/9NuLj44tsNtz2fD4fFi1ahMcffxzieKIQtp566inYbDY5w2AdEiABEiABEiABEiABEiABEiABEiABEiCBYhKIWoFrzZo16NWrF1q3bo1JkyahTJkyeSg8Hg9ee+01Kcn77Nmz0bt376CYwm1vyZIleOSRRyCOOX700Ufo168fzGZz0P5YgQRIgARIgARIgARIgARIgARIgARIgARIQBkCUStwORwODB8+HOPGjZPErJdeeglJSUlwuVyYMmWKtHOrS5cumDBhAipUqBCUVjjtpaamSrvHFixYIO0ku//++2EymYL2xQokQAIkQAIkQAIkQAIkQAIkQAIkQAIkQALKEYhagUsg2LNnD5599lnMmzdPuqmwTp06OHz4MEQOryZNmmD8+PFo06ZNAK2UlBS0b98ePXr0wNSpU1GuXLm8n4fannj+oYcekuUNIbo9+OCDsuqyEgmQAAmQAAmQAAmQAAmQAAmQAAmQAAmQgHwCUS1wiWGKXVTiiOLMmTOxceNG1KtXDz179pQSvdeqVesKEkUJXKG053a78fLLL0s3JcopFLjkUGIdEiABEiABEiABEiABEiABEiABEiABEgidQNQLXKEPmU+QAAmQAAmQAAmQAAmQAAmQAAmQAAmQAAnEEgEKXLHkTY6FBEiABEiABEiABEiABEiABEiABEiABAxIgAKXAZ3OIZMACZAACZAACZAACZAACZAACZAACZBALBGgwBVL3uRYSIAESIAESIAESIAESIAESIAESIAESMCABChwGdDpHDIJkAAJkAAJkAAJkAAJkAAJkAAJkAAJxBIBClyx5E2OhQRIgARIgARIgARIgARIgARIgARIgAQMSIAClwGdziGTAAmQAAmQAAmQAAmQAAmQAAmQAAmQQCwRoMClM2+6XC788ssvmDhxIlJSUhAXF4euXbvimWeeQadOnWA2m3VmMc0hARIojMCFCxcwePBg2O12jBkzRvq7oJKamopJkyZh5syZ2LhxI+rVq4eePXtKz9aq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Q6P/INL9ZUqv05J6RJtjYn4nfepmBL766qt04403pl9//TU9+eSTacqUKYNOJGZRvOCCC9JBBx2U640DDjgglVyn1Uxro2kjlLZHmtF0VAI7t0B0RY7eFb/88kvXDxLXcATBTj311LTPPvvkySci87u0jTCe9UhbSkYGV0tKIqKyl112We5msHHjxjRjxowBZ1YNRLd48eI8KG23t78t+ShOgwCBfwV2FODatGlTmjdvXr6JRaO3f7fAmF1l1apVKboZrl+/Ps2fPz/v9c8//8ypzTHjUv/fV+iff/55Hr9j2rRpA/ZZdX+IblKddUg0uuPmGQG1bvWPAiVAYHQCkbn13HPP5e5F8TAbQeyYISkyroZbSq7TknpEm2N05WltAnUEqhdP0f2/23076ovolnjllVfmrszVPbrkOi1tI5TUI3VMbEuAQHeBobooxtolbYTxrEfaUqYCXG0piZRyP9y4uZ1xxhn54fXII49McdP7+OOP88Pntm3b8jrxdwsBAu0X2FGAK6YKj2DVQw89lINZMchsdE+IBmrMmhSZW7NmzUrr1q1LBx54YN8Hjv0uXLgwTZ48OT344IPplFNOyQ/O8VYoGsevv/563j7WqZaYqSmyxCKzKzI+Fi1alAPlMRZAZJasXr06/z3+FinNFgIEygWqAWS///77AdN/72iPJddpaT2izbGj0vB3Ar0TePnll/Og0scee+yA+3bc71944YXcfTmWyMw+/fTT+w5ccp2WtBFK65HeCdkTAQIhMFyAq6SNEPscr3qkLSUowNWWkkgpP2hGtkb87L333unEE09Mf//9d87qiv/H7+NtcDWNaItO3akQINBFYEcBrtgkHoSXLFmSuw4efvjh6eijj85Th0d68gknnJAeffTRdNpppw3Ye2R3RUbIzTffnOLNcGSA7b777unTTz/N/4/fx08Ey/ovH374Ybr66qtT9Ps/5phj0mGHHZaPH+nQMXB9BNri+BYCBMoF4sVUDCJ/2223jWgnnVOBl1ynJfWINseIisdKBHoiEPfteIEUD69xnz7ppJPS/vvv33cPjvt/DBFw3nnnDcj0LLlOS9sIJfVIT3DshACBPoHhAlyxUkkbYTzrkTYUpQBXG0qh3znEm5zXXnstpyrHw3E8tJ555pn5oTS6Nww1dkfLPobTIUAgpXwNz5w5c4eZUfFGJrooPv/882nLli05+HT22WfnzM0jjjiiq2WM7/P+++/nAFhMMR7B8Hjre/nll+f++kN1Y46xQCLrK7K8IogWjewY9yO6SMeYHxYCBOoJbN++PV+HMTvqSJbOAFdsU3KdltQj2hwjKSHrEOiNQNy3P/roo3y/j2zqeLkU9+AYguCSSy5JU6dO7Xqgkuu0tI1QUo/0RsdeCBAIgR0FuErbCONZjzRdkgJcTZeA4xMgQIAAAQIECBAgQIAAAQIECNQSEOCqxWdjAgQIECBAgAABAgQIECBAgACBpgUEuJouAccnQIAAAQIECBAgQIAAAQIECBCoJSDAVYvPxgQIECBAgAABAgQIECBAgAABAk0LCHA1XQKOT4AAAQIECBAgQIAAAQIECBAgUEtAgKsWn40JECBAgAABAgQIECBAgAABAgSaFhDgaroEHJ8AAQIECBAgQIAAAQIECBAgQKCWgABXLT4bEyBAgAABAgQIECBAgAABAgQINC0gwNV0CTg+AQIECBAgQIAAAQIECBAgQIBALQEBrlp8NiZAgAABAgQIECBAgAABAgQIEGhaQICr6RJwfAIECBAgQIAAAQIECBAgQIAAgVoCAly1+GxMgAABAgQIECBAgAABAgQIECDQtIAAV9Ml4PgECBAgQIAAAQIECBAgQIAAAQK1BAS4avHZmAABAgQIECBAgAABAgQIECBAoGkBAa6mS8DxCRAgQIAAAQIECBAgQIAAAQIEagkIcNXiszEBAgQIECBAgAABAgQIECBAgEDTAgJcTZeA4xMgQIAAAQIECBAgQIAAAQIECNQSEOCqxWdjAgQIECBAgAABAgQIECBAgACBpgUEuJouAccnQIAAAQIECBAgQIAAAQIECBCoJSDAVYvPxgQIECBAgAABAgQIECBAgAABAk0LCHA1XQKOT4AAAQIECBAgQIAAAQIECBAgUEtAgKsWn40JECBAgAABAgQIECBAgAABAgSaFhDgaroEHJ8AAQIECBAgQIAAAQIECBAgQKCWgABXLT4bEyBAgAABAgQIECBAgAABAgQINC0gwNV0CTg+AQIECBAgQIAAAQIECBAgQIBALQEBrlp8NiZAgAABAgQIECBAgAABAgQIEGhaQICr6RJwfAIECBAgQIAAAQIECBAgQIAAgVoCAly1+GxMgAABAgQIECBAgAABAgQIECDQtIAAV9Ml4PgECBAgQIAAAQIECBAgQIAAAQK1BAS4avHZmAABAgQIECBAgAABAgQIECBAoGkBAa6mS8DxCRAgQIAAAQIECBAgQIAAAQIEagkIcNXiszEBAgQIECBAgAABAgQIECBAgEDTAgJcTZeA4xMgQIAAAQIECBAgQIAAAQIECNQSEOCqxWdjAgQIECBAgAABAgQIECBAgACBpgUEuJouAccnQIAAAQIECBAgQIAAAQIECBCoJSDAVYvPxgQIECBAgAABAgQIECBAgAABAk0LCHA1XQKOT4AAAQIECBAgQIAAAQIECBAgUEtAgKsWn40JECBAgAABAgQIECBAgAABAgSaFhDgaroEHJ8AAQIECBAgQIAAAQIECBAgQKCWgABXLT4bEyBAgAABAgQIECBAgAABAgQINC0gwNV0CTg+AQIECBAgQIAAAQIECBAgQIBALQEBrlp8NiZAgAABAgQIECBAgAABAgQIEGha4H8jOyrY5vKVDAAAAABJRU5ErkJggg==" width="392" /></div><div><br /></div><div>This is a lot more illuminating. The CVs are varying ±20mV from the average over the whole range. That's a bit more than I would like. Part of it is probably due to amplification of the DAC outputs and variance in the amplifier circuit components. I think with a rig to measure the CVs and compute a calibration curve for each I could tighten this up considerably but that's going to be a lot more effort. For now I used this data to configure a scale value to get pretty close to the desired 1V/Octave output on the CV.</div><div><br /></div><div>At this point I started testing a few of these in my skiff. In the middle of testing my VCO design I discovered that this v1 design is very sensitive to the impedance of whatever's plugged into the CV. This is a design flaw. I compared my CV output to the Befaco design and quickly saw the issue. On each CV output, just before the jack, I have a 1k resistor to limit the current the op-amp has to source. That 1k should be in the feedback loop of the amplifier. As it is the voltage across that 1k is different with any difference in impedance on the output. So the calibration above only works out if the calibration rig has the same impedance as whatever the unit is plugged into which is unlikely. I need to make a v2 to fix that because of where the resistors ended up in the layout, a rework on 16 outputs would be too difficult. I can kind of compensate for this with calibration tweaking but I'd rather not, the v1 modules are still fine for other uses.</div><div><br /></div><div>Changes for v2:</div><div><ul style="text-align: left;"><li>Some LEDs are misaligned, not on the 14mm grid.</li><li>A6 and A7 on the Arduino can't be used as digital outputs, so LED1 and LED2 don't work. </li><ul><li>A6 and A7 could be used on V2 for a sample and hold function and or a clock input function or for calibration.</li></ul><li>LED1 and LED2 probably need to be removed, unless some of the pins tied to control signals for the DAC or 74HC595s can be used instead.</li></ul></div><div><div>12V Current: 87mA</div><div>-12V Current: 12mA</div><div>5V Current: None</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/midi_cv_gate_pcb" target="_blank">https://github.com/EchelonForce/midi_cv_gate_pcb</a></div><div>Schematic: <a href="https://github.com/EchelonForce/midi_cv_gate_pcb/raw/main/midi_cv_gate_v1.pdf" target="_blank">midi_cv_gate_v1.pdf</a></div><div>Code: <a href="https://github.com/EchelonForce/midi_cv_gate_firmware" target="_blank">https://github.com/EchelonForce/midi_cv_gate_firmware</a></div><div>BOM & Test Data: <a href="https://docs.google.com/spreadsheets/d/17jLRTZttW_fUKyBUjGPclkI__MrPMjEAAVD5uBoMfVg/edit?usp=sharing" target="_blank">Google Docs</a></div><div><br /></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-72466869767994885612022-09-07T22:17:00.001+02:002022-09-07T22:18:25.192+02:00Eurorack LFO Module - Stomp LFO<p>Here's another LFO module, this time in only 7 HP. Like the <a href="https://www.robotdialogs.com/2022/09/eurorack-lfo-module-vclfo10.html" target="_blank">previous post about an LFO</a>, the chip at the heart of this one comes from Electric Druid's line of LFO chips. This one is the <a href="https://electricdruid.net/product/stomplfo/" target="_blank">STOMPLFO</a> chip.</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyDfHpyatLixkfOp9rj4U4I21uIAyg0XbOnPj3fk343BERrWf1DQo7KpwMgk-Zyap6MFoSmUWPB2iInndt252ZO7VwyUXJ0dk9AJApRqDszHAjC9SGbEKLpZtHPx3auzb3eDW5q1dvjOGBZ0IcKnuUkoz-eZMyIny0O5DkxZ0qvdJYejBhQuccgsGx/s3375/PXL_20220802_195611177-Edit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1984" data-original-width="3375" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiyDfHpyatLixkfOp9rj4U4I21uIAyg0XbOnPj3fk343BERrWf1DQo7KpwMgk-Zyap6MFoSmUWPB2iInndt252ZO7VwyUXJ0dk9AJApRqDszHAjC9SGbEKLpZtHPx3auzb3eDW5q1dvjOGBZ0IcKnuUkoz-eZMyIny0O5DkxZ0qvdJYejBhQuccgsGx/s320/PXL_20220802_195611177-Edit.jpg" width="320" /></a></p><p>The design started on the breadboard as usual. I ruined one chip by putting a 5V regulator backwards.</p><p>With the testing on the breadboard I gained a better understanding of how this chip works, the most interesting thing was the <a href="https://en.wikipedia.org/wiki/Pulse-density_modulation" target="_blank">PDM output</a> rather than PWM like the VCLFO10 in the previous design. I hadn't come across using PDM before. </p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLWkKvygWprGyHBX_4NhwneOzXjza451bPR8Ewa-l-IEseH8dc2V4AZ2crr5aFgiyYI7jc1JYumBrBxWz1sSvyN7DvYDPlsAGsxmpMDn4w5h0JafAMKjab6Ek_gVCUKohHqXOqWtaAOCxQALqPEG2menOnLgqIA5clET2BbHHTxRM963IK0GyD78Ts/s4000/PXL_20220624_135043359.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3012" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLWkKvygWprGyHBX_4NhwneOzXjza451bPR8Ewa-l-IEseH8dc2V4AZ2crr5aFgiyYI7jc1JYumBrBxWz1sSvyN7DvYDPlsAGsxmpMDn4w5h0JafAMKjab6Ek_gVCUKohHqXOqWtaAOCxQALqPEG2menOnLgqIA5clET2BbHHTxRM963IK0GyD78Ts/s320/PXL_20220624_135043359.jpg" width="241" /></a></p><p style="text-align: left;">In this scope image it's possible to see the PDM and the resulting wave (after amplification to 10V).</p><p style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdMJk6OFR4XfY3eUWfvaO63XApTEz91NBwFGHWVKIqFfVKYj5wN-BRqX2MohLDGnOE2SqKlY_qkWG2OrNaqJ7UkEt6kH4GuECCzeGZpCAunS0rMaFmy5SeG2ZGA8bdvgQ0IyKXLAr2DttTrLlfMZMRXf4kaWa3V4in8nIhFKfsZoi950N0vLEOEdqm/s1785/PXL_20220624_135415943-Edit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1343" data-original-width="1785" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdMJk6OFR4XfY3eUWfvaO63XApTEz91NBwFGHWVKIqFfVKYj5wN-BRqX2MohLDGnOE2SqKlY_qkWG2OrNaqJ7UkEt6kH4GuECCzeGZpCAunS0rMaFmy5SeG2ZGA8bdvgQ0IyKXLAr2DttTrLlfMZMRXf4kaWa3V4in8nIhFKfsZoi950N0vLEOEdqm/s320/PXL_20220624_135415943-Edit.jpg" width="320" /></a></p><p>The output stage just has a filter (passive filter from the data sheet) to tame that PDM signal. Much easier to implement that the PWM filter for the VCLFO10. I like my CVs 0-10V so I've amplified the output of the chip and that meant another op-amp was free to have an inverted signal too, so that's the outputs. </p><p>As for inputs, there's a pot to select one of the 8 available waveforms, and two more pots to change the offset and depth of the output. There's a sync input and tap tempo button to manually set the frequency.</p><p>Here's <a href="https://tinyurl.com/2bfdjrho" target="_blank">a simulation</a>.</p><p>Unlike that simulation the actual circuit's LED is driven by the PDM signal. It behaved better than when driven by the filtered output.</p><p>Issues on v1:</p><p>This was a very straight forward design. In general everything I've checked on the v1 boards works, there are just a few component that weren't quite the correct values.</p><p></p><ul style="text-align: left;"><li>Filter from the data sheet that I used with the output buffer/amp's R4 created a voltage divider that makes the output 0-5V instead of 0-10V.</li><ul><li>Using (R8+R5=430k and R7=30k) cranks it up to 0-10V as desired.</li></ul><li>R10 could be two 1k resistors instead of a 2k resistor to reduce component variety.</li></ul><div>Other stuff in the schematic:</div><div><ul style="text-align: left;"><li>There are two 5V regulator footprints, of course only one is needed at a time, I wanted to try some SMD options.</li><li>There are alternate capacitor footprints for through hole and surface mount. I wasn't sure I'd have the right values for the filter so I wanted options.</li><li>I've used a BC547 instead of the data sheet's 2N3904 because that's what I have on hand, many others would likely work fine.</li></ul></div><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEENh42Kn-hMNnQdgx77bYN2r1gnGCDrskVW7R8rHf2N7kRSqgFum_nn1z1ofzigZ7nHUUfpZJhLE8_xnx9jY52pRKyU6IqBYbA0a3dw7dxA6Kp3rPEZR7kOFy6RhDFN_814UiK2I4LjjfwvCEwLINWJK3RoEUDReksDhLDh-o33MHpliTd46Jiz1N/s4000/IMG_0502.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1182" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgEENh42Kn-hMNnQdgx77bYN2r1gnGCDrskVW7R8rHf2N7kRSqgFum_nn1z1ofzigZ7nHUUfpZJhLE8_xnx9jY52pRKyU6IqBYbA0a3dw7dxA6Kp3rPEZR7kOFy6RhDFN_814UiK2I4LjjfwvCEwLINWJK3RoEUDReksDhLDh-o33MHpliTd46Jiz1N/s320/IMG_0502.jpg" width="95" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpfSP08g5blu6IEIHVUXPezajQBvcdVgN6dloRdQg1oiprko9apL708DpT2Vu6X2QMAsJ3H1tHM14w5jc-SW7B6t4msWKzSKO5pjDpmP_Vne5UmbFZHn7RzMZZYAaRc72kM7dlHyDEYQWH-p7rKL-Z4WGgQdksy5qvwwIuHmkKhRK1i34a77ULciOU/s4000/IMG_0504.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1232" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjpfSP08g5blu6IEIHVUXPezajQBvcdVgN6dloRdQg1oiprko9apL708DpT2Vu6X2QMAsJ3H1tHM14w5jc-SW7B6t4msWKzSKO5pjDpmP_Vne5UmbFZHn7RzMZZYAaRc72kM7dlHyDEYQWH-p7rKL-Z4WGgQdksy5qvwwIuHmkKhRK1i34a77ULciOU/s320/IMG_0504.jpg" width="99" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Zzp815N9uwWX4ayg3yK_l36zme-Didjt6ode366J9E5Jsb1jmF38yclJmAFUjwDTW_Ai2Y3KAS2HTuQuoDyV_NaAwEdG0D2As0qqr75pse-rmeYsgxCgy3i8HiK2AKNywXajwGGHp4umXw_NeSsbj49ex_BLLBeqcpLcxaMJ9jB3Hks4SNf_UYtp/s4000/IMG_0494.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1487" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1Zzp815N9uwWX4ayg3yK_l36zme-Didjt6ode366J9E5Jsb1jmF38yclJmAFUjwDTW_Ai2Y3KAS2HTuQuoDyV_NaAwEdG0D2As0qqr75pse-rmeYsgxCgy3i8HiK2AKNywXajwGGHp4umXw_NeSsbj49ex_BLLBeqcpLcxaMJ9jB3Hks4SNf_UYtp/s320/IMG_0494.jpg" width="119" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8Jv2t7GqwJNja7Enk6jxlcIc58f1SexwxczY_0Vy3weiqO1XVmXehZR5iTYL6V1923TsdaUWdZojq8_2IiWncJbt96aOkq3y85YSxJ5jjPVdvoWDtGT-jQbwy11oLrilbxWP13L5P35SBhkW2dDbfLr-QnidjEAjPDPE0ABDlxvaE5k3Pmhskh2-/s4000/IMG_0493.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1475" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj8Jv2t7GqwJNja7Enk6jxlcIc58f1SexwxczY_0Vy3weiqO1XVmXehZR5iTYL6V1923TsdaUWdZojq8_2IiWncJbt96aOkq3y85YSxJ5jjPVdvoWDtGT-jQbwy11oLrilbxWP13L5P35SBhkW2dDbfLr-QnidjEAjPDPE0ABDlxvaE5k3Pmhskh2-/s320/IMG_0493.jpg" width="118" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div>The front panel needed a revision, the first attempt (v1) in the repository wasn't quite correct. v1.1 is what's shown here.</div><div><br /></div><div><div>12V Current: 16mA</div><div>-12V Current: 4mA</div><div>5V Current: None</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/lfo_stomp" target="_blank">https://github.com/EchelonForce/lfo_stomp</a></div><div>Schematic: <a href="https://github.com/EchelonForce/lfo_stomp/raw/main/lfo_stomp_v1/lfo_stomp_v1.pdf" target="_blank">lfo_stomp_v1.pdf</a></div><div>BOM: <a href="https://docs.google.com/spreadsheets/d/1OUkLv5dyUGxf8l9iWjOh6s4nVDR-aju89saHefGdPtw/edit?usp=sharing" target="_blank">Google Doc</a></div><div><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-7627141562485197212022-09-06T23:54:00.001+02:002022-09-07T07:51:57.356+02:00Eurorack LFO Module - VCLFO10<p>Here's a module that's a completely overkill VC LFO. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uwwmXOIeizRaa5PnTIn-iH0DYQ1zGr6Kd1a-5xlYMufUDyC8R8-HDR6YNvJFXyd5MXQKpbhsNa-jex83pBIEa00M1ZVFERtwwi139A52wcWb_RBhNw1uBpEllSTO9wYgbAJ8H5ll72WLP3FUbP6wN8NEq4vWF1dQ6zODZ6ZO2w1FSHY77ULGuS2v/s4000/IMG_0511.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2493" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uwwmXOIeizRaa5PnTIn-iH0DYQ1zGr6Kd1a-5xlYMufUDyC8R8-HDR6YNvJFXyd5MXQKpbhsNa-jex83pBIEa00M1ZVFERtwwi139A52wcWb_RBhNw1uBpEllSTO9wYgbAJ8H5ll72WLP3FUbP6wN8NEq4vWF1dQ6zODZ6ZO2w1FSHY77ULGuS2v/s320/IMG_0511.jpg" width="199" /></a></div>It's based around the <a href="https://electricdruid.net/product/vclfo-10/" target="_blank">Electric Druid VCLFO 10</a>. I picked up three of these (component shortages). This design is pretty much a full breakout of all the functions the chip provides. I laid out the design first on the breadboard. Note, there's a second LFO on the right side, and a VCO on the left side, more on them in other posts. I reused a few things between the two LFOs and didn't want to breadboard that stuff again.<br /><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBcpH_4Rk9W9Zi7rLm2xw3ZpqJurr3YN-vT6iPcB_ehs1-wkajodESIBdptopgPdyWyaQaG9RwfWfVvWuz6idylAb270UqoCg8-M6ShAWiYuu0BN06hdJ1GcnGZoCZWIQyWyffLQKjWVGqZTqt3XKo4cEMVLhDp6Sltfl_eW2uS9Ry_g7xekvdWHG/s4000/PXL_20220730_155004898.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3012" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBBcpH_4Rk9W9Zi7rLm2xw3ZpqJurr3YN-vT6iPcB_ehs1-wkajodESIBdptopgPdyWyaQaG9RwfWfVvWuz6idylAb270UqoCg8-M6ShAWiYuu0BN06hdJ1GcnGZoCZWIQyWyffLQKjWVGqZTqt3XKo4cEMVLhDp6Sltfl_eW2uS9Ry_g7xekvdWHG/s320/PXL_20220730_155004898.jpg" width="241" /></a></div><h3 style="clear: both; text-align: left;">Outputs</h3><div class="separator" style="clear: both; text-align: left;">The chip offers 16 waveforms in two sets. To use them the circuit needs a way to select those waves, I've used an 8 position rotary switch. To switch between the wave sets there's another toggle switch. </div><div class="separator" style="clear: both; text-align: left;">I'm using the filter shown in the data sheet to convert the PWM from the chip into the desired wave.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I wanted to try an LED circuit driven by an op-amp that is similar to the circuit in the <a href="https://www.befaco.org/dual-atenuverter/">Befaco Dual Attenuverter</a>. That meant an extra op-amp on board so I used another op-amp from that package to invert the waveform so there are two output jacks. There's two LED circuits on the PCB, because I wasn't sure if I wanted a 1 LED solution or 2 LED. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The normal and inverted outputs are <span face="arial, sans-serif" style="background-color: white; color: #202124; font-size: 16px;">±</span>10V because the zero-offset can bias the outputs as needed above or below GND reference.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Simulation of <a href="https://tinyurl.com/2q49y589" target="_blank">the filter/outputs</a>.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Here's what one of the waveforms looks like on both outputs:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidtzL7HxPikA0s53VhZur8wdv7RigMiVp9FxD7i28WbWUltJTVk-feqdgv-WzlRY98SZeoIm7nwKnwfn6caU-FXR8WHMYLk7LsCTTSvBB6UEJNKeTaEkQBiud04ARuXHmXd3kOKb2nrz5I9Y-uYrvVQk-BwPo_7Kr30LP7AHdZmcLIJVrrx5pyaPu1/s2172/PXL_20220906_210600031.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1588" data-original-width="2172" height="234" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEidtzL7HxPikA0s53VhZur8wdv7RigMiVp9FxD7i28WbWUltJTVk-feqdgv-WzlRY98SZeoIm7nwKnwfn6caU-FXR8WHMYLk7LsCTTSvBB6UEJNKeTaEkQBiud04ARuXHmXd3kOKb2nrz5I9Y-uYrvVQk-BwPo_7Kr30LP7AHdZmcLIJVrrx5pyaPu1/s320/PXL_20220906_210600031.jpg" width="320" /></a></div><h3 style="clear: both; text-align: left;">Controls</h3><div class="separator" style="clear: both; text-align: left;">There are several control inputs to the chip: Frequency, Level, Wave Distort, Step Rate, Range, Sync Mode, Wave Smoothing, and Sync. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Frequency, Level, Wave Distort and Step Rate all have a knob and a CV input. I'm using non-inverted CVs (that's another input option). The circuit for CV's is one I've used before, here's a <a href="https://tinyurl.com/y4uslurz" target="_blank">simulation</a>. It handles 10V inputs and gives the chip the 5V input it needs. It could probably be simplified.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The Sync Mode and LFO Range would be better as rotary switches, but I couldn't source a small 4 position rotary so I've used a pot for it, but there's an option to wire up a rotary off the PCB for both. I just couldn't justify an even bigger panel for this thing so I made mine with knobs.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The Wave Smooth input is the other toggle switch.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The sync input has a circuit between it and the chip, it's the circuit shown in the data sheet. Simulation <a href="https://tinyurl.com/y4q85rny" target="_blank">here</a>.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The Zero Offset knob is actually in the output path, not a control input to the chip. </div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">I'll leave it to the reader to look through the data sheet for the details about what the chip's functions are.</div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9SO4ZkAg5b7fJvp7pIrEFDEkgALUYmoL_lAlmsRGRLDdTHpikPJLlK4f95rlCuVL-t5QYBphSOnFtfG9pnJfKza9PYOYKELmMdESe8zl_WB64zLnOEWRxtxMYd46CPh6UK8aykdVHVBXOg2Q5sTpBTZaLmAR7ScEeJYfZc9Cz8-DKf4sXB9n8czvK/s4000/IMG_0515.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2499" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9SO4ZkAg5b7fJvp7pIrEFDEkgALUYmoL_lAlmsRGRLDdTHpikPJLlK4f95rlCuVL-t5QYBphSOnFtfG9pnJfKza9PYOYKELmMdESe8zl_WB64zLnOEWRxtxMYd46CPh6UK8aykdVHVBXOg2Q5sTpBTZaLmAR7ScEeJYfZc9Cz8-DKf4sXB9n8czvK/s320/IMG_0515.jpg" width="200" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPS39PpGBpdJ2ck5q_C1iODt266CPTMfm6B1s4YLK3QfZ7qEEdx6bAiPv690FAHbYv2DDCGYodb_fYQsrtbgCpc2ceYo4TKgfK8NoETTCDvUTSQmYuF9ul8xkaw7yd6NSS1mxVub-y15ZB8mqvaQyGk0ExQB3eBn8AXz5MOpi9zpB5No8kfUKnD4J/s4000/IMG_0519.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1686" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhBPS39PpGBpdJ2ck5q_C1iODt266CPTMfm6B1s4YLK3QfZ7qEEdx6bAiPv690FAHbYv2DDCGYodb_fYQsrtbgCpc2ceYo4TKgfK8NoETTCDvUTSQmYuF9ul8xkaw7yd6NSS1mxVub-y15ZB8mqvaQyGk0ExQB3eBn8AXz5MOpi9zpB5No8kfUKnD4J/s320/IMG_0519.jpg" width="135" /></a></div>Bare boards:<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCEzpiXM_6UPtBCrrUTi-kJQpOSUIeAyEZxJpzqV7M9g3sbeejG7yTzmj1l2XTS2XeZ1aYG6mF6qMuFo6dCFUlfy8uaunjBqHKPoz2wt0JU-k_GqNRBHzxAj7jEU6UjEjyUNpptJy0kddS-Oj-3Wa8vlrxMtXYVpBOXnuK4-BJxD94Rw_M1s4POYiP/s4000/IMG_0521.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3116" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCEzpiXM_6UPtBCrrUTi-kJQpOSUIeAyEZxJpzqV7M9g3sbeejG7yTzmj1l2XTS2XeZ1aYG6mF6qMuFo6dCFUlfy8uaunjBqHKPoz2wt0JU-k_GqNRBHzxAj7jEU6UjEjyUNpptJy0kddS-Oj-3Wa8vlrxMtXYVpBOXnuK4-BJxD94Rw_M1s4POYiP/s320/IMG_0521.jpg" width="249" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmc9GoVh0sSTkqALWvARrIxOGYUBrePuo4QQ6nQMw7lW67_8cgue6OeKCC7mDp9F9-ncLFefIqHwkfI7jSRIeqmo07-suGakelhZstZM0WNO3N6lehUhzcf8stoEmOhZ2XN1uMqmwXtETKW0ko5p85UZhW4teHeWVQUYSZX-N-qIuwaycaAk1I9G7a/s4000/IMG_0523.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3092" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmc9GoVh0sSTkqALWvARrIxOGYUBrePuo4QQ6nQMw7lW67_8cgue6OeKCC7mDp9F9-ncLFefIqHwkfI7jSRIeqmo07-suGakelhZstZM0WNO3N6lehUhzcf8stoEmOhZ2XN1uMqmwXtETKW0ko5p85UZhW4teHeWVQUYSZX-N-qIuwaycaAk1I9G7a/s320/IMG_0523.jpg" width="247" /></a></div><div><br /></div>Version 1 Issues:<div><ul style="text-align: left;"><li>The LEDs that are driven by the op amp didn't work initially. I had the input to the op-amp going to the same place as the other LED circuit (the PWM from the chip) but that was a mistake. It should be going to the output of the filter (the same place I tap off the output to invert it). The picture of the PCB above shows the modification need to fix that (R51 should go to R73 or U6 pin 7, use pads for rework with through hole resistor).</li><li>The switches are backwards from what I intended, so the panel was altered to make it make sense.</li><li>The zero adjust potentiometer should be reversed, turning it clockwise lowers the zero point which is not the typical direction for that.</li></ul>As I mentioned before, I only have three of the chips so that's all I've assembled. Maybe when Electric Druid gets more in stock I'll build the rest, but I've got another LFO design that uses another of their chips and less HP that is a pretty good alternative.</div><div><br /></div><div>Of all the modules I've built so far this one gives some really satisfying bleep bloops when plumbed into a VCO's CV. I'm happy with it.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZ02kj_fsHCRB9g_LEAPamo1NWGU02Y8DkgQVQJk8GPjg5VbBh_0Tg0v7UQXZdPT_0dIB5eaNibqwUXbWbZiDBfZeI1CsZGw_seJDsjo46bHlUrGnU-vNdSC-FU-CnypKX7SbzeKAJwQTo4MWND8PD0nAPQeh6FlIKMoKDYkh30Up2Wq09UAePPyT/s3566/PXL_20220802_195603482~2-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1926" data-original-width="3566" height="173" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRZ02kj_fsHCRB9g_LEAPamo1NWGU02Y8DkgQVQJk8GPjg5VbBh_0Tg0v7UQXZdPT_0dIB5eaNibqwUXbWbZiDBfZeI1CsZGw_seJDsjo46bHlUrGnU-vNdSC-FU-CnypKX7SbzeKAJwQTo4MWND8PD0nAPQeh6FlIKMoKDYkh30Up2Wq09UAePPyT/s320/PXL_20220802_195603482~2-Edit.jpg" width="320" /></a></div><br /><div>12V Current: 19mA</div><div><div>-12V Current: 11mA</div><div>5V Current: None (has onboard regulator)</div></div><div><br /></div><div>Design Files: <a href="https://github.com/EchelonForce/vclfo10" target="_blank">https://github.com/EchelonForce/vclfo10</a></div><div>Schematic (v1): <a href="https://github.com/EchelonForce/vclfo10/raw/main/vclfo10_v1/vclfo10_v1.pdf" target="_blank">vclfo10_v1.pdf</a></div><div>BOM (v1): <a href="https://docs.google.com/spreadsheets/d/1eoiAUk-azbX_Uz-AhkPByz3jSdH28urMGSLGj9Cwr10/edit?usp=sharing" target="_blank">Google Doc</a></div><div><br /></div><div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div><div><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div></div></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-89542867766033420582022-09-04T23:18:00.002+02:002022-09-04T23:25:40.074+02:00Eurorack Triple Attenuverter<p>This design is a variant of <a href="https://www.befaco.org/dual-atenuverter/" target="_blank">Befaco's Dual Attenuverter</a> which I purchased from them well before I knew I wanted to build things like this myself. Their module is very useful and I recommend it. They provide their schematics with the creative commons license and markings. Help support them, <a href="https://www.befaco.org/">buy their stuff!</a> </p><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIo3f65pet3uwY8QFQKICOQ-qAS4TR0PW_SMcwtdg7CpP8_85O5C1N5c_78XQRKjZLPvePR5hBqOrenS3EewfE_JM6xvfirKJ0ufvWql1n8jv6WJorZYg14okF59QV7iLz4pk8Vh_ChhnARln1KyKUXlFqlXi0etxBKV5S9P-GrlIZAJ_5wY7h4Ji5/s1880/PXL_20220718_214001061.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1880" data-original-width="1504" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIo3f65pet3uwY8QFQKICOQ-qAS4TR0PW_SMcwtdg7CpP8_85O5C1N5c_78XQRKjZLPvePR5hBqOrenS3EewfE_JM6xvfirKJ0ufvWql1n8jv6WJorZYg14okF59QV7iLz4pk8Vh_ChhnARln1KyKUXlFqlXi0etxBKV5S9P-GrlIZAJ_5wY7h4Ji5/s320/PXL_20220718_214001061.jpg" width="256" /></a></div><div>Befaco's (left) version and my own (right). I've removed the LEDs in my design and made it a bit wider to allow three to fit. Without the LEDs it still uses only 3 dual op-amps. </div><div><br /></div><div>This is just a utility module that allows the signal on the input to be inverted, scaled and offset. Very handy in my rig for taming the 10V CVs for use on 5V CVs or just as a general extra adjustment to various signals.</div></div><div><br /></div><div>Here's a <a href="https://tinyurl.com/2dsz6da6" target="_blank">simulation</a>.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxKa9GIssUoxU_NW_h5eWaiPptaZIsRaF-j29N0vkmyLGMMHQFb2LaHaUjgOr17O5zr2d6n-Hj5mEr3yjEQY0XcXJja4UoMGQ7A_aK0VMXAcmCGWhkQZEXaeD9Jpied_STHsa0LzvCwfNyHOvod9xgWKV-MZiGsCad8i9B0Vb1N0v48goLCDkNJ4JV/s4000/IMG_0524.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1602" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxKa9GIssUoxU_NW_h5eWaiPptaZIsRaF-j29N0vkmyLGMMHQFb2LaHaUjgOr17O5zr2d6n-Hj5mEr3yjEQY0XcXJja4UoMGQ7A_aK0VMXAcmCGWhkQZEXaeD9Jpied_STHsa0LzvCwfNyHOvod9xgWKV-MZiGsCad8i9B0Vb1N0v48goLCDkNJ4JV/s320/IMG_0524.jpg" width="128" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQDTZUdBCaf1QZhuYq9BmCegXB2W8twyPiZwgZjfPA57JPWK5YVdlbhfz724RWJIpu1HJH5OVPv4wvciXVnGH9Bq-M3jdKdbiHJXqST-1A8c6p0PG3Neabt9nA5dsuZMo8s4pr-pg_LTM96cpIt1nLRHOF5wBoGxXaLf8MLKnKTp-qTkFMZQGUuLs2/s4000/IMG_0526.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1648" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQDTZUdBCaf1QZhuYq9BmCegXB2W8twyPiZwgZjfPA57JPWK5YVdlbhfz724RWJIpu1HJH5OVPv4wvciXVnGH9Bq-M3jdKdbiHJXqST-1A8c6p0PG3Neabt9nA5dsuZMo8s4pr-pg_LTM96cpIt1nLRHOF5wBoGxXaLf8MLKnKTp-qTkFMZQGUuLs2/s320/IMG_0526.jpg" width="132" /></a> </div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_rMhnPmdFEmqbBKrEevnDqG0lRLmrbwTgVdvYHFsAaEL6cDFOt_IhR26C0aAiLTmNeCRro7AGnu-0QjtwNmL7hOoLrxScv1GAVRJgdNpI17m65ydjWBFLWjzlbtu1sOqa6eWopnOHPPSrVX4eHSH94eMS9Vf41uXsMMPdn4Zn_K0s7zRUc81xhvlH/s4000/IMG_0530.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1285" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_rMhnPmdFEmqbBKrEevnDqG0lRLmrbwTgVdvYHFsAaEL6cDFOt_IhR26C0aAiLTmNeCRro7AGnu-0QjtwNmL7hOoLrxScv1GAVRJgdNpI17m65ydjWBFLWjzlbtu1sOqa6eWopnOHPPSrVX4eHSH94eMS9Vf41uXsMMPdn4Zn_K0s7zRUc81xhvlH/s320/IMG_0530.jpg" width="103" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-WDnPN-bL7s6uuKrCIcnlvJWiijvt__M6oLlbjkqEi8TtXEw1YTLbp-T81kNchOngHyJ6We5onweZubl24tXTvucTtAgZuL33L-M36B_xdcvpcLtMJpz8tv5MFm3sBTCYab13ndT52bUdFkArCyuFQ04BTHz1XUr6btjHn_dxBkAWzfxD47xliBN/s4000/IMG_0531.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1262" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhv-WDnPN-bL7s6uuKrCIcnlvJWiijvt__M6oLlbjkqEi8TtXEw1YTLbp-T81kNchOngHyJ6We5onweZubl24tXTvucTtAgZuL33L-M36B_xdcvpcLtMJpz8tv5MFm3sBTCYab13ndT52bUdFkArCyuFQ04BTHz1XUr6btjHn_dxBkAWzfxD47xliBN/s320/IMG_0531.jpg" width="101" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEmacI-BdPojPuC3Sb5hgYIFynzFUsEjEiPc2jnfXm4XVx8lcCRVANV8LkZr3VU0zvWH2ZcpZtW3bU2kNjx0-OVQ4huibtZzRLiFh1OK3c8JPrBFQ79b2aWCnWExuJ70ws34cOlEMBzEqiQonU1awS70smUU4vHEO2UIbtcVVc4n-tGqN-ZXXg6cOF/s4000/IMG_0533.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1378" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEmacI-BdPojPuC3Sb5hgYIFynzFUsEjEiPc2jnfXm4XVx8lcCRVANV8LkZr3VU0zvWH2ZcpZtW3bU2kNjx0-OVQ4huibtZzRLiFh1OK3c8JPrBFQ79b2aWCnWExuJ70ws34cOlEMBzEqiQonU1awS70smUU4vHEO2UIbtcVVc4n-tGqN-ZXXg6cOF/s320/IMG_0533.jpg" width="110" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div>12V Current: 16mA</div><div>-12V Current: 16mA </div><div>5V Current: None</div><div><br /></div><div><div>Issues on v1</div><div> - R5 and C2 are swapped on silkscreen</div></div><div><br /></div><div>Thoughts for v2:</div><div> - Not much, but the LEDs would be nice if I can figure out a layout that allows them.</div><div><br /></div><div>Design files for the PCB and Front Panel: <a href="https://github.com/EchelonForce/triple_attenuverter" target="_blank">https://github.com/EchelonForce/triple_attenuverter</a></div><div>Schematic: <a href="https://github.com/EchelonForce/triple_attenuverter/raw/main/attenuverter_v1/triple_attenuverter_v1.pdf" target="_blank">triple_attenuverter_v1.pdf</a></div><div><br /></div><div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-91537752172783913952022-09-02T22:22:00.004+02:002022-09-02T22:30:29.806+02:00Eurorack Cabinet 2212 HP!<p></p><div>I needed more space. </div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMqCkaopK-YuWGg6Zme4C04F0gyv2styIRi6w64_qwUCNzNOdhQNl36vL7Xcke3Bwv9OaoaKS7HySi5p9kd3VsluQLWL_HS0Qw03dKRmKOg_xOhkucRYsJ626kg98ROXhBSQ7jUWB3EjpkMgR8blLlg8KVL2ftGerzaAL5C1_PXoyQXVar9ojcB-_F/s4000/IMG_0066.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2224" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMqCkaopK-YuWGg6Zme4C04F0gyv2styIRi6w64_qwUCNzNOdhQNl36vL7Xcke3Bwv9OaoaKS7HySi5p9kd3VsluQLWL_HS0Qw03dKRmKOg_xOhkucRYsJ626kg98ROXhBSQ7jUWB3EjpkMgR8blLlg8KVL2ftGerzaAL5C1_PXoyQXVar9ojcB-_F/s320/IMG_0066.jpg" width="178" /></a></div>And I wanted that half of my work bench back. So I went searching for Eurorack cases and eventually talked myself into just building one. Here's how I ended up with 21U x 196HP + 30U x 84HP for a total 2212HP of 3U space!</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibwKTj33EnZkE3qq11xaas4YxyoM8f8VU38gNzmxmPOG1Jed1IMRhPNBmbgfgVgufA8m9rEYhGT_eJBoE40cp_plWFt14zNfr9Bup19siU0XMZrycwykwZKBA1BWOsZlFM_0UBTlFY8irIaZMfYFOACO6z18TWpY73qcL7kGkLq7UFUTo0mQxdPpHY/s3570/PXL_20220501_194109915~2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3570" data-original-width="2043" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibwKTj33EnZkE3qq11xaas4YxyoM8f8VU38gNzmxmPOG1Jed1IMRhPNBmbgfgVgufA8m9rEYhGT_eJBoE40cp_plWFt14zNfr9Bup19siU0XMZrycwykwZKBA1BWOsZlFM_0UBTlFY8irIaZMfYFOACO6z18TWpY73qcL7kGkLq7UFUTo0mQxdPpHY/s320/PXL_20220501_194109915~2.jpg" width="183" /></a></div>There are many cabinets out there to take inspiration from. There isn't much that's novel about mine, but I did manage to make it from just two sheets of standard 19mm MFD board.</div><div><br /></div><div>I designed this thing in FreeCAD which was an exercise in frustration but the end result was pretty good. I've used FreeCAD quite a bit since this project and it did help me learn a lot of the quirks.</div><div><br /></div><div>The main idea was that every piece of wood or metal had to be a separate part in the Part Design workbench with sensible coordinate frames for assembly. Then the Assembly workbench brings it all together. I designed the top and bottom as separate assemblies so that that there was a bit more modularity and the weight would be manageable.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqqolhqolKXoUfNObgUTb1P5nf8vbT30QzGLvNuqJ1yEdttZIC5aFoiO2I9NxeLIaZb4hH8xz2yWj1Dll4RkAoyULc7cQItQ02PV07qKHJpB0GzTwE_AWJyylN9coAe4-Tvg2dI_MqM2M6jfoxDAP1xHqpEn6up97Dq4CwI1ca2coN2YQPGOPktBTv/s856/Full%20Assembly%20-%20Front%20View.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="856" data-original-width="544" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqqolhqolKXoUfNObgUTb1P5nf8vbT30QzGLvNuqJ1yEdttZIC5aFoiO2I9NxeLIaZb4hH8xz2yWj1Dll4RkAoyULc7cQItQ02PV07qKHJpB0GzTwE_AWJyylN9coAe4-Tvg2dI_MqM2M6jfoxDAP1xHqpEn6up97Dq4CwI1ca2coN2YQPGOPktBTv/s320/Full%20Assembly%20-%20Front%20View.png" width="203" /></a></div>The top half is designed around 196HP rails from <a href="https://www.etsy.com/se-en/shop/ModularSynthLab" target="_blank">Modular Synth Lab's etsy shop</a>. I also sourced the power supplies from there.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGwa5Pm1oPIBrnQP0c9OuN6YKmDbBch48LVR8wPlnAE_znmB8IbfnF50RjKk33OIPbEJ9PwOHQGRVNENo0lbQQl7TgjsqOD9eyrrfUOZNY6W0xyyT8R03mjC-bN6QRaNRilBNoVhPbSD1h0nc2LTgRh5Jh-oGfcsG-Ki_abRzZ8J0OjEVyhE0l3r5Q/s937/Upper%20Cabinet%20-%20Front%20View%202.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="937" data-original-width="837" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGwa5Pm1oPIBrnQP0c9OuN6YKmDbBch48LVR8wPlnAE_znmB8IbfnF50RjKk33OIPbEJ9PwOHQGRVNENo0lbQQl7TgjsqOD9eyrrfUOZNY6W0xyyT8R03mjC-bN6QRaNRilBNoVhPbSD1h0nc2LTgRh5Jh-oGfcsG-Ki_abRzZ8J0OjEVyhE0l3r5Q/s320/Upper%20Cabinet%20-%20Front%20View%202.png" width="286" /></a></div><div>Once I had the design done I had the opportunity to get this cut on a friend's CNC and in the same weekend got to play a bit with sand mold making and metal casting. To prep for that I whipped up a mold pattern for my logo.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLtciIN5VSo06qwHHS5YtmP6Fi_CM0sSiszsPity9IEDBD9h4iZS20LCMISc3Co9hrymuycSfZsK9NkPOU1k48j6wrQsQC5fPSgBGe5PrM830ab6YTzBEaEffgwjY2Q1KK1dCnWjXUD0P0OCFo6B2KJySeOHwNO6Ss1fUm9dhbLZuvsI9EpkU6ATs-/s1183/render1.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="939" data-original-width="1183" height="254" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgLtciIN5VSo06qwHHS5YtmP6Fi_CM0sSiszsPity9IEDBD9h4iZS20LCMISc3Co9hrymuycSfZsK9NkPOU1k48j6wrQsQC5fPSgBGe5PrM830ab6YTzBEaEffgwjY2Q1KK1dCnWjXUD0P0OCFo6B2KJySeOHwNO6Ss1fUm9dhbLZuvsI9EpkU6ATs-/s320/render1.png" width="320" /></a></div><div>The most important part of this was getting a workable draft angle and nice fillets to allow the pattern to pull from the sand mold. I have no experience with that but I watch <a href="https://www.youtube.com/channel/UCKHArSvqZlJrqB-F-AXOjgA" target="_blank">a foundry on youtube</a> regularly that talks about this stuff all the time so I made educated guesses and it worked. The pattern was 3D printed in a resin printer.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUZ-7EVPXLqTH6RfX57aUlY5VkC7EleBmk1QHhHXdvo9GhDPgUJmIG6uZ1AIuFGg__IjoIYBEBjkm0ThLLG8bC7A2M-VD4SIlgJ_sghgikDnxnDx7FTDdFR6SrgGJuMO0zz4R-wLzZbU0GdsLW-qaOO2CL2pZ22Kpiw5D-8XEWMt2yXpzZQH9_egF-/s3989/IMG_0025.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2561" data-original-width="3989" height="205" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUZ-7EVPXLqTH6RfX57aUlY5VkC7EleBmk1QHhHXdvo9GhDPgUJmIG6uZ1AIuFGg__IjoIYBEBjkm0ThLLG8bC7A2M-VD4SIlgJ_sghgikDnxnDx7FTDdFR6SrgGJuMO0zz4R-wLzZbU0GdsLW-qaOO2CL2pZ22Kpiw5D-8XEWMt2yXpzZQH9_egF-/s320/IMG_0025.jpg" width="320" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYhKfL9VD-t1LUkho_pOZEL93hCUSZC21new4EFIIStuWnh7okSIRu5cGVJK7WKbiF8lumayNkSdXE_loQpKORhyPYy9EWOHH59Z6xYyWyDepT90k-EK2ZnV7zCNbVkhJRx-VA8d75B68he9Anh6t33XleMXF-2bZx6R4R0pMd9p_F0FGNhdxNkXrZ/s2724/IMG_0075.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2120" data-original-width="2724" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYhKfL9VD-t1LUkho_pOZEL93hCUSZC21new4EFIIStuWnh7okSIRu5cGVJK7WKbiF8lumayNkSdXE_loQpKORhyPYy9EWOHH59Z6xYyWyDepT90k-EK2ZnV7zCNbVkhJRx-VA8d75B68he9Anh6t33XleMXF-2bZx6R4R0pMd9p_F0FGNhdxNkXrZ/s320/IMG_0075.jpg" width="320" /></a></div></div><div>You can see a maker's mark there by the L, that's <a href="https://www.columbo.se/" target="_blank">Columbo</a> who's workshop made the casting and CNC work possible.</div><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/yJW-mG4_-bA" width="320" youtube-src-id="yJW-mG4_-bA"></iframe></div><br /><div class="separator" style="clear: both; text-align: center;"><iframe allowfullscreen="" class="BLOG_video_class" height="266" src="https://www.youtube.com/embed/-qCTbmk1YjQ" width="320" youtube-src-id="-qCTbmk1YjQ"></iframe></div><div class="separator" style="clear: both; text-align: left;">Here's the CNC the cabinet parts were milled out with.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_d_OXDuKBoBNxWCdn0-Msw3QiUD3RfjFE1d_6tnRyZ0ZNWBiGaS1BgR8hVW4a2oaWig5LNEbpamEso0FqJ4sd525-TNsUduP9YXWEA6AOniYzKJvCg_LAScjr5QjtshFeHWWGnmdFPbvAKsLxIOg2_dE8vlrTPX5WFaARSe5vUoaVM682EZ2_4CT/s2237/PXL_20220418_073110038.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1945" data-original-width="2237" height="278" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi1_d_OXDuKBoBNxWCdn0-Msw3QiUD3RfjFE1d_6tnRyZ0ZNWBiGaS1BgR8hVW4a2oaWig5LNEbpamEso0FqJ4sd525-TNsUduP9YXWEA6AOniYzKJvCg_LAScjr5QjtshFeHWWGnmdFPbvAKsLxIOg2_dE8vlrTPX5WFaARSe5vUoaVM682EZ2_4CT/s320/PXL_20220418_073110038.jpg" width="320" /></a></div><div>With all the parts cut out I went about assembling this thing in my living room. It was tight quarters for a few days...</div><div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGiBVypURgXhAchZEEWmbTco7Rzwa59FhQClJC4LbI-YZepZQVtkmuOzDDU5Uo9oK_oFGRF7XW4DLui9T327YHLId9l2HnRvfWWAggJEPpA3C53-AGzqQj_WP9vTZeww6WEdBSQWT_XVptVholJ-uaP2oUT6Q8sFZ_aKHvz8EXJh7W8UF-yDIyEIv/s4000/PXL_20220419_061921332.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3012" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBGiBVypURgXhAchZEEWmbTco7Rzwa59FhQClJC4LbI-YZepZQVtkmuOzDDU5Uo9oK_oFGRF7XW4DLui9T327YHLId9l2HnRvfWWAggJEPpA3C53-AGzqQj_WP9vTZeww6WEdBSQWT_XVptVholJ-uaP2oUT6Q8sFZ_aKHvz8EXJh7W8UF-yDIyEIv/s320/PXL_20220419_061921332.jpg" width="241" /></a></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4u-uG4DG1ASbxStVRiYYlxoOQBYm7qeCs3eDhulUx7RR_LdaZ5SPBkQeVIZNcKp0tiJjFZeIVoYRmSDNGTfTlRhVp8RGps5LNk2WM8loMzv-wDDKe-DaOVMuzAcaiqOo74UE5snyCpRfHcbjmRIzDvXiUC092Q8Yi8qG11ZEgIua4FSNh_hKw6LmH/s2379/PXL_20220420_194111107.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2379" data-original-width="1882" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4u-uG4DG1ASbxStVRiYYlxoOQBYm7qeCs3eDhulUx7RR_LdaZ5SPBkQeVIZNcKp0tiJjFZeIVoYRmSDNGTfTlRhVp8RGps5LNk2WM8loMzv-wDDKe-DaOVMuzAcaiqOo74UE5snyCpRfHcbjmRIzDvXiUC092Q8Yi8qG11ZEgIua4FSNh_hKw6LmH/s320/PXL_20220420_194111107.jpg" width="253" /></a></div><div style="text-align: center;"><br /></div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uAUfAwlstRooOnvTN06lsPeIrnzjW5wsHLGA9kMQmFtiXrCpHuveH3LwFzH4Vot5JSTT14NZjY81Dz1MB6cYb8iSu7KABKz_HcYvUCzmX7SOOuthPjxVhhHubNo_Y1FhLMTjjzusOA6RD2ebNNBOqyD2vs15wJf8oBPUgIqpLvR8zhPhu1_mYWyx/s3779/PXL_20220421_192504685.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2614" data-original-width="3779" height="221" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi2uAUfAwlstRooOnvTN06lsPeIrnzjW5wsHLGA9kMQmFtiXrCpHuveH3LwFzH4Vot5JSTT14NZjY81Dz1MB6cYb8iSu7KABKz_HcYvUCzmX7SOOuthPjxVhhHubNo_Y1FhLMTjjzusOA6RD2ebNNBOqyD2vs15wJf8oBPUgIqpLvR8zhPhu1_mYWyx/s320/PXL_20220421_192504685.jpg" width="320" /></a></div><div style="text-align: left;">With everything glued and screwed I went over all the edges with a router to knock the sharp corners off and puttied over the screws.</div><div style="text-align: left;"><br /></div><div style="text-align: left;">Painting also was tricky, black paint in the living room makes me paranoid.</div><div style="text-align: center;"><span style="text-align: left;"> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiyDUZu3UVYRg7s-EwATQQoQImTQwPY2IfmKRVaMK6lbz1kE9kZS_AD7NiZmYsEbvUgMN8m4wdf8dFN5tOWD7iGyAnCki7AiQx_7TKqNoYmeYeEkFpp0vH0tZFhoJsfHVB4UVH9dLDoXB-FdHw8-cC46U9qsx93ws50XvvYHyCZd2A9kpYsjg5jBee/s4000/PXL_20220423_105742713.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3012" data-original-width="4000" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiyDUZu3UVYRg7s-EwATQQoQImTQwPY2IfmKRVaMK6lbz1kE9kZS_AD7NiZmYsEbvUgMN8m4wdf8dFN5tOWD7iGyAnCki7AiQx_7TKqNoYmeYeEkFpp0vH0tZFhoJsfHVB4UVH9dLDoXB-FdHw8-cC46U9qsx93ws50XvvYHyCZd2A9kpYsjg5jBee/s320/PXL_20220423_105742713.jpg" width="320" /></a></div><div style="text-align: center;"><span style="text-align: left;"><br /></span></div><div style="text-align: center;"><span style="text-align: left;"> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRyLBFdApk15ZcMaY1uN8ipggi-msDZmRUg8mpFbaIkp9_dHUiwpxcFGmAUJhded_o1JjALE2KPdu98n8IQ23rMJuBwwPVKP9oi-oD0e9PS8I1rU0MCtMOUJe7pkbk36LTsLcTL7LwgZh8cz2-TjX1WgklZG1Rx7uY4Hm9tuD3hpYiFGUJdIiC8eeC/s2770/PXL_20220423_105723475.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2274" data-original-width="2770" height="263" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRyLBFdApk15ZcMaY1uN8ipggi-msDZmRUg8mpFbaIkp9_dHUiwpxcFGmAUJhded_o1JjALE2KPdu98n8IQ23rMJuBwwPVKP9oi-oD0e9PS8I1rU0MCtMOUJe7pkbk36LTsLcTL7LwgZh8cz2-TjX1WgklZG1Rx7uY4Hm9tuD3hpYiFGUJdIiC8eeC/s320/PXL_20220423_105723475.jpg" width="320" /></a></div><div>After a few coats of paint I started in on the wiring. The top half has seven rows for a total 21U x 196HP. Each row has two of the <a href="https://www.robotdialogs.com/2022/09/eurorack-power-distribution-pcb.html" target="_blank">power distribution PCBs</a> I designed and there are four Mean Well RT65B power supplies for the top. There are two rows of 12V LEDs in the interior which I've found very useful when plugging things in and finding things dropped inside the cabinet.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgorjt3jLAZIS4qUDQ50DLt3ppLSkblj6dHGgQBVc0vKti1GKM5HBRDewwyHEhgZc4czQIixgaN0-HnhS00jltTeWbSDq7nxniDqOWUqaII2-kUXBMyFCZyvthFHbDuUVo1a-b99oE3kXHoxy39OifdVEItvF4KZQdd79V6at95uMtibnztHH1zZxDB/s4000/PXL_20220427_183732140.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="3012" data-original-width="4000" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgorjt3jLAZIS4qUDQ50DLt3ppLSkblj6dHGgQBVc0vKti1GKM5HBRDewwyHEhgZc4czQIixgaN0-HnhS00jltTeWbSDq7nxniDqOWUqaII2-kUXBMyFCZyvthFHbDuUVo1a-b99oE3kXHoxy39OifdVEItvF4KZQdd79V6at95uMtibnztHH1zZxDB/s320/PXL_20220427_183732140.jpg" width="320" /></a></div><div></div><div>On the bottom half I've installed standard 19 inch server/network rack rails which will accept all the existing rails and other equipment in the first photo as well as a bunch more equipment like audio interfaces and what not. This adds another 15U on each side with 84HP available (but not the way I use it). That brings the total up to an absurd (10x84)+(7x196)=2212 HP.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIOLdp50SimqiogWRHSAGxGUhuT9asPd8VSSnVqSapvUjF1vEndRRzVlB3CVf7PiUhaJB1o-V6fCKjq8-JR82MkZTWv_pRPHDjE2uaJjAYqiHNZEXBo6oapK1YljFFKeW3YyTUjq3fWgZeCrU3LnrALi9UVJLAX8es-ptI5kUGERrfEZQJ0AFS6dlN/s4000/PXL_20220501_085113681.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3012" data-original-width="4000" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIOLdp50SimqiogWRHSAGxGUhuT9asPd8VSSnVqSapvUjF1vEndRRzVlB3CVf7PiUhaJB1o-V6fCKjq8-JR82MkZTWv_pRPHDjE2uaJjAYqiHNZEXBo6oapK1YljFFKeW3YyTUjq3fWgZeCrU3LnrALi9UVJLAX8es-ptI5kUGERrfEZQJ0AFS6dlN/s320/PXL_20220501_085113681.jpg" width="320" /></a></div></div><div>It's heavy and honestly a little top heavy. Initially I was going to have the casters inset in the bottom half to lower the height a few centimeters, but I didn't have them before the CNC was available so that didn't happen. Now that it has equipment in the bottom it doesn't seem unsafe, but initially, on the high quality casters it felt a little tippy. If I had to do it again I'd make it 10cm deeper.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDm4aL_xg2kKNSlbvytwsywN3McKhX0-czC2lL-2oJC-ruImp6XrixQ6JWtYjw9COLSBSYeRmwcbc-q10S2cLp1vTyZmJLeKh08YNSLjYPiYpoDmnrl44PeGhuKHe0e6He6T4mW4NWxljsrRLkqkSHoD_ErmO-KRGSntv5_1P-I3XQCUGLY9W8aEE4/s3568/PXL_20220501_085023571.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3568" data-original-width="2280" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDm4aL_xg2kKNSlbvytwsywN3McKhX0-czC2lL-2oJC-ruImp6XrixQ6JWtYjw9COLSBSYeRmwcbc-q10S2cLp1vTyZmJLeKh08YNSLjYPiYpoDmnrl44PeGhuKHe0e6He6T4mW4NWxljsrRLkqkSHoD_ErmO-KRGSntv5_1P-I3XQCUGLY9W8aEE4/s320/PXL_20220501_085023571.jpg" width="204" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJH3U9avfQLyiAkMqZ9Zn7npBvmH9W6ubg73oi7uSpxoF0OkJYlVcwJr7NmMl6MGarVDmV2G493WNtXUTMpX7zXQdWicqeObIRzgi_2fpR6NmtGlMUuwwwaWHLvXJqx9pQcFcDAdCsOXt8PHF4YRcjdfB8wjquaDPFAUSyPa3IZfy-YJwjnhnPexkw/s4000/PXL_20220501_090044278.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1741" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJH3U9avfQLyiAkMqZ9Zn7npBvmH9W6ubg73oi7uSpxoF0OkJYlVcwJr7NmMl6MGarVDmV2G493WNtXUTMpX7zXQdWicqeObIRzgi_2fpR6NmtGlMUuwwwaWHLvXJqx9pQcFcDAdCsOXt8PHF4YRcjdfB8wjquaDPFAUSyPa3IZfy-YJwjnhnPexkw/s320/PXL_20220501_090044278.jpg" width="139" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOiFq1gTrNkHXO0NhUfiRVeAzp_lOszoE50U2ANjuV2s_Ak7Mn413Co5CRK60RYToao9nu9dZUxMIhvmGIsvEA4iXlpWor11o6JxV8CyX8xUTEjIEENJHma3v_VDPmcj5bOY43DU0ydByz-Kp5wJx1P8kfx0JZCq45SrYmuhOPKG3GW8iK-voxQDA_/s4000/IMG_0059.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2115" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhOiFq1gTrNkHXO0NhUfiRVeAzp_lOszoE50U2ANjuV2s_Ak7Mn413Co5CRK60RYToao9nu9dZUxMIhvmGIsvEA4iXlpWor11o6JxV8CyX8xUTEjIEENJHma3v_VDPmcj5bOY43DU0ydByz-Kp5wJx1P8kfx0JZCq45SrYmuhOPKG3GW8iK-voxQDA_/s320/IMG_0059.jpg" width="169" /></a></div></div><div>I also designed a modular cable rack that I could 3D print (this time in black PLA) to fit the sides. On the old rack I had a metal cable rack I found on the web, but I've had bad luck with cable racks (that was the third web find) so I just made my own. I also stocked up on <a href="https://polarnoise.com/product/braided-eurorack-patch-cables/" target="_blank">patch cables from Polar Noise</a> which I've been happy with.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkTuxcOoGQdHgubFbn3e43QgsRDvIIoGN99y2GBQFUmZWQQoicIhcAVt8BaRtzPYjrrPYhNs5GyRC6c6pjW2I0zMbe06L2oJB0NMvPirIF1SfCnN3jc4u3Jh63ybzvyf1G8MhhWmAxLMnh-0ybiz6k0kBYt2jhE3WqHd6qGsGorGIGnx0MipNMspuy/s2684/PXL_20220503_171032870.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2684" data-original-width="2380" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhkTuxcOoGQdHgubFbn3e43QgsRDvIIoGN99y2GBQFUmZWQQoicIhcAVt8BaRtzPYjrrPYhNs5GyRC6c6pjW2I0zMbe06L2oJB0NMvPirIF1SfCnN3jc4u3Jh63ybzvyf1G8MhhWmAxLMnh-0ybiz6k0kBYt2jhE3WqHd6qGsGorGIGnx0MipNMspuy/s320/PXL_20220503_171032870.jpg" width="284" /></a></div><div class="separator" style="clear: both; text-align: left;">The only thing left to do was fill it with stuff...or so I thought. After putting all my gear on the rack and some new stuff, I started to trip the breaker. As it turns out, the initial current draw of all the caps in this thing is significant but brief! I borrowed a clamp on current meter that I could use with my oscilloscope and measured the current spike...</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4-_e24bkrUsbZo_LUzIWroX2ShTvazDqTA1e8KZnc2msvIj_Ydfou1TlMH3NOAWzBTvYaq940CYJ91X2IvYarv5G6rIi-NoBgutbSaCIi8_MtKnOklu5e8iSwiQkS-TgiXbAH_L6pzrg0kIhkxjD6ET4sGTOlv0JKAod9JdcUJxpl2Iuq82Ezn1KI/s2820/PXL_20220518_184350477.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2820" data-original-width="1024" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg4-_e24bkrUsbZo_LUzIWroX2ShTvazDqTA1e8KZnc2msvIj_Ydfou1TlMH3NOAWzBTvYaq940CYJ91X2IvYarv5G6rIi-NoBgutbSaCIi8_MtKnOklu5e8iSwiQkS-TgiXbAH_L6pzrg0kIhkxjD6ET4sGTOlv0JKAod9JdcUJxpl2Iuq82Ezn1KI/s320/PXL_20220518_184350477.jpg" width="116" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEign2V8VUpqhIf_DVwGv-n4sfZLo3OfjN6ZxHcID2jAUnXW_6Moof7iSFTu2VQ_R_5sLd0GrOVIarmOibWicu7ZpaYnX4s01KrowB2FQUap0L4yDeIQ1ccQEvHGzGPRXqPN61aIbgRgAinCBEOcQykAllkqnkOAkHCrQ4-aqGIsfoDI1qtxZ_ScxqDd/s1977/PXL_20220518_193903201-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1395" data-original-width="1977" height="226" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEign2V8VUpqhIf_DVwGv-n4sfZLo3OfjN6ZxHcID2jAUnXW_6Moof7iSFTu2VQ_R_5sLd0GrOVIarmOibWicu7ZpaYnX4s01KrowB2FQUap0L4yDeIQ1ccQEvHGzGPRXqPN61aIbgRgAinCBEOcQykAllkqnkOAkHCrQ4-aqGIsfoDI1qtxZ_ScxqDd/s320/PXL_20220518_193903201-Edit.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">That's over 30 amps when the switch is flipped! (The meter is 100mV/A and the scale here is 1V per division). This was a little tricky to measure because half the time you power it up when the AC is at a low point and you can't get the spike to trigger and the other half the trigger hits but the breaker trips.</div><div class="separator" style="clear: both; text-align: left;">Anyways the result of that test shows the need for some sort of inrush limiter. I bought a DIN rail mounted <a href="https://www.elfa.se/en/ac-inrush-current-limiter-16a-90-mm-din-rail-mount-mean-well-icl-16r/p/30229936" target="_blank">ICL-16R - AC Inrush Current Limiter</a> because I couldn't find a suitable alternative.</div><div class="separator" style="clear: both; text-align: center;"><br /></div>After installing that the current looks much more manageable and the breaker hasn't tripped once.<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-pIhfcyfz-t07y-YbbIFWY3XuVaLx6axxNEWNah_Nwp6OJc-eRQ3hq-eDThqR9kiuye906awyjO4FTbVojekQVTY2PfSczdFh0V-XAmrG8tPdhSbzvZQB7vJ_OmO3XiIXDvKmE5r0ABqaacfxEY55F2z-xR60TvPevKWpWkBVfWUc2C7pMbPokQqS/s3742/PXL_20220529_174842210-Edit.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2837" data-original-width="3742" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj-pIhfcyfz-t07y-YbbIFWY3XuVaLx6axxNEWNah_Nwp6OJc-eRQ3hq-eDThqR9kiuye906awyjO4FTbVojekQVTY2PfSczdFh0V-XAmrG8tPdhSbzvZQB7vJ_OmO3XiIXDvKmE5r0ABqaacfxEY55F2z-xR60TvPevKWpWkBVfWUc2C7pMbPokQqS/s320/PXL_20220529_174842210-Edit.jpg" width="320" /></a></div><div>One final mod to the cabinet which I wasn't sure would work out was adding this shelf to accept my Roland System-8. Here's what this thing looks like today (spoilers).</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvdCTGHBhLTnGzBt4IAsvoIAbCn5FWcRIWpgKrtUtzTEAMbSynkPhWP-zpxKMTEjQLeTOFreq6zOnYRCHG4smHDTdlWLjqPNXxdtrMafKMJuib_z0GV5gRWYIsZA5YnsB-WuetaNJrAZhVNQmMmexZMjF3XO1GPRmM9IkUnzRe54Nk-s2h_A4PpQAS/s4080/PXL_20220902_185207451.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4080" data-original-width="3072" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhvdCTGHBhLTnGzBt4IAsvoIAbCn5FWcRIWpgKrtUtzTEAMbSynkPhWP-zpxKMTEjQLeTOFreq6zOnYRCHG4smHDTdlWLjqPNXxdtrMafKMJuib_z0GV5gRWYIsZA5YnsB-WuetaNJrAZhVNQmMmexZMjF3XO1GPRmM9IkUnzRe54Nk-s2h_A4PpQAS/s320/PXL_20220902_185207451.jpg" width="241" /></a></div><div>The design files for this cabinet are available here: <a href="https://github.com/EchelonForce/eurorack_cabinet">https://github.com/EchelonForce/eurorack_cabinet</a></div><div>And also on <a href="https://www.thingiverse.com/thing:5492695" target="_blank">thingiverse</a>.</div><div><br /></div><div>The cable rack can be found here: <a href="https://www.thingiverse.com/thing:5492713" target="_blank">https://www.thingiverse.com/thing:5492713</a></div><div><br /></div><div>I would estimate the overall cost of this was about $800, with the rails and power supplies being the bulk of that.</div><div><br /></div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div><div><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div><p></p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-63950444152315613652022-09-02T22:21:00.001+02:002022-09-04T23:26:22.923+02:00Eurorack Power Distribution PCB<p>For the <a href="https://www.robotdialogs.com/2022/09/eurorack-cabinet-2212-hp.html" target="_blank">Eurorack cabinet</a> I built, I needed a way to distribute power to all the modules. My old had Behringer power supplies with 'flying bus' cables (flat cables with female connectors). In the cabinet I wanted something more robust/fixed to the cabinet so I designed my own PCB. It has very little actual circuitry on it, it's mostly just traces and connectors with a few caps here and there. No rigorous design went into this, I just looked about on the web for similar solutions and them made my choices based on components I had.</p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqoYKNRmB44UsQ1liZj1flVTWLFBmZHnbZlwkK1Si3dLJLQ3Azezj688xwhm9JqEQxH1VfKg8nbL1fxapbzu3Y2G8G6L-GpcU20rbQYeJL7mSb4aeFHRleH0-5lWy2-nPYcxG11PcaUNhvEtR6LHsRARzoWm5TTcFNyYZ5bKuTOx9e8OxyhSiPXDZ/s4000/PXL_20220902_200102991.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2350" data-original-width="4000" height="188" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDqoYKNRmB44UsQ1liZj1flVTWLFBmZHnbZlwkK1Si3dLJLQ3Azezj688xwhm9JqEQxH1VfKg8nbL1fxapbzu3Y2G8G6L-GpcU20rbQYeJL7mSb4aeFHRleH0-5lWy2-nPYcxG11PcaUNhvEtR6LHsRARzoWm5TTcFNyYZ5bKuTOx9e8OxyhSiPXDZ/s320/PXL_20220902_200102991.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;">As shown, I've got both 10 and 16 pin female connectors, that's not very common on the ones you find on the web, but hardly any modules use the 5V and CV/Gate lines on the 16 pin connector so I figured I'd get rid of a bunch of those and save myself some soldering.</div><div class="separator" style="clear: both; text-align: left;"><br /></div></div><div class="separator" style="clear: both; text-align: left;">One thing I did add to this which I think is a nice touch are dimensions right on the silkscreen layer. This way I don't have to guess or dig up the design files if I want to throw one of these in another case some day.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheB0aehE1Mx--leqA1zdhejgijNY14KpcNZWqzwAXKhL3naAAFC3Lh9K4a-I0xfRVHhUnJp_PgvsPyHAoc8nGEiH-Qv1_O-fgegrO-ZZDydAMbNxaIpfAhSF_csPrjhXSjAaJbiWpYGGbQxMCJCrKujYRFOtApXtmtMvnsr6IKmJoN731SM6LycTuV/s3505/IMG_0201.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3505" data-original-width="2875" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEheB0aehE1Mx--leqA1zdhejgijNY14KpcNZWqzwAXKhL3naAAFC3Lh9K4a-I0xfRVHhUnJp_PgvsPyHAoc8nGEiH-Qv1_O-fgegrO-ZZDydAMbNxaIpfAhSF_csPrjhXSjAaJbiWpYGGbQxMCJCrKujYRFOtApXtmtMvnsr6IKmJoN731SM6LycTuV/s320/IMG_0201.jpg" width="262" /></a></div><div class="separator" style="clear: both; text-align: left;">The design allows the PCBs to be daisy chained together so less wiring is needed.</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdiyGr9iXNO_XIwyfDkHlbbGJLbCnaD5USW3Sy75bG9ToTeipKjSTeqhEteHr2-G9n-Ajo7CQhVPAeZN4v3CT8NK6M4nIjwKtExDPzumGBWj3-ad00pG-fxF8fybzOGduGdABesjX3jztUtxSVRr1xv34bDwsNBUHwlQ1_f5AWVobCieiLN2badMP5/s3809/PXL_20220902_200057402.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1662" data-original-width="3809" height="140" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdiyGr9iXNO_XIwyfDkHlbbGJLbCnaD5USW3Sy75bG9ToTeipKjSTeqhEteHr2-G9n-Ajo7CQhVPAeZN4v3CT8NK6M4nIjwKtExDPzumGBWj3-ad00pG-fxF8fybzOGduGdABesjX3jztUtxSVRr1xv34bDwsNBUHwlQ1_f5AWVobCieiLN2badMP5/s320/PXL_20220902_200057402.jpg" width="320" /></a></div><p></p><p>Assembly Order</p><p></p><ol style="text-align: left;"><li>Resistors</li><li>LEDs</li><li>2x5 and 2x8 sockets, only 1 or 2 pins on CV/Gate lines (which have lower heat sink capacity)</li><li>Caps on +/- 12 Rails (skip the ground pin)</li><li>Finish soldering all pins with extra hot air preheating the board. This was absolutely necessary on the 2oz copper because the heat sinking capacity of this PCB is huge.</li></ol><p></p><p>The v1 schematic didn't have a value for the LED's resistors. 1kΩ works just fine.</p><p>As usual this design is available here if you would like to have some fabricated for your use. I specified 2oz copper instead of the usual 1oz on most PCBs and that cost a bit more (probably wasn't necessary either). Because of the size they aren't super inexpensive they were a bit over $5 each, still way less than buying them premade.</p><p>I assembled another one to have at my workbench and printed a few brackets to hold it in place.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKWpQ3Va7mZhDcZzLrLFp172ugxfiLK_4yXPIsKHcfkx6GYsWLvQxnR1_4nAfuEr876OdeBjq43DCv9hgHDNfjyBbFi04CO4IFheDXd8fTPHOzGUtJbldNkEPM7lLRTCw1HgY_DfutzIsqRQoFwCHfwLCe5GZbazRrPP4SlbPwx8E5mOi16Gs6pAth/s3911/PXL_20220902_200012260.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1274" data-original-width="3911" height="104" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKWpQ3Va7mZhDcZzLrLFp172ugxfiLK_4yXPIsKHcfkx6GYsWLvQxnR1_4nAfuEr876OdeBjq43DCv9hgHDNfjyBbFi04CO4IFheDXd8fTPHOzGUtJbldNkEPM7lLRTCw1HgY_DfutzIsqRQoFwCHfwLCe5GZbazRrPP4SlbPwx8E5mOi16Gs6pAth/s320/PXL_20220902_200012260.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><p>Design files: <a href="https://github.com/EchelonForce/eurorack_power_strip" target="_blank">https://github.com/EchelonForce/eurorack_power_strip</a></p><p><a href="https://github.com/EchelonForce/eurorack_power_strip/raw/master/power_strip_v1/power_strip_v1.pdf" target="_blank">Schematic</a></p><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div><div><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com2tag:blogger.com,1999:blog-3915062462128065384.post-6530585317969035672022-08-31T23:34:00.021+02:002022-09-02T22:30:51.237+02:00Breakout Boards for Synthesizer Development<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Zwd8MYuhBjkfeaGd4MJIUiO-T0fyoJzICTUnlPSxII4lTRcf47-wUUFQRrAFE2tHJdk729gyFZVHTFogJC8SKYPq4MX-qz8fydiO_CFRSFtsiE4nFsCNvBQtenHYbs-oedYHWaS-4jnc_-R8an6JLm6tTth8YaUBRGeXGLm9aIqptBncSMeDygsp/s4000/IMG_0469.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2667" data-original-width="4000" height="213" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Zwd8MYuhBjkfeaGd4MJIUiO-T0fyoJzICTUnlPSxII4lTRcf47-wUUFQRrAFE2tHJdk729gyFZVHTFogJC8SKYPq4MX-qz8fydiO_CFRSFtsiE4nFsCNvBQtenHYbs-oedYHWaS-4jnc_-R8an6JLm6tTth8YaUBRGeXGLm9aIqptBncSMeDygsp/s320/IMG_0469.jpg" width="320" /></a></div><p>One of the first things I bought when I started messing with my own synth designs was a few of these <a href="https://www.thonk.co.uk/shop/eh-croutons/" target="_blank">red break out boards</a> for audio jacks.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMbGHvMWXG198wwjQ8QHyKCJ94Tl_n9UFtwh884cdOo2KNJQlL-gzE-nes1b_McOKg93Zxf32C9GXP-zp9hCYTIQYV5_v2EFUHFsK0n04OoDWwL676kR52Gm0fIWZZn0Fy2oJYsG8BfMrlAyH9UuGF5R-EsGpqkUhZkVRqdWLWDiQ9NwQJWYxbYtSS/s3083/IMG_0425.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3083" data-original-width="3083" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjMbGHvMWXG198wwjQ8QHyKCJ94Tl_n9UFtwh884cdOo2KNJQlL-gzE-nes1b_McOKg93Zxf32C9GXP-zp9hCYTIQYV5_v2EFUHFsK0n04OoDWwL676kR52Gm0fIWZZn0Fy2oJYsG8BfMrlAyH9UuGF5R-EsGpqkUhZkVRqdWLWDiQ9NwQJWYxbYtSS/s320/IMG_0425.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div>They were immediately useful, I recommend them; however, I was on the way to making several designs at once and wanted to leave these things on breadboards for weeks or months so I needed more but wasn't to happy with the sizes and wasn't too jazzed about the import prices.<p></p><p>So I came up with my own designs for a few break out boards for common stuff.</p><p>There's a BOB for the <a href="https://www.thonk.co.uk/shop/alpha-9mm-pots/" target="_blank">alpha pots</a> I've been using. It's also possible to put the <a href="https://en.wikipedia.org/wiki/Switch#/media/File:Tactile_switches.jpg" target="_blank">ubiquitous 4 pin momentary push buttons</a> on this PCB, but that's a hack...</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaNdF3elelJ-77LlsLgRjuTCCGtgu3Y6n577ZP8_-fEgWUZ06lC4VjMxf46z_nKo2bu2AmSg9ymqR1CZSQguPISDSf24gj2WEpnOHQ2y8eCEW6SpSKVEKJMCFDTwQcOe5244Ldz-Uz9Les8kZC-OhHlV0Pnmtm3q0Tu8c44aP6WoTqGnbV3b-EalJ9/s844/IMG_0128.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="844" data-original-width="522" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaNdF3elelJ-77LlsLgRjuTCCGtgu3Y6n577ZP8_-fEgWUZ06lC4VjMxf46z_nKo2bu2AmSg9ymqR1CZSQguPISDSf24gj2WEpnOHQ2y8eCEW6SpSKVEKJMCFDTwQcOe5244Ldz-Uz9Les8kZC-OhHlV0Pnmtm3q0Tu8c44aP6WoTqGnbV3b-EalJ9/s320/IMG_0128.jpg" width="198" /></a></div><p>Another for the MJ-355W jacks I've been using but it also fits <a href="https://www.thonk.co.uk/shop/thonkiconn/" target="_blank">Thonkiconn</a> jacks.</p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_1MB45js-xiX0a3yMgItM-xarRZGphaSiwzml92EdEIpuKFXnWCiU4E97dmJGZhOgGFstfUHNeS5r2F7MNFf27l6XZ--FLhBatHRK7wdKGx_u5ieZVTfdahud3jYw8cfwteTrnqydNM7i6AqmxNhMjPUsd1iEwnK0i5QPnVjbdbCpWGYJ7Fu4G_5/s665/IMG_0114.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="624" data-original-width="665" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjc_1MB45js-xiX0a3yMgItM-xarRZGphaSiwzml92EdEIpuKFXnWCiU4E97dmJGZhOgGFstfUHNeS5r2F7MNFf27l6XZ--FLhBatHRK7wdKGx_u5ieZVTfdahud3jYw8cfwteTrnqydNM7i6AqmxNhMjPUsd1iEwnK0i5QPnVjbdbCpWGYJ7Fu4G_5/s320/IMG_0114.jpg" width="320" /></a></div><p></p><p>And one more for the typical power supply I've been putting in modules.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGB-BOAmuwsAo-wPSmtzjFzT0cGHwAZucawTYzhBBN78CvrngXE3rE_OQD_sQQ93dYg5ZwYdO6Eiv3h4Xkh2rzYQMv_wWU2wuGNcN9szL2xFNA3B8Cf3NOkWgGFoH0xxDX1c2KMe0TzOuAeq6h9tT8Bf96gnAEg5JaHIxsJIb5pYqhH20OcmxAHRZ/s1297/IMG_0122.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="642" data-original-width="1297" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyGB-BOAmuwsAo-wPSmtzjFzT0cGHwAZucawTYzhBBN78CvrngXE3rE_OQD_sQQ93dYg5ZwYdO6Eiv3h4Xkh2rzYQMv_wWU2wuGNcN9szL2xFNA3B8Cf3NOkWgGFoH0xxDX1c2KMe0TzOuAeq6h9tT8Bf96gnAEg5JaHIxsJIb5pYqhH20OcmxAHRZ/s320/IMG_0122.jpg" width="320" /></a></div><p></p><p>There's really nothing too special about these but it was a good exercise to go through to figure out how <a href="https://support.seeedstudio.com/knowledgebase/articles/388503-what-are-the-pcb-panelization-rules" target="_blank">Seeed's PCB panelization</a> works. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCoLS42P7335oiDv8vqqzLketDVxi_-BtFPoM6-OGdyWAK8GzngVYaroqVsG4bml-cc1LQU2mTqjW3mNCe6rGe5U2_pV4fRh3_NYy1wFhqe3kzsCeYJ4qN2jTbLyDNbsY_7J6xR58lQc5KWoCIe-4AQYnGP_ib5GQc_WK_4MpYDSdv3dsunn1z4vB/s1496/panelization.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="896" data-original-width="1496" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitCoLS42P7335oiDv8vqqzLketDVxi_-BtFPoM6-OGdyWAK8GzngVYaroqVsG4bml-cc1LQU2mTqjW3mNCe6rGe5U2_pV4fRh3_NYy1wFhqe3kzsCeYJ4qN2jTbLyDNbsY_7J6xR58lQc5KWoCIe-4AQYnGP_ib5GQc_WK_4MpYDSdv3dsunn1z4vB/s320/panelization.png" width="320" /></a></div><p>As it turns out panelizing the designs is a pretty easy step, I've just been doing it manually and the results have been good. In general the steps (in KiCad) are:</p><p></p><ol style="text-align: left;"><li>Make sure you're done with the design and the DRC works as expected, any changes after panelization is done either needs to be done N times all over the panel or you have to re-panelize.</li><li>Save the finished original PCB as a new file e.g. jack_bob_panelized.kicad_pcb (kicad may generate some other files, but I just ignore them.</li><li>Select the entire board and copy pasted it to fit just inside the fab house's PCB limit (100x100mm) in the case of Seeed</li><ol><li>The Special Tools>Create Array tool can do this too, but it might reannotate the parts which isn't desirable, check the 'Keep existing reference designators box' to prevent that)</li><li> Line up the original board's Edge.Cut layer (the board outlines). It helps to use snapping to the grid for this.</li><li>Remove extraneous Edge.Cut geometry. The pasted board outlines have a lot of overlapping lines, I draw new extra long lines over those and then remove the old ones, leaving only the minimum set of lines on the layer, so that it's clear where the milling should happen. (this is required according to their spec. "The v-cut line must go across the entire length of the boards".</li><li>Add the required 'V-CUT' text on the Edge.Cut layer. I also orient these to the line they are near.</li></ol><li>Save the ...panelized.kicad_pcb.</li><li>Generate outputs for the pcb layers and order.</li></ol><p></p><p>It's looks like a lot in text, but in practice it's a pretty simple set of steps to do right before ordering. If I find some issue on the design I just redo the steps after fixing the original. I treat the panelized design as a generated output and don't really archive it.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6rTbMq42o0oGW4c-qZuIN9So6o4IhkohYZHIwUQQRHLcuBJWIId5ksUCO8LpjgMOpHqJpeK_F6Rgx8Dh1o1RKI6ofsQGAxCeMrVsn6AWA2vWGUHnKGtaqcNrORJdgcOxvM6x7-KYUROw36g0sYGqi6xeDI6Nvvh7KQMvFUw4XWkOqDeIJigzVK767/s2315/IMG_0109.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1978" data-original-width="2315" height="273" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6rTbMq42o0oGW4c-qZuIN9So6o4IhkohYZHIwUQQRHLcuBJWIId5ksUCO8LpjgMOpHqJpeK_F6Rgx8Dh1o1RKI6ofsQGAxCeMrVsn6AWA2vWGUHnKGtaqcNrORJdgcOxvM6x7-KYUROw36g0sYGqi6xeDI6Nvvh7KQMvFUw4XWkOqDeIJigzVK767/s320/IMG_0109.jpg" width="320" /></a></div><p>As for assembly, these are really simple, my recommendation on stuff like this would be to make several at once and leave the PCBs connected so that you don't have tiny PCBs to handle.</p><p>Issues in these BOB designs:</p><p>The pot design is a bit easy to assemble wrong, if the potentiometer is populated first then it's impossible to screw up but hard to solder. I don't think this is worth fixing because it's a tradeoff to get the PCBs to be small enough to optimize the breadboarding a bit better. </p><p>The power supply PCB works fine and is good for me because it represents the modules actual power supply circuitry with a minimal breadboard foot print. The ferrite beads are probably completely unnecessary for most designs, I have a few digital things in some designs that might need one. Mostly I was copying other kit's circuits, but <a href="https://northcoastsynthesis.com/news/the-truth-about-ferrite-beads-will-shock-you/" target="_blank">there's little evidence that they're necessary</a>. One thing I'd change if I ordered more would be to switch the -12 and GND rails where the plug into the breadboard. It seems there reversed from how my bread board's rails are labeled which is a good way to get -12V into a ground or 24 volts across something. The resistors for the LEDs would be easier to alter if they were on the other side of the board. When I panelized this it was under the minimum width allowed by Seeed, so they had to add some extra are outside my design to hold it. That was my first experience with them reporting an issue on an order. They're site is pretty well set up for that though so it was quick to communicate the fix I preferred.</p><p>As it is, by panelizing these designs and getting the minimum count of 10 from Seeed, I've basically got a lifetime supply for way less than I'd have paid to get them elsewhere. </p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCGtFxM25gZLjVHIF4XdTX9hrpT_ndjg2zD48ZcAyT3P6QP09J-LNFkNQ_sTcxS9NK6RG76UNk78Hnf7l_jT54gPfeuifiKovPn_AJVC8ovj240bRwUeCJSmcbv0Vu3tzSh68F-gkT1sDzFOjM63So8JB11DGBNNRRpDNzl4R7J4UXHQ6Qu7RdleS4/s3413/IMG_0464.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2453" data-original-width="3413" height="230" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCGtFxM25gZLjVHIF4XdTX9hrpT_ndjg2zD48ZcAyT3P6QP09J-LNFkNQ_sTcxS9NK6RG76UNk78Hnf7l_jT54gPfeuifiKovPn_AJVC8ovj240bRwUeCJSmcbv0Vu3tzSh68F-gkT1sDzFOjM63So8JB11DGBNNRRpDNzl4R7J4UXHQ6Qu7RdleS4/s320/IMG_0464.jpg" width="320" /></a></div><br /><p>These designs are available here: </p><p><a href="https://github.com/EchelonForce/alpha_pot_bob" target="_blank">https://github.com/EchelonForce/alpha_pot_bob</a></p><p><a href="https://github.com/EchelonForce/audio_jack_bob_MJ-355W" target="_blank">https://github.com/EchelonForce/audio_jack_bob_MJ-355W</a></p><p><a href="https://github.com/EchelonForce/eurorack_to_breadboard_psu" target="_blank">https://github.com/EchelonForce/eurorack_to_breadboard_psu</a></p><p><a href="https://github.com/EchelonForce/eurorack_to_breadboard_psu/raw/main/eurorack_to_breadboard_psu%20-%20schematic.pdf" target="_blank">Just the schematic.</a></p><p><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></p><p>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license" target="_blank">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</p>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-49133060996377896502022-07-10T22:28:00.006+02:002022-07-10T22:51:11.119+02:00Eurorack Noise Generator v1<p>When I bought the AS3310 chips from Electric Druid for the polyphonic envelope I also bought a few other chips to experiment with. One that I expected to be a pretty straight forward project to set up for a module was the <a href="https://electricdruid.net/product/noise2-white-pink-generator/" target="_blank">Noise2</a>. </p><p>The chip is just an 8 pin PIC preprogrammed to output white and pink noise. There's a thorough writeup on the development of the firmware <a href="https://electricdruid.net/noise2-white-pink-noise-source/" target="_blank">here</a>.</p><p>Only 4 pins on the Noise2 are used and it's all 0 to 5V so interfacing is pretty easy. I wanted both filtered and unfiltered white noise and a pink noise output all buffered to prevent undo current draw on the Noise2 chip and amplified to 0 to 10V in my setup which required 3 op-amps. That left one op-amp available so I also have an inverted filtered white noise. With 4 outputs the jacks on the module could be on top and bottom and support the PCB properly.</p><p>The filter in this case is a simple RC low pass filter straight off the data sheet.</p><p>I went about simulating the circuit and then breadboarding it to confirm my schematics.</p><p>Simulation of the filter and output buffer with inversion: <a href="https://tinyurl.com/y9nnd6rh" target="_blank">see it live</a></p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtkJsGnVW7Ifj16CewrC94hmHmMeGaj-a_llTc7rQt5XidLUEKelOJvLDsObNO1Neek8XwapppcMuaNc5aJSNk7Vhpr5BtEAM16Iv7lEZfr_01oso6ljQUQohcd6B_QApcda0x3HvJLmDJ5S9XC7uJfvf8qf6pCXWvRB4_Q5CapeVmzALoTU07XGqD/s1280/Untitled.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="815" data-original-width="1280" height="204" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtkJsGnVW7Ifj16CewrC94hmHmMeGaj-a_llTc7rQt5XidLUEKelOJvLDsObNO1Neek8XwapppcMuaNc5aJSNk7Vhpr5BtEAM16Iv7lEZfr_01oso6ljQUQohcd6B_QApcda0x3HvJLmDJ5S9XC7uJfvf8qf6pCXWvRB4_Q5CapeVmzALoTU07XGqD/s320/Untitled.png" width="320" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWKWPUc1uAxmx2hPqHGHMIfjoYG9Qwnnh6QqTG8hPFekuJZqjfdqgoaudifimhVEvLeGp8hv0OQp-e4ZN-ahndy31fkry3EvRKMlBzdwvM7-OD1sjl8KVMM9O7wldWtv5oNaJCaH08pGDQQS8-oAxEjV7E_OtMPKklY0fKm_pryqRG28hh04VXjewU/s4000/IMG_0250.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3080" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiWKWPUc1uAxmx2hPqHGHMIfjoYG9Qwnnh6QqTG8hPFekuJZqjfdqgoaudifimhVEvLeGp8hv0OQp-e4ZN-ahndy31fkry3EvRKMlBzdwvM7-OD1sjl8KVMM9O7wldWtv5oNaJCaH08pGDQQS8-oAxEjV7E_OtMPKklY0fKm_pryqRG28hh04VXjewU/s320/IMG_0250.jpg" width="246" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">The PCB design went fast relative to some other designs. Having 3d models for parts and a template worked out for starting designs has helped speed up the work. I used TL072s instead of a TL074 (as shown in the breadboard) mainly because I have more of them available.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3rZqm4pQ5MDj9W2SyIB5OETiO8CaZ1gk3UnzRZUCKiHszGqaS564-MXk8qKbegtpne6U3_yGbKTLDLQlaGNBxrO1LGg7nPWO5zqdcuRSGQ92SzZ4ZdmTEeXOga9wpCGtNcheC7UpEfeRuoWEHvf4z7Dm9jjUFnzR8O8P99b_C-o21q8QD-y0DDry/s4000/IMG_0104.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1043" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiu3rZqm4pQ5MDj9W2SyIB5OETiO8CaZ1gk3UnzRZUCKiHszGqaS564-MXk8qKbegtpne6U3_yGbKTLDLQlaGNBxrO1LGg7nPWO5zqdcuRSGQ92SzZ4ZdmTEeXOga9wpCGtNcheC7UpEfeRuoWEHvf4z7Dm9jjUFnzR8O8P99b_C-o21q8QD-y0DDry/s320/IMG_0104.jpg" width="83" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHDspT7tcHQ2E_pfgYkdGAID0C6FaRYOWRM7BcAqhRiAAupj9dlVMhlSHOw5jO4aUGeP9yz2QCzLeZ8FeZ8bxUiewRBnrKQRMR6J3COtuopU0dYTVT20jsCcpJ1jXa9IdoW39vv8hCyzUwejWLlPTOdp0SXvNsWWf6xQ945tNEjTP6FYa5pAiJl6TP/s4000/IMG_0105.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="984" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHDspT7tcHQ2E_pfgYkdGAID0C6FaRYOWRM7BcAqhRiAAupj9dlVMhlSHOw5jO4aUGeP9yz2QCzLeZ8FeZ8bxUiewRBnrKQRMR6J3COtuopU0dYTVT20jsCcpJ1jXa9IdoW39vv8hCyzUwejWLlPTOdp0SXvNsWWf6xQ945tNEjTP6FYa5pAiJl6TP/s320/IMG_0105.jpg" width="79" /></a> </div><div>Assembly is pretty quick with so few components:</div><div><div><ol style="text-align: left;"><li> Surface Mount Resistors</li><li> Ceramic caps first, the solder points are below sockets on the top side.</li><li> IC Sockets</li><li> Diodes and Ferrite Beads</li><li> Polarized Caps</li><li> 2x5 Power Socket</li><li> 7805 Regulator</li><li> Jacks, aligned to panel</li></ol></div></div>Testing went well, there haven't really been too many surprises on this design. The only potential problem I thought I had was a -6V spike on the unfiltered white noise output's falling edges, but I haven't observed that when the output is connected, only when it's floating, so I'm not going to stress about it.<div><br /></div><div>Here are a few scope images showing the outputs:</div><div>Unfiltered White Noise and Filtered White Noise<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGUhK1DKRids8KaQBkNGp9s3ljjhzLYxzs1yyVnpSc1ZyLUbbrCcDsoks968yBUHfgL5o9Z3Gq-pMpsMjIWFj02yCHpOtQ9Bga3ATtD8wpYFqzoTct1msfnT0nhRXUEp0K_bmDEeV_14tyoHq7B79V4g-7NqjrLbA6owjtmZ6Q-4UaklPWq51iIQX2/s4000/PXL_20220306_150336948.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2883" data-original-width="4000" height="231" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGUhK1DKRids8KaQBkNGp9s3ljjhzLYxzs1yyVnpSc1ZyLUbbrCcDsoks968yBUHfgL5o9Z3Gq-pMpsMjIWFj02yCHpOtQ9Bga3ATtD8wpYFqzoTct1msfnT0nhRXUEp0K_bmDEeV_14tyoHq7B79V4g-7NqjrLbA6owjtmZ6Q-4UaklPWq51iIQX2/s320/PXL_20220306_150336948.jpg" width="320" /></a></div>Unfiltered White Noise and Pink Noise<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx1qi0p-qQTmkKiSauV2BRxjJ9gw4ngz9KDG7ZVHYicC2VHn6KW4JOM_aYckhK1AXbyIl9w0c9l4ArCs7wqZ2AiBCoz1CG3GEaOFUbMd8iohKO3GMNbe5mAnrbyuw-XuC-mhqIvSCYjsJYxOJ9sAfr5CDv7g-NaJjbDBAXnK_aSpNLzR0Da4MhHGjN/s4000/PXL_20220306_150422445.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2952" data-original-width="4000" height="236" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhx1qi0p-qQTmkKiSauV2BRxjJ9gw4ngz9KDG7ZVHYicC2VHn6KW4JOM_aYckhK1AXbyIl9w0c9l4ArCs7wqZ2AiBCoz1CG3GEaOFUbMd8iohKO3GMNbe5mAnrbyuw-XuC-mhqIvSCYjsJYxOJ9sAfr5CDv7g-NaJjbDBAXnK_aSpNLzR0Da4MhHGjN/s320/PXL_20220306_150422445.jpg" width="320" /></a></div>Filtered White Noise and Inverted Filtered White Noise (with math adding them together there in the middle).<br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilV8_nc_lc4fj6QUQPpB9BmUmZqAjyfG21K_leV-8gf9tfuLBRH3TZvj0IupO05HH683-1q5AcGIuO3t8H0a388UU5du6dkAbLlxSrMl4MbUV0pCJydGCiU_MnjI6yGUyPuIcNfS1p3W7fHz0IaiIUO-jbISKwXbIzxdIjSwoJsg70fuBAS2BXcjuW/s4000/PXL_20220306_150535301.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="3036" data-original-width="4000" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilV8_nc_lc4fj6QUQPpB9BmUmZqAjyfG21K_leV-8gf9tfuLBRH3TZvj0IupO05HH683-1q5AcGIuO3t8H0a388UU5du6dkAbLlxSrMl4MbUV0pCJydGCiU_MnjI6yGUyPuIcNfS1p3W7fHz0IaiIUO-jbISKwXbIzxdIjSwoJsg70fuBAS2BXcjuW/s320/PXL_20220306_150535301.jpg" width="320" /></a></div><div><br /></div><div>Power consumption of the module is 21mA on the +12V rail and 7mA on the -12V rail.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTt59yliBYN8YM-qs4fFFDFxQiKaxhYnBc59ZKvA1hIvEZaGy0a0rrlREuzIcY0J4ShyJjxZw-Z69VRtw084QtDpVhhW6UZRl6Gt-DuTf27eGzOXn709Sx1k5MAPUz5lnsac9KWJewbMLKWHAW7JmfRmmopzVBqpIO5A_aEeKHvWf08RmMfzQPQ1jm/s4000/PXL_20220306_150700849.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1167" data-original-width="4000" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTt59yliBYN8YM-qs4fFFDFxQiKaxhYnBc59ZKvA1hIvEZaGy0a0rrlREuzIcY0J4ShyJjxZw-Z69VRtw084QtDpVhhW6UZRl6Gt-DuTf27eGzOXn709Sx1k5MAPUz5lnsac9KWJewbMLKWHAW7JmfRmmopzVBqpIO5A_aEeKHvWf08RmMfzQPQ1jm/s320/PXL_20220306_150700849.jpg" width="320" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXv2MH_jWy6mlui6Iz_71dBR3tEHUaCx-JQcpMjHIxC-G80iQdhgsKdhlUzaEwpqiUF0tezJzuYAoWp1brKKeJH-ZbTfYym9p5wcVWJMXwXyJmUiutneTPFr5PtGNzFudYhmRFtZ8GmVVjy95BSiRNS5dMk2kOgDrXhx5hrXLZgqm9IznqiG2XvDIJ/s4000/PXL_20220306_150757647.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1002" data-original-width="4000" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXv2MH_jWy6mlui6Iz_71dBR3tEHUaCx-JQcpMjHIxC-G80iQdhgsKdhlUzaEwpqiUF0tezJzuYAoWp1brKKeJH-ZbTfYym9p5wcVWJMXwXyJmUiutneTPFr5PtGNzFudYhmRFtZ8GmVVjy95BSiRNS5dMk2kOgDrXhx5hrXLZgqm9IznqiG2XvDIJ/s320/PXL_20220306_150757647.jpg" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">Once again I had a friend with a mill help me with some front panels with engraving. The width is 4HP (20.32 mm).</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcQ9-1YqZrf_Atl079_9ncBBo5ucc1sd39fHxq9HqffHiXZkxLrQm1QZy4vlHUcibvPsaoeiEgByRqSHuVTuGeHTjxzawE_rLNBCEgxZ3QeLZUWfm8W_fCI8RVXRnaQNNVHtWsAl1WCjcv9tryqrygaJALX0DfjjPW8gcbFEtCB3s2cm7upcIzFsaJ/s4000/IMG_0223.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1347" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcQ9-1YqZrf_Atl079_9ncBBo5ucc1sd39fHxq9HqffHiXZkxLrQm1QZy4vlHUcibvPsaoeiEgByRqSHuVTuGeHTjxzawE_rLNBCEgxZ3QeLZUWfm8W_fCI8RVXRnaQNNVHtWsAl1WCjcv9tryqrygaJALX0DfjjPW8gcbFEtCB3s2cm7upcIzFsaJ/s320/IMG_0223.jpg" width="108" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJuD4Gk9snMKml1PaD96oEI94100AuZlcjW8gi7c_l4zBVT6JCSS8Zdm-wMBWMRO8LYvXRhxECRfV3d47hmSO9aslXU0tUOeMy-MfwLB4RsZHS4XTfKsFeoG4pIk9qsR2HpzTPrRgH-RBpgha25dY9lRExt7sBA3S2dacX6NGYwHvhkogBXW2iDkP/s2393/PXL_20220710_200954105.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2393" data-original-width="837" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNJuD4Gk9snMKml1PaD96oEI94100AuZlcjW8gi7c_l4zBVT6JCSS8Zdm-wMBWMRO8LYvXRhxECRfV3d47hmSO9aslXU0tUOeMy-MfwLB4RsZHS4XTfKsFeoG4pIk9qsR2HpzTPrRgH-RBpgha25dY9lRExt7sBA3S2dacX6NGYwHvhkogBXW2iDkP/s320/PXL_20220710_200954105.jpg" width="112" /></a><br /><br /></div><br />The depth is ~32mm but can be improved with a lower profile 5V regulator... something to change in v2.<br /><p>Other thoughts for a v2:</p><p></p><ul style="text-align: left;"><li> Use better footprint for polarized caps.</li><li> Add alternate 7805 footprint for T0-92 or surface mount.</li></ul><div>KiCAD PCB design files: <a href="https://github.com/EchelonForce/noise_pcb">https://github.com/EchelonForce/noise_pcb</a></div><div>Schematic: <a href="https://github.com/EchelonForce/noise_pcb/blob/main/noise_pcb_schematic_v1.pdf">https://github.com/EchelonForce/noise_pcb/blob/main/noise_pcb_schematic_v1.pdf</a></div><div><br /></div><div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</div><p></p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-12907764372275035162022-07-10T18:40:00.002+02:002022-07-10T22:27:20.786+02:00Eurorack Level Display v2<p> A quick update now that I've received version 2 of the Level PCB. (<a href="https://www.robotdialogs.com/2022/02/eurorack-level-display.html">For more info see v1 details here.</a>)</p><p>The PCB with LEDs is virtually identical to the v1 version. The only real difference was that I panelized the design to get more of them for v2. </p><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY67bAYkimRqT4mgAOWBz9GH9DApmb4upDs4OL5Fr3WUPSjnO-jxWxK3ll9hk-iUKw9GaBdV2G3SZKiPbkEFg6gVUV2BVCXAZX8YM1YkwyvC8tkS30gVCCk1toHyKy1xe7jNRSJlXrTsm8Hs2HoggvnjAiue0elgnuC63sSXIKqeUgkVI4T2tOjFEu/s4000/IMG_0188.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3571" height="310" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiY67bAYkimRqT4mgAOWBz9GH9DApmb4upDs4OL5Fr3WUPSjnO-jxWxK3ll9hk-iUKw9GaBdV2G3SZKiPbkEFg6gVUV2BVCXAZX8YM1YkwyvC8tkS30gVCCk1toHyKy1xe7jNRSJlXrTsm8Hs2HoggvnjAiue0elgnuC63sSXIKqeUgkVI4T2tOjFEu/w277-h310/IMG_0188.jpg" width="277" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDev4ienC99n09RIfaor318GPxkuLgborqa3kOWycnDVRR7quQdqh9S08qg6CnFGldz99AU75B9gI_d4TO-jCMPQAvcDyHKCgXBg1tm9xRyJIGwzgYnu6tVtk5Zgf2H8h3Idil0pX2LF2hN9vi-dt6qpBpAdWC6BPcqjFgH3TAEa29FxT1ya5nZmRv/s812/pcb_a_panelized.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="812" data-original-width="699" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDev4ienC99n09RIfaor318GPxkuLgborqa3kOWycnDVRR7quQdqh9S08qg6CnFGldz99AU75B9gI_d4TO-jCMPQAvcDyHKCgXBg1tm9xRyJIGwzgYnu6tVtk5Zgf2H8h3Idil0pX2LF2hN9vi-dt6qpBpAdWC6BPcqjFgH3TAEa29FxT1ya5nZmRv/s320/pcb_a_panelized.png" width="275" /></a></div></div></div><p>On the PCB that handles signals and power, a lot of changes were made.</p><p></p><ol><li>Used different footprint for resistors.</li><li>Used wider footprints for caps I have that are 5mm pitch.</li><li>Avoided collisions between the arduino header footprint and other components.</li><li>Moved the 20pin header to allow for less depth overall.</li><li>Used more consistent trace sizes.</li><li>Added a path between the two potential inputs that can be jumpered so that the two inputs are multipled together. In using the module I find two inputs unhelpful typically. When the jumper is bridged, R20, R21, R22 and C2 aren't required.</li><li>Removed a log of capacitors.</li><li>Removed the 5V regulator, and rely on the arduino pro mini's regulator.</li><li>Removed power LED.</li><li>Removed mounting holes.</li></ol><div>All of that allowed for a PCB small enough to panelize and reduced the overall depth considerably.</div><div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYmsylp0H2KpwsIEIRw0vBkMqKdafBfZrlQvzIx-ViPk1P7HL-Kd7jfk2G1eovd6MSHO35h2D0haLriNQBuS21ihhgTCyOjDbxVCWx86yMUM_mCVkYzZ5YVkPv7lK6PWS9Lbel3cb9f1NH4RShnzikR6YWrM5INf8xCl3oL2Hw9p6TUSKnCEU9mZ6J/s1019/pcb_b_panelized.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="851" data-original-width="1019" height="267" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYmsylp0H2KpwsIEIRw0vBkMqKdafBfZrlQvzIx-ViPk1P7HL-Kd7jfk2G1eovd6MSHO35h2D0haLriNQBuS21ihhgTCyOjDbxVCWx86yMUM_mCVkYzZ5YVkPv7lK6PWS9Lbel3cb9f1NH4RShnzikR6YWrM5INf8xCl3oL2Hw9p6TUSKnCEU9mZ6J/s320/pcb_b_panelized.png" width="320" /></a> </div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzjBcCnDQgSOqnZm0o4jYSoB3s2azPuWCOLbyzR8-Fe4P4w2MfHN01t_vuGn_KF4Ncb-YNInuAKvGnnF5aFRmKVamBc-Z7fa_dgmui1PbI_QsLXnCxOMeU_FN5N8QYqF05P0NvBcdC5PMpVOo7g5hckVDC97o5n0AzWFvCbfcej_Ezf_bF59iq92XM/s4000/IMG_0185.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3285" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzjBcCnDQgSOqnZm0o4jYSoB3s2azPuWCOLbyzR8-Fe4P4w2MfHN01t_vuGn_KF4Ncb-YNInuAKvGnnF5aFRmKVamBc-Z7fa_dgmui1PbI_QsLXnCxOMeU_FN5N8QYqF05P0NvBcdC5PMpVOo7g5hckVDC97o5n0AzWFvCbfcej_Ezf_bF59iq92XM/s320/IMG_0185.jpg" width="263" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmyO4Pyv9iAca3Ut4xVtOXMXOOOdiqz01pifW1hsQWOP8LbQlLokelJa-94Vaj0ynpkMs2BbO9UIYndZ9TkUh1t7ep31MLEu_dpoq5RCnwIJ4gnIk4gvCVtt7TIh_w934JsR2ICXW4GAxLMe4L_HIpXQwFuk4yUHzHit43LtjVdBupcursnwJoE10V/s4000/IMG_0184.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3088" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgmyO4Pyv9iAca3Ut4xVtOXMXOOOdiqz01pifW1hsQWOP8LbQlLokelJa-94Vaj0ynpkMs2BbO9UIYndZ9TkUh1t7ep31MLEu_dpoq5RCnwIJ4gnIk4gvCVtt7TIh_w934JsR2ICXW4GAxLMe4L_HIpXQwFuk4yUHzHit43LtjVdBupcursnwJoE10V/s320/IMG_0184.jpg" width="247" /></a></div></div><div><br /><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5kq4Q_KK7Jh12f_PB9HU0nuOSAmPIYBT4bXzvW4mmmJnNw8LVEcJmd6XSZFqSxLbHQ39FZkTuubVZjPKxbLWQMB6V6bBeC1P8NHu1uqaC_ayVK-Z7H0gBcGhkCaKfVmalKiSj5go5z0HPtDV4rWyP2V16H-KPucXYFzZ0nBAHFRQDl7rjIU-YMW7/s4000/IMG_0178.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="2360" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg5kq4Q_KK7Jh12f_PB9HU0nuOSAmPIYBT4bXzvW4mmmJnNw8LVEcJmd6XSZFqSxLbHQ39FZkTuubVZjPKxbLWQMB6V6bBeC1P8NHu1uqaC_ayVK-Z7H0gBcGhkCaKfVmalKiSj5go5z0HPtDV4rWyP2V16H-KPucXYFzZ0nBAHFRQDl7rjIU-YMW7/s320/IMG_0178.jpg" width="189" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8UuwdI1TYxRuh0BuTEC5MI0pnajUlPwoMe_lMfW4sM5ojcePJgG-ETiR_1Qlsh4nlXsGcmTBjz0FRmbTO4_XFXBwbFdhbWhgmMhZHWPs8xBCp12SVBmSME1x5-Cg3JAw8bTdl3k95TnrNChdCBM_R5JxMKxiUQTFOcPujynFFhjEJao5GX-wTjOs/s4000/IMG_0181.jpg" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" data-original-height="4000" data-original-width="2235" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjA8UuwdI1TYxRuh0BuTEC5MI0pnajUlPwoMe_lMfW4sM5ojcePJgG-ETiR_1Qlsh4nlXsGcmTBjz0FRmbTO4_XFXBwbFdhbWhgmMhZHWPs8xBCp12SVBmSME1x5-Cg3JAw8bTdl3k95TnrNChdCBM_R5JxMKxiUQTFOcPujynFFhjEJao5GX-wTjOs/s320/IMG_0181.jpg" width="179" /></a></div></div><div><br /></div><div>If I ever make a v3 I think a CV input might be useful. It could be picked up on the analog inputs of the Arduino and displayed on the LEDs similar to how the tuner modification in the v1 post works.</div><div><br /></div><div>On the software side I haven't changed much. When I use the jumper on v2 to multiple the two inputs together I disable the other input (A7 usually) so that the update rate is better and there aren't and noise issues from a floating pin. </div><div><br /></div><div>With the help of a friend the front panels are also evolving. We're figuring out engraving the labeling and also combining multiple of the modules on the same panel.</div><div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgr4aZ7ye0MlCLBqbOf0Qb61q9qsFLTWaFTzp83B2oahobLrnxiVcREnYMfo_6u38G28TuxZj4lK_ap5cLtMpPRvdSEQZWMXD0sWirZXSI88omm5RfRYMc7mL6mPE3quR_v0LynX1cZTvEvBsm21klzMMJIn6kFpDqT_9IHMXXL9w8PHPzNWCK05re/s4000/PXL_20220604_163130629.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1513" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjgr4aZ7ye0MlCLBqbOf0Qb61q9qsFLTWaFTzp83B2oahobLrnxiVcREnYMfo_6u38G28TuxZj4lK_ap5cLtMpPRvdSEQZWMXD0sWirZXSI88omm5RfRYMc7mL6mPE3quR_v0LynX1cZTvEvBsm21klzMMJIn6kFpDqT_9IHMXXL9w8PHPzNWCK05re/s320/PXL_20220604_163130629.jpg" width="121" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlo0jbeV-CcabGrJB58-0nQjbPSCaqehc2B9FA30luVSnV0tEk40cpZDzJRfSZ_YTC_DxMSOHLz0J46et4XDKiXDgH45Mf-V6ijsnCfgCGYoynuA78wvNQClsV9UDK91sCzm8uCa4rZagNgM7Njqz5PZQ-bsSm3jZn2CzYUf4pMvwrbJYCV-od1uWC/s4000/IMG_0230.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="1768" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlo0jbeV-CcabGrJB58-0nQjbPSCaqehc2B9FA30luVSnV0tEk40cpZDzJRfSZ_YTC_DxMSOHLz0J46et4XDKiXDgH45Mf-V6ijsnCfgCGYoynuA78wvNQClsV9UDK91sCzm8uCa4rZagNgM7Njqz5PZQ-bsSm3jZn2CzYUf4pMvwrbJYCV-od1uWC/s320/IMG_0230.jpg" width="141" /></a></div></div><div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</div><div></div><p></p>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-78705641615910190672022-07-10T17:57:00.002+02:002022-09-10T21:04:10.350+02:00Eurorack Polyphonic Envelope Generator v1<div>This post is about a DIY design of a polyphonic envelope eurorack module.</div><p></p>The idea for this module started after I bought a second hand Roland System-8 and started to understand the polyphonic features better. I had already built several oscilators from a few DIY kit providers and was running into the issue of not having enough envelopes for them all. So decided to try and build a polyphonic envelope.<div><br /></div><div>I jumped right into this design with a chip selection, I went over to Electric Druid and grabbed a few <a href="https://electricdruid.net/product/as3310-vcadsr/">AS3310 ADSR</a> chips to experiment with. I didn't have any modules that used this chip but while breadboarding a design I came across a useful reference on <a href="https://www.eddybergman.com/2020/05/synthesizer-build-part-33-digisound-80.html">Eddy Bergman's site</a>. Ultimately my goals of a polyphonic version complicated the design a bit.<br /><div><br /></div><div>One thing to note on the AS3310 is that is has some odd control voltages, particularly the Attack, Decay and Release CVs are 0 to -5V instead of 0 to +5V like the Sustain CV. I wanted 0 to 10V tolerant CV inputs and potentiometers too. To solve that oddity I decided to simulate the CV input buffering I'd need to work with the chips.</div><div><br /></div><div>Sustain CV Simulation: <a href="https://tinyurl.com/2ecm84cm" target="_blank">see it live</a></div><div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhh8Ci-tvYPG0dmETPmd7Bg1Nu27-BP-Gpt_nk2o1LP0bmU7s4Crd7gCcsYihePR8knRpOpyuqMI5bpt7PGckarPw2N-9v1z2SFxgCYvTeIMb6FeqO_GZKS0gephGD2RD8qd2ECUJuXzUaUn6rdJeb1HIV7VSW79o3XUzhTjVkeThCN9pCcBke6fWYY" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="713" data-original-width="1280" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEhh8Ci-tvYPG0dmETPmd7Bg1Nu27-BP-Gpt_nk2o1LP0bmU7s4Crd7gCcsYihePR8knRpOpyuqMI5bpt7PGckarPw2N-9v1z2SFxgCYvTeIMb6FeqO_GZKS0gephGD2RD8qd2ECUJuXzUaUn6rdJeb1HIV7VSW79o3XUzhTjVkeThCN9pCcBke6fWYY" width="320" /></a></div><br /><p style="text-align: left;">Attack, Decay, Release CV simulation: <a href="https://tinyurl.com/y3wqeh82" target="_blank">see it live</a></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEg1TFGyU6xM6D_fVI3Qsu0a3-YgJpaLwO71ksDR7kJ3O-_5aMrz9uxkQhtsOZYj7ROgj7dfrAxxifatfkBa_NbVvnnBy2SbDV1MlSjulrNMphBfoz5U0UoIEPN__wxIyBdEG3ijhVfPvBEbHthJw27mJiHwP7zqs7MPopKLwSFJ-L2NW_MtGyCMyvs8" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="712" data-original-width="1280" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEg1TFGyU6xM6D_fVI3Qsu0a3-YgJpaLwO71ksDR7kJ3O-_5aMrz9uxkQhtsOZYj7ROgj7dfrAxxifatfkBa_NbVvnnBy2SbDV1MlSjulrNMphBfoz5U0UoIEPN__wxIyBdEG3ijhVfPvBEbHthJw27mJiHwP7zqs7MPopKLwSFJ-L2NW_MtGyCMyvs8" width="320" /></a></div><div class="separator" style="clear: both; text-align: left;"><br /></div><div class="separator" style="clear: both; text-align: left;">For the Gate inputs I also wanted 10V tolerance, so I used an op-amp there to buffer and amplify it before the chip sees it.</div><div class="separator" style="clear: both; text-align: left;"><br /></div><div style="text-align: left;">Gate simulation: <a href="https://tinyurl.com/y698882h" target="_blank">see it live</a></div><p></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj53qO40LFawvzeiKZCTeZh_OF0dkxxBzToYrYTViN8VFmAh8Z9iHdYl5v7nBYsGPrYkGazuNP9kA7ektmDjKyKXkqlOoJTawrA32ncLrK43za3jK03yia6i5NnXFPITGYuXdl7vD1dU1lc6EC_9dPI6sC8c3_U4V7JC3o-pC0Qc8GH45s-DFQMFHgx" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="713" data-original-width="1281" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEj53qO40LFawvzeiKZCTeZh_OF0dkxxBzToYrYTViN8VFmAh8Z9iHdYl5v7nBYsGPrYkGazuNP9kA7ektmDjKyKXkqlOoJTawrA32ncLrK43za3jK03yia6i5NnXFPITGYuXdl7vD1dU1lc6EC_9dPI6sC8c3_U4V7JC3o-pC0Qc8GH45s-DFQMFHgx" width="320" /></a></div><br /><div style="text-align: left;">On the output side I wanted to amplify the AS3310's 0 to 5V outputs to 0 to 10V and also wanted to have a buffer between the output jack and the chip. </div><p></p><p style="text-align: left;">Output Buffer Simulation: <a href="https://tinyurl.com/2e2j6wnu" target="_blank">see it live</a></p><p style="text-align: left;"></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEgXSylkpss0CUTJlyOC-3qxgc76ALn84dlnC43MX7zPvojWPOC6eQqlKlbv0_hZoFfMwAhr359XNzMI8n_PtMliKRolpK-n9yF6bU1HE8H-zcZexp6Zf1qHXXa3UfC5lxnqtFxnKoNEwsi8c3Q2BBDs4uGwZmDQwC0UdF0dYDZMDh7bQNt53lKkA3xW" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="713" data-original-width="1280" height="178" src="https://blogger.googleusercontent.com/img/a/AVvXsEgXSylkpss0CUTJlyOC-3qxgc76ALn84dlnC43MX7zPvojWPOC6eQqlKlbv0_hZoFfMwAhr359XNzMI8n_PtMliKRolpK-n9yF6bU1HE8H-zcZexp6Zf1qHXXa3UfC5lxnqtFxnKoNEwsi8c3Q2BBDs4uGwZmDQwC0UdF0dYDZMDh7bQNt53lKkA3xW" width="320" /></a></div><br /><div style="text-align: left;">With some simulations functional I went about breadboarding the design to see if it would work as expected. For the breadboard version I only used one AS3310, so it's not polyphonic yet, I just wanted to prove the ideas and circuits before adding more complexity.</div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5L0h5Mm0VJ7Kuln1gYvcdk-XS69s53-sPvr7EpIAf0zl6Xi5weRqgY8jJSueuMpRJW9IPCu92yWxzIiUlPZYkbD7yzgukL68xk1_ovUfYVc2Lw7QincIgKdHA4poB-ly9T6dRv1irGqdvXL7bBp1nj3AdnHMhNiXKJ4l4Zlb6AgiQihIyu8yvY2xJ/s4000/PXL_20220624_095845395.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3012" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5L0h5Mm0VJ7Kuln1gYvcdk-XS69s53-sPvr7EpIAf0zl6Xi5weRqgY8jJSueuMpRJW9IPCu92yWxzIiUlPZYkbD7yzgukL68xk1_ovUfYVc2Lw7QincIgKdHA4poB-ly9T6dRv1irGqdvXL7bBp1nj3AdnHMhNiXKJ4l4Zlb6AgiQihIyu8yvY2xJ/s320/PXL_20220624_095845395.jpg" width="241" /></a><div class="separator" style="clear: both; text-align: center;"><br /></div></div><br /></div></div><div>That worked out pretty well. I can safely say it's the most complicated thing I've put on a breadboard since college.</div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnO8p0cTknHzUjSpKE60c3UtzGIw2OJsknKSU0-FlsVvZkij5EfjULdOwJQ0VmWpaOS1KJ0Q5FKvZ1_D2Ore3bIFRziBcNtDlzyuO849PB5GcmkHk779wMX6xPcCnjGVMFvL4eQf6xO5utJpP-2DExkVu2vCLNJo-1PDYpXkbnHuokVHY2CBRUsvjj/s4000/PXL_20211229_232751600.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2974" data-original-width="4000" height="238" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnO8p0cTknHzUjSpKE60c3UtzGIw2OJsknKSU0-FlsVvZkij5EfjULdOwJQ0VmWpaOS1KJ0Q5FKvZ1_D2Ore3bIFRziBcNtDlzyuO849PB5GcmkHk779wMX6xPcCnjGVMFvL4eQf6xO5utJpP-2DExkVu2vCLNJo-1PDYpXkbnHuokVHY2CBRUsvjj/s320/PXL_20211229_232751600.jpg" width="320" /></a></div><div><br /></div><div>After that I designed a version with 4 AS3310's to make the first version of the polyphonic envelope module in KiCAD. One thing I discovered during this was that the hierarchical sheets are a useful way to organize parts when they're added to the PCB. If every part of the schematic was on one page, then all the parts for the design get jumbled together on the PCB, but the parts in a hierarchical sheet are separate from the rest. So<a href="https://github.com/EchelonForce/poly_envelope_pcb/blob/main/poly_envelope/outputs/Printing%20Print%20Schematic.pdf" target="_blank"> in the schematic files</a> there are several sheets to take advantage of this quirk and also it makes block diagrams of the overall design as a side effect.</div><div><br /></div><div>On the PCB I also added a switch to bypass the gate and trigger all the envelopes for testing. Unfortunately I didn't simulate that idea, or breadboard it, so it was wrong. On the versions I've built so far I just leave a few components out and only the first envelope uses the switch. More on that later.</div><div><br /></div><div>The PCB was complicated. I was set on a two layer PCB and very quickly I switched the resistors on the BOM to be surface mount instead of through hole. I think I routed the PCB two or three times from scratch before I ordered them.</div><div><br /></div><div>I ordered the v1 PCBs for this on January 13th. I didn't receive them until late in April. I used the service Seeed Fusion which has very inexpensive boards, but I learned from this order that you should always choose the fast shipping option(s). They simply sat on this design for almost 4 months before it moved through production. I reached out to them several times and got excuses for holidays and lockdowns, but I also ordered other designs after these and received them before these, so I have a hard time trusting those excuses.<div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7MUxWxN0pjbWhVtbg30WsxQMLJvIWA-Axe7wWXAwZJAuNiEazEA0F4RWSvMNYn7km1VDHm9-orEKtGb35GxPm64zmaoby_8urrH-cZFzJt7-qM2C9WLD_U0b3wydhhAKgzE2cvpw7yhG8C28-uL5tx2YCe6cUJ0Ua61gU-bZdHGrscYgaijov-8sG/s4000/IMG_0107.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3777" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi7MUxWxN0pjbWhVtbg30WsxQMLJvIWA-Axe7wWXAwZJAuNiEazEA0F4RWSvMNYn7km1VDHm9-orEKtGb35GxPm64zmaoby_8urrH-cZFzJt7-qM2C9WLD_U0b3wydhhAKgzE2cvpw7yhG8C28-uL5tx2YCe6cUJ0Ua61gU-bZdHGrscYgaijov-8sG/s320/IMG_0107.jpg" width="302" /></a> <a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAhFukPZGpNdrPLm610droycz_eh7AJKzNeyPaCe7zgYwy1H-Wj5R9Xhbc2HIEzNQvEXgZgQchd38j6agTzyNMKr0pXofHQx174pwbWZ7N5eKX8Hz0nOQF43vaAUfFyH0cXe057M1UIZE761xKujk3xnSFRSP-7tY7-lTt2ucEP_SsADsFHjtFCT3L/s4000/IMG_0108.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3568" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiAhFukPZGpNdrPLm610droycz_eh7AJKzNeyPaCe7zgYwy1H-Wj5R9Xhbc2HIEzNQvEXgZgQchd38j6agTzyNMKr0pXofHQx174pwbWZ7N5eKX8Hz0nOQF43vaAUfFyH0cXe057M1UIZE761xKujk3xnSFRSP-7tY7-lTt2ucEP_SsADsFHjtFCT3L/s320/IMG_0108.jpg" width="285" /></a></div></div><div><br /></div>Assembly order is unique to every PCB depending on the BOM, here's the order I assembled in:</div><div><div><ol style="text-align: left;"><li> Resistors - all surface mount components, both sides of the PCB.</li><li> Diodes and Ferrites</li><li> Small Caps</li><li> Sockets</li><li> Large Caps</li><li> Transistors</li><li> Trim Pots</li><li> Jacks, LED and Pots in panel</li></ol><div style="text-align: center;"><img border="0" data-original-height="4000" data-original-width="3819" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-inGV6UM0vSpGQ1I9Yxb22FYN8Ye11ROSrSTHEYiTNhP5U_DRIOsn0lh0fbLNyfVVLx3KVp2HOPi6-aD6HYs8hSfZa09qDe64aN6jLWNXbB8dIYSZPhYq_OmTyWJNi0G65z5xc6QRwzmQFLDyHzLkAApOdHrOXaoUZSFjWDh25tVYRllfSv4bqf-4/s320/PXL_20220425_221025201.jpg" style="text-align: left;" width="306" /><span style="text-align: left;"> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRbUbThWVQdiqDAxtUEl8bsI7Xmvab4B0QwiXV0rfn7g7LnvX6Gap8viQl0IxXrRCuoPfO7QwcWsv4aCNcO__SZK64s9SdAeiS5YRyX5-9S6AZUQ02kw38gHIuYjpbrl1neDSyF1p5veuuWqgjRuoF-ZfgE3PexWyO8l68Pg5G__tw9L7VyIpU6F1y/s4000/PXL_20220426_141454626~2.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3209" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRbUbThWVQdiqDAxtUEl8bsI7Xmvab4B0QwiXV0rfn7g7LnvX6Gap8viQl0IxXrRCuoPfO7QwcWsv4aCNcO__SZK64s9SdAeiS5YRyX5-9S6AZUQ02kw38gHIuYjpbrl1neDSyF1p5veuuWqgjRuoF-ZfgE3PexWyO8l68Pg5G__tw9L7VyIpU6F1y/s320/PXL_20220426_141454626~2.jpg" width="257" /></a></div><div><br /></div><div>Problems on v1 PCB:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-inGV6UM0vSpGQ1I9Yxb22FYN8Ye11ROSrSTHEYiTNhP5U_DRIOsn0lh0fbLNyfVVLx3KVp2HOPi6-aD6HYs8hSfZa09qDe64aN6jLWNXbB8dIYSZPhYq_OmTyWJNi0G65z5xc6QRwzmQFLDyHzLkAApOdHrOXaoUZSFjWDh25tVYRllfSv4bqf-4/s4000/PXL_20220425_221025201.jpg" style="margin-left: 1em; margin-right: 1em;"></a></div></div><div><div><ul style="text-align: left;"><li>Output LEDs always were always on.</li><ul><li>Reversed transistors. <a href="https://tinyurl.com/y6jqw2wh" target="_blank">See orientation in sim</a>. </li><li>Fix: rotate Q1,Q2,Q3,Q4 180 (swap collector/emitter in schematic)</li></ul><li>Only first envelope working. - didn't solder U7 properly...</li><li>Switch triggers first envelope. </li><ul><li>Every gate input triggers every envelope. On v1 going to have to remove 4.7k's that connect to switch.</li><li><a href=" https://tinyurl.com/yykqwvpn" target="_blank">Here's a simulation of it misbehaving</a>.</li><li>Remove: R4, R6, and R16</li></ul></ul></div><div><div>So far I've built two of the envelopes and tested/used them in my synth. </div></div></div><div style="text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSKH4cVC-_VSZlYhKysPWvOy-cf8YIV1bQDH-lHv8nO_oejq-Vq8pZwnw6TZHsLX6v8pp0oRoDQXNnquRLEWPx0MH1X9dT56MQrh-gdr8S9xNjR9658kEF9fhHR2OFiQqaPo7EZPyb0R_DGHKHTVslFavwIjYdr67YOe5jSvjhvDT3zzpizwhVHTfL/s4000/PXL_20220426_154215414.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="4000" data-original-width="3348" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSKH4cVC-_VSZlYhKysPWvOy-cf8YIV1bQDH-lHv8nO_oejq-Vq8pZwnw6TZHsLX6v8pp0oRoDQXNnquRLEWPx0MH1X9dT56MQrh-gdr8S9xNjR9658kEF9fhHR2OFiQqaPo7EZPyb0R_DGHKHTVslFavwIjYdr67YOe5jSvjhvDT3zzpizwhVHTfL/s320/PXL_20220426_154215414.jpg" width="268" /></a><br /></div><div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqBLJJi9SeTU0r1mOGrYfN1PcQHD5YG6VF8Ek6qJQhUlL6JhcpNLLNWAf9ZAMcWPZRHJi9s_R9DoKcKPYV4-V6NLS_ThVFBiFaPcJXSsqyGvYqxLt4P0t9B1SOtd2AMh4gDs59Uqj8p9p_qw0SmB128ePd1ukAXq4LH3bfKqp8FS1oCS67_3s_wzU2/s4000/tek00009.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2400" data-original-width="4000" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqBLJJi9SeTU0r1mOGrYfN1PcQHD5YG6VF8Ek6qJQhUlL6JhcpNLLNWAf9ZAMcWPZRHJi9s_R9DoKcKPYV4-V6NLS_ThVFBiFaPcJXSsqyGvYqxLt4P0t9B1SOtd2AMh4gDs59Uqj8p9p_qw0SmB128ePd1ukAXq4LH3bfKqp8FS1oCS67_3s_wzU2/s320/tek00009.jpg" width="320" /></a></div></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnHaU1L-oXnDCUvE62UWvGDawp4Gh5TRY_2lQCTY0-BfKO-_GCS6VbZO2LYi_89YJdMvWiaFafVfWwvD4uugc2Yj323Aszuam0leUx3LlyCvCKAyqMMn-7DWKY36N9_JbX5H_dmf0q7IE8y025c-weiSrxudr9DlB02mT-7K0yMJxFmFT8nv8v0FnB/s4000/tek00014.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2400" data-original-width="4000" height="192" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnHaU1L-oXnDCUvE62UWvGDawp4Gh5TRY_2lQCTY0-BfKO-_GCS6VbZO2LYi_89YJdMvWiaFafVfWwvD4uugc2Yj323Aszuam0leUx3LlyCvCKAyqMMn-7DWKY36N9_JbX5H_dmf0q7IE8y025c-weiSrxudr9DlB02mT-7K0yMJxFmFT8nv8v0FnB/s320/tek00014.jpg" width="320" /></a></div><div><br /><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqY3IH5X06nNVjOC5dK0BHE185GofD_OOsEmu2BqYI7g0CmiRFXHJjGbQCZAPjj9aZscjnJHpt9TfH61pAmowbPCrYgVYTakzMR8DamLiLA3VeBTmMCItxCXrkEze0jQfAxty6c6C98934ayYgnOOrYaQqu7ITXBr1bZPcjD8mAl30yZVF_-JdB0Ta/s4000/PXL_20220513_195958093.jpg" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2112" data-original-width="4000" height="169" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjqY3IH5X06nNVjOC5dK0BHE185GofD_OOsEmu2BqYI7g0CmiRFXHJjGbQCZAPjj9aZscjnJHpt9TfH61pAmowbPCrYgVYTakzMR8DamLiLA3VeBTmMCItxCXrkEze0jQfAxty6c6C98934ayYgnOOrYaQqu7ITXBr1bZPcjD8mAl30yZVF_-JdB0Ta/s320/PXL_20220513_195958093.jpg" width="320" /></a></div></div></div><div><br /></div><div><div>2022-08-16 Testing:</div><div>On the third v1 build of this I discovered that the attack and decay times weren't respected when a gate signal was used. On the scope it looked a lot like the 'Q1 Disabled ***' note in the datasheet. So I started to probe around for that issue. I also checked the gate button, but it seems to work most of the time. </div><div><br /></div><div>Eventually I discovered the trigger pin on the chip wasn't really changing when an LFO or similar signal was passed in. It seems those signals didn't have sharp enough edges to cause the trigger spike needed.</div><div><br /></div><div>I played around with the simulation a bit an found that a larger value decoupling cap on the trigger improves the trigger signal timing. On hardware a 1uF (instead of 3nF) seems to work. It's probably too big but it's available and functions. <a href="https://tinyurl.com/2pn2cm6k" target="_blank">Some simulation.</a></div></div><div><br /></div><div>Here's a scope image showing the trigger (channel 2) missing on the rising edge of the gate (channel 1).</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJiGFHj13P3FzOlGKvePD4I9TG_HiekrS4tC-x_YQfZu8Gts9by79RNfG25QDW2UIKUhWZLakxaLxA0LR4JhKhhw_MGInFdz0TGeZEwlxkTxW11tudZwojTBEqAS9YGkRtg8JUs7wIT5I8Y4-znn6eE145m-bnj7YUdhUSN652iMlWIBrDSAz5CFSO/s1865/PXL_20220814_161257029-Edit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1403" data-original-width="1865" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJiGFHj13P3FzOlGKvePD4I9TG_HiekrS4tC-x_YQfZu8Gts9by79RNfG25QDW2UIKUhWZLakxaLxA0LR4JhKhhw_MGInFdz0TGeZEwlxkTxW11tudZwojTBEqAS9YGkRtg8JUs7wIT5I8Y4-znn6eE145m-bnj7YUdhUSN652iMlWIBrDSAz5CFSO/s320/PXL_20220814_161257029-Edit.jpg" width="320" /></a></div>After swapping for the 1uF trigger cap it's better:</div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimqQ6xXAf4OnqRqLEqJxgARG90Ndb1d09kVJoJpslEW4gGtFjXxYc6Jkat9WSF3eEKIe8YwS4rWWwQdvyy4DRGkrMwMXk8_nhJYblFxpLnPUsE5QZ7Misp0HMprb-_VsOD7SwgOo0oeLcpUkwCf2tLAFnRrKbnf-cCrWppozlUBiQcJjwcoi8uHAP0/s2054/PXL_20220814_161209424-Edit.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1563" data-original-width="2054" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimqQ6xXAf4OnqRqLEqJxgARG90Ndb1d09kVJoJpslEW4gGtFjXxYc6Jkat9WSF3eEKIe8YwS4rWWwQdvyy4DRGkrMwMXk8_nhJYblFxpLnPUsE5QZ7Misp0HMprb-_VsOD7SwgOo0oeLcpUkwCf2tLAFnRrKbnf-cCrWppozlUBiQcJjwcoi8uHAP0/s320/PXL_20220814_161209424-Edit.jpg" width="320" /></a></div><div><div><br /></div><div style="display: inline; text-align: left;">Changes for v2:</div></div><div><div><ul style="text-align: left;"><li>Fix transistor orientation.</li><li>Move R15 label it's confusing.</li><li>Make all U# labels visible, not hidden by chips/sockets.</li><li>Remove R4, R6 and R16 or fix gate switch circuit.</li><ul><li>Need to figure out a way for switch to trigger but not allow other gates to go high. Maybe tie it to trig input on AS3310 and remove ugly 3nF?</li></ul><li>Label Pots on silkscreen</li><li>Some CV pots might not be needed? Investigate.</li><li>3nF caps might not be needed. Need to evaluate v1 PCB with other values.</li><li>Use geographic re-annotate to make the resistor values easier to find during assembly.</li></ul><div>Design files and CAD:</div></div><div><a href="https://github.com/EchelonForce/poly_envelope_pcb">https://github.com/EchelonForce/poly_envelope_pcb</a></div><div><br /></div><div><br /></div><div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.</div><p></p></div>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-4424040680882372172022-02-13T22:16:00.004+01:002022-05-13T22:35:56.184+02:00Eurorack Level Display<div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/3OKgBKnxQec" title="YouTube video player" width="560"></iframe></div><p>This build was inspired by this <a href="https://electricdruid.net/led-bargraph-audio-level-display/" rel="nofollow" target="_blank">post from ElectroDruid</a>, at least in part. I have been getting into sound synthesis over the past year and needed simple module on my Eurorack setup that I can plug anything into and see if it's working (or peaking). There are a few modules out there like what I've made here but I'm doing most of my synth as DIY kits or pure DIY of my own design.</p><p>The idea started on the breadboard, and because I had an Arduino Pro Mini in my box of spares that's what I used. </p><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEjt-gYWYeZjfMfVjLP_xW8fQBqz1RwW01PRPoXai5d5VuQ_zH-BxcE-xGAMT8Yiy7r2YGmNxSRZLk0GBk2jmeaO8U3b-wxSu-Tl5ICCv8GbcGfTdD82BglZ-jJQ2cytQabiwez9JJAi9_uFqj7P1CHCk8AsnSNO743wfEFs_WsL9fzk_RXh_qifAkJI=s3060" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1833" data-original-width="3060" height="192" src="https://blogger.googleusercontent.com/img/a/AVvXsEjt-gYWYeZjfMfVjLP_xW8fQBqz1RwW01PRPoXai5d5VuQ_zH-BxcE-xGAMT8Yiy7r2YGmNxSRZLk0GBk2jmeaO8U3b-wxSu-Tl5ICCv8GbcGfTdD82BglZ-jJQ2cytQabiwez9JJAi9_uFqj7P1CHCk8AsnSNO743wfEFs_WsL9fzk_RXh_qifAkJI=s320" width="320" /></a></div>Here all 16 outer pins of the Pro Mini and two of the inner analog pins are connected to the row of LEDs each of which has a series resistor. for a total of 18 LEDs, which was later reduced to 16. <p></p><p>There were still two analog pins available (the green and yellow wires) which were used as audio inputs. The other two analog inputs were later used for some timing/debugging. The audio and control signals on Eurorack can swing ±10V which would damage the Arduino if used directly. To solve that I've used almost the same circuit as the ElectroDruid version but with different values which <a href="https://www.falstad.com/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWEBmaCCc7nLADl8ggGwBMB6RICkVIALMlQKYC0YYAUAG7h10qR+YPiBKRcUcPTjgacqGg4AnFMkoVVlMOhKSw8SMs3gdxshJr74RsRO27zJ3ZYMcAxqPxPj9yTAOQECwk0CQ4CAjI6Pi4YESEkEj+gRwA7j6myLhCpoY8uDTIgiAFIBrydDRJforppRrY6pSG6cL8trw5zmmd3h2+LSWFxW0C-IOjRfyNY1A9M1NmXoZqdiK+o3HyK0QSWV30cd5yHAAeZRAI07tUAOz0ovwAMkxcTAA2ADoAzgAiAJbfAAO7wAhgBPH4ASQAdkCAK4AFx+AGF-ko3PD-oiOAB7cCMCzSaKiOTQCA0ISMRjCPTTDhAA" rel="nofollow" target="_blank">clamps the signal to +5 : -0.5V</a> for the Arduino.</p><p>The Pro Mini I had handy was the 8Mhz 3.3V version, but later I switched to a 5V 16Mz version to improve the sample rate.</p><p>For a proof of concept I started with the built in Arduino APIs, which work but are very inefficient. That initial version only managed to sample at ~2kHz. Eventually after switching to the faster Pro Mini and several iteration of optimization the sample rate was improved to ~38kHz; however, two pins are sampled, toggling every other read, so it's about 18kHz per input. That's not as good as the PIC used by ElectroDruid, but it's plenty for my purposes. Here's a pin toggled with every ADC read showing the final sample speed.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi5ih2WnvstrlTBTsYvbtQDDkk9shI0fBsiCzTyszdQIiPAybTgt2oP4ZcGoKbwVlAbb-Y1t4RsvJrtm3uew6gWFonkszhHPKnUqKG3_80HcoiqLWMfObvsepxLq_x81b_B1pBZnrt5yf1GurdRezOdN1zoZV9r99OZiSLWvnrbT4Q-AJTfQ-ogDw0b=s2951" style="margin-left: 1em; margin-right: 1em;"><img alt="Reading a pin toggled during every ADC interrupt." border="0" data-original-height="2269" data-original-width="2951" height="246" src="https://blogger.googleusercontent.com/img/a/AVvXsEi5ih2WnvstrlTBTsYvbtQDDkk9shI0fBsiCzTyszdQIiPAybTgt2oP4ZcGoKbwVlAbb-Y1t4RsvJrtm3uew6gWFonkszhHPKnUqKG3_80HcoiqLWMfObvsepxLq_x81b_B1pBZnrt5yf1GurdRezOdN1zoZV9r99OZiSLWvnrbT4Q-AJTfQ-ogDw0b=w320-h246" width="320" /></a></div>Prior to getting that kind of performance I set the software aside and designed a set of PCBs. This is the first time I've designed PCBs for manufacture. I've only made them for etching before. I figured this was a fairly straight forward design to get some experience on. After some design time and learning how to use KiCad I managed to get a v1.0 I was happy with and had some samples made by Seeed Fusion PCB service. I also spent some time learning how to use FreeCAD and made a footprint or two for this design. <div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiK-dwLEI_3KzzyMxCIFh4WQM57HevouWOGut-GEdRGEg0rxKoYDcvj8sa2GVBM10rN1Z51zLjayZ_C5UW9sh0vtkG66S6Ryh6VNHMmFITeaHCEcQJZkY5VkYpTOXsmswn_hIPvbzxY-sZH-eh9o3ZHeucIx5t5d4C_77-y-_mViexluD8x00imevVb=s1887" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1253" data-original-width="1887" height="212" src="https://blogger.googleusercontent.com/img/a/AVvXsEiK-dwLEI_3KzzyMxCIFh4WQM57HevouWOGut-GEdRGEg0rxKoYDcvj8sa2GVBM10rN1Z51zLjayZ_C5UW9sh0vtkG66S6Ryh6VNHMmFITeaHCEcQJZkY5VkYpTOXsmswn_hIPvbzxY-sZH-eh9o3ZHeucIx5t5d4C_77-y-_mViexluD8x00imevVb=s320" width="320" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi2Q9Itwf_4t7dWKOShQA48scB_K6ZvSdbrFjQKeYjzuMoldXO3cOZz9vUgtY0MZMCxIHsVIIvZRM85tLohXpAV-WpA-Te0rvbsI6McyMp-ZfH-22yiQg5hz2b2C20t7nfSHHis24WzmsJHCRfIHjOMLYOr-ohtpA_H-3h1Iztsd8MrY-vHv2tcXiN0=s3507" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2480" data-original-width="3507" height="453" src="https://blogger.googleusercontent.com/img/a/AVvXsEi2Q9Itwf_4t7dWKOShQA48scB_K6ZvSdbrFjQKeYjzuMoldXO3cOZz9vUgtY0MZMCxIHsVIIvZRM85tLohXpAV-WpA-Te0rvbsI6McyMp-ZfH-22yiQg5hz2b2C20t7nfSHHis24WzmsJHCRfIHjOMLYOr-ohtpA_H-3h1Iztsd8MrY-vHv2tcXiN0=w640-h453" width="640" /></a></div><div class="separator" style="clear: both; text-align: center;"><br /></div>While waiting on the boards to arrive I finished improving the software, ordered the components I needed to make several of them and used FreeCAD again to design a front panel. I initially 3D printed the panel to see if the fit was okay and then had a friend with a CNC mill machine some from aluminum for me. In the software, I also added a peak indicator to the code so fast peaks are more visible. The ~38kHz sample rate came at the expense of resolution which was reduced to 8 bits. There is a lookup table in the code based on <a href="https://docs.google.com/spreadsheets/d/19rnLKGPYAI7g6CowM8z8yrf4r6aIw2sIcGMygUgBh8Y/edit?usp=sharing" rel="nofollow" target="_blank">this table</a>. The look up table is used to map the audio level to the number of lit LEDs where each LED covers a fixed value 0dB down to -30dB.<div><br /></div><div>Once received, the v1 boards worked great. <br /><br /><table>
<tbody>
<tr>
<td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEiH9IxZXEqlsuvhZ_l9SwqyWvuLY7zF2i-rpIMTD0xrJPD5BbYKNklRXNWjmVPD8tyOK3OHS9v0QTdvbKhC-IwwWLlQ070H2ywHxlRz6voBC9ZQKeS79soLW4eC8myqI_HYERTkyyzAla414dVwTel2PY2L_w2UW46ZNSJb9fLUbKHGuxiAnOa2pkHF=s1986" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1986" data-original-width="1755" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEiH9IxZXEqlsuvhZ_l9SwqyWvuLY7zF2i-rpIMTD0xrJPD5BbYKNklRXNWjmVPD8tyOK3OHS9v0QTdvbKhC-IwwWLlQ070H2ywHxlRz6voBC9ZQKeS79soLW4eC8myqI_HYERTkyyzAla414dVwTel2PY2L_w2UW46ZNSJb9fLUbKHGuxiAnOa2pkHF=s320" width="283" /></a></div></td>
<td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEhE9gUQ4EM8fJZYRd7oRd42Ngiz-92zMzfEfO0pKRBkT8ZowfxnH3Yqs5-ADSRcciAj5FwQSAjKP6dVNPhdb4QXDvHqt9aC67zj32r4_ouTabOLgNyYO3Yhz93nd-zZjg8GY2nwmP24bAfepV2UgovncJBL_EyFXgPBocSwAoY7JIWKJKBBTeyibZKU=s1644" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="1644" data-original-width="1431" height="320" src="https://blogger.googleusercontent.com/img/a/AVvXsEhE9gUQ4EM8fJZYRd7oRd42Ngiz-92zMzfEfO0pKRBkT8ZowfxnH3Yqs5-ADSRcciAj5FwQSAjKP6dVNPhdb4QXDvHqt9aC67zj32r4_ouTabOLgNyYO3Yhz93nd-zZjg8GY2nwmP24bAfepV2UgovncJBL_EyFXgPBocSwAoY7JIWKJKBBTeyibZKU=s320" width="279" /></a></div></td>
</tr>
<tr>
<td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEi5mx8ss05TOVGEmXAn2vL2pcmhzFpfvur_9ZG8ly8HP3Z_NDuOEWluCSmg9jNSI91ar0pUkxgHHy0MSoqAUX9pO4c0_talYxSVZM6jR_SGpuY1qYrwS0a7X3a5bVd3Eg4eza5CR8mSOQ3pl00lPIhk-3zJpRiv_nN_Xld-3brkrW2tUJyFOZ1S9KXj=s2869" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="889" data-original-width="2869" height="99" src="https://blogger.googleusercontent.com/img/a/AVvXsEi5mx8ss05TOVGEmXAn2vL2pcmhzFpfvur_9ZG8ly8HP3Z_NDuOEWluCSmg9jNSI91ar0pUkxgHHy0MSoqAUX9pO4c0_talYxSVZM6jR_SGpuY1qYrwS0a7X3a5bVd3Eg4eza5CR8mSOQ3pl00lPIhk-3zJpRiv_nN_Xld-3brkrW2tUJyFOZ1S9KXj=s320" width="320" /></a></div></td>
<td><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/a/AVvXsEj2ikYGmPBU3GsYhfKhR1Vmp0YqM1pz6XIthj3PgQnTvWCH3CKBtagiOsTNsDwf-x9-5oyKxan8lQfERT4UDOIovxGE7GtM522njTZqTAWbirHoej43e0a0_e1O83Bwe5WvAGfCNc1mjwVEhHxJcFlByjQkcq210oPNHaynMtEok4c7ZfmrKOO7fKZz=s3846" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="2664" data-original-width="3846" height="222" src="https://blogger.googleusercontent.com/img/a/AVvXsEj2ikYGmPBU3GsYhfKhR1Vmp0YqM1pz6XIthj3PgQnTvWCH3CKBtagiOsTNsDwf-x9-5oyKxan8lQfERT4UDOIovxGE7GtM522njTZqTAWbirHoej43e0a0_e1O83Bwe5WvAGfCNc1mjwVEhHxJcFlByjQkcq210oPNHaynMtEok4c7ZfmrKOO7fKZz=s320" width="320" /></a></div></td>
</tr>
</tbody>
</table>After a few of these were built as intended I decided to make some that ignored one of the inputs and connected the two audio jacks as a passive multiple. This seems to be more convenient than plugging two independent sources in. The v1.0 boards have a 5V regulator on them and some configurable solder jumpers for that but I don't think they are needed, since the power consumption is within the limits of the regulator on the Pro Mini.<div><br /></div><div>Power Consumption on v1:</div><div>Peaks (All LEDs on) = 85mA on +12V</div><div><div>Idle (LEDs Off) = 26mA @ 12V</div><div><br /></div><div>So ~60mA/16 LEDs. LEDs pull 3.75mA each (avg)</div><div><br /></div><div>On one of the boards I used some alternate firmware to implement a tuner. The tuner is pretty basic, measuring time between zero crossings and mapping that period to notes with a look up table. For that, 12 LEDs were used for notes and 4 for showing the deviation (how far out of tune). It's very convenient and intuitive for tuning oscillators.</div><div><br /></div><div style="text-align: center;"><iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen="" frameborder="0" height="315" src="https://www.youtube-nocookie.com/embed/A1lDyr4LlM4" title="YouTube video player" width="560"></iframe></div><div><br /></div><div><br /></div><div>After some testing and using the v1 boards and a few months using them I did a redesign in KiCad 6 for v2: </div><div><ol style="text-align: left;"><li> Used footprints for resistors that are closer to 250mW sizes. There's a lot of wasted space on the board, same for diodes and ferrite bead.</li><li> Use footprints that are correct (wider than v1) for all ceramic caps so they don't have to be bent.</li><li> Avoid resistors for Arduino foot print so they don't run into each other.</li><li> Moved second 20pin header on PCB_B to reduce the depth when plugged in.</li><li> Use small traces for all the led paths, no need to mix and match.</li><li> Add Open Hardware logo.</li><li> Add passive multiple path with solder bridge.</li><li>Removed several unneeded capacitors.</li><li>Removed the 5V regulator and it's support components.</li><li>Changed a bunch of footprints.</li><li>Removed power LED.</li><li>Removed mounting holes in corners.</li></ol></div></div><div>I'm waiting for the v2 boards to arrive along with 10 other PCB designs... I went a little ham on the PCB ideas.</div><div><br /></div><div>Some things I didn't try on v2 that could happen on a v3:</div><div> 1. CV input circuit path (could use LEDs to show semitones and octaves)</div><div> 2. CV output circuit?</div><div><br /></div></div><div>Code: <a href="https://github.com/EchelonForce/level_display_arduino_code">https://github.com/EchelonForce/level_display_arduino_code</a> (for tuner, see <a href="https://github.com/EchelonForce/level_display_arduino_code/tree/features/tuner" rel="nofollow" target="_blank">features/tuner</a>)</div><div>PCB: <a href="https://github.com/EchelonForce/level_display_pcb">https://github.com/EchelonForce/level_display_pcb</a></div><div><br /></div><div><a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license"><img alt="Creative Commons License" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" style="border-width: 0px;" /></a></div>This work is licensed under a <a href="http://creativecommons.org/licenses/by-nc-sa/4.0/" rel="license">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-70316451892017195762012-09-14T05:45:00.000+02:002012-09-21T19:13:52.151+02:00A Twitter hack for the Typo...matic<span style="color: orange;"><update> </span><br />
<span style="color: orange;">Tonight 9/21 I'll have the Typo...matic online searching for tweets with the following #tags:</span><br />
<span style="color: orange;">#ccckc</span><br />
<span style="color: orange;">#linux</span><br />
<span style="color: orange;">#arduino</span><br />
<span style="color: orange;">#selectric</span><br />
<span style="color: orange;">#typomatic</span><br />
<span style="color: orange;"><br /></span>
<span style="color: orange;">There will also be a <a href="https://plus.google.com/u/0/events/c62u5rnejir60s0ase5qs4622co">google hangout</a> where you can watch it type away live!</span><br />
<span style="color: orange;"></update></span><br />
<br />
I spent the evening at <a href="http://c3kc.org/">CCCKC</a> tinkering with <a href="http://www.floodgap.com/software/ttytter/">TTYtter</a> and some bash scripting and <a href="http://www.catonmat.net/blog/gnu-coreutils-cheat-sheet/">coreutils</a> that were new to me... <br />
The result is the world's worst implementation of a polling Twitter search that can feed new tweets to any other bash command. I'll be hooking this up to the <a href="http://www.robotdialogs.com/2012/06/typomatic-part-3.html">Typo...matic</a> at the next public event I lug it out to...<br />
<br />
I have a chunk of c code that talks to the Typo...matic's Arduino and it takes as arguments the serial port and a file of text to print. So the end result of the script below is a text file of recent tweets matching the #ccckc hash tag. <br />
<br />
Feel free to gank this script and do dumb things with it. I'm not proud of it from a technical standpoint but for a hack it'll do. <br />
<script class="brush: bash" type="syntaxhighlighter">
<![CDATA[
#!/bin/bash
#Make temporary files...
tmp1=`mktemp`
tmp1sort=`mktemp`
tmp2=`mktemp`
tmp2sort=`mktemp`
tmp3=`mktemp`
tmp3fold=`mktemp`
#Commented out lines will init the files if you don't want
#old tweets (anything prior to script run).
#echo "/search #ccckc" | ttytter -script -anonymous > $tmp1
#sort $tmp1 > $tmp1sort
#cat $tmp1
#Loop forever
while true; do
#Search twitter for the hash tag...
echo "/search #ccckc" | ttytter -script -anonymous > $tmp2
#comm expects sorted files...
sort $tmp2 > $tmp2sort
#Find lines unique to tmp2sort
comm -13 $tmp1sort $tmp2sort > $tmp3
#If there are unique lines they are new tweets.
if [[ -s $tmp3 ]] ; then
#Store tmp2 in tmp1 for next loop
cat $tmp2sort > $tmp1sort
#Limit lines to 70 chars long, us spaces as fold points.
fold --width=70 -s $tmp3 > $tmp3fold
#Replace with real commands...
cat $tmp3fold
fi;
#Wait a while...twitter docs say 150 hits/hour max...this violates that.
sleep 15
#loop
done
]]>
</script> mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0tag:blogger.com,1999:blog-3915062462128065384.post-40872781356035099072012-07-01T04:14:00.001+02:002022-12-16T19:17:05.809+01:00The Translator...Mini Sumo Bot<div style="text-align: justify;">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcJqTpIhqXi8VCrurTpUc6qBUjemM1zQKinBJCVrtsTZOsGPkku30XVIemFRbjz6UCnBNdwRMx78-F5e3DKxqoOEA80VB18PI883mm_pbeEEuleS0nOoII-w7O7idhiG_CCJmMLQQsfUn_/s1600/IMAG0846.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcJqTpIhqXi8VCrurTpUc6qBUjemM1zQKinBJCVrtsTZOsGPkku30XVIemFRbjz6UCnBNdwRMx78-F5e3DKxqoOEA80VB18PI883mm_pbeEEuleS0nOoII-w7O7idhiG_CCJmMLQQsfUn_/s200/IMAG0846.jpg" height="182" width="200" /></a></div>
<div style="text-align: left;">
A few months before Maker Faire KC a friend started working on a <a href="http://robogames.net/rules/all-sumo.php">Mini Sumo Bot</a> and in passing I said I could probably get a bot ready for that...well those months slipped away and two weeks prior to the faire I had no bot (and had been constantly hounded by said friend). So I did a grand total of 30 minutes of research on the internets and ordered some parts (not recommended).</div>
</div>
<br />
I ordered everything from Canada (Fingertech and Solarbotics) so I had to wait almost another week to get started.<br />
<br />
Here's the parts list I ended up with:<br />
<ul>
<li>Chassis/Motors/Tires/Line Sensors: <a href="http://www.fingertechrobotics.com/proddetail.php?prod=ft-kit-cobra-chassis">FingerTech "Cobra" Mini-Sumo Robot 4WD Kit</a></li>
<li>Motor Controller: 2x <a href="http://www.sparkfun.com/products/9457">Sparkfun's Motor Driver 1A Dual TB6612FNG</a></li>
<li>Micro-controller: <a href="http://www.sparkfun.com/products/11113">Arduino Pro Mini 328 - 5V</a></li>
<li>Proximity Sensors: <a href="http://www.solarbotics.com/product/40253/">BittyBot 3-Way Object Sensor</a></li>
<li>Battery: <a href="http://www.venom-group.com/Store/GPV/10C-2S-1250mah-7-4v-LiPO-Micro-Molex">Venom 10C 2S 1250mAh 7.4V LiPO</a></li>
<li>Line Sensors (Included w/ chassis kit): <a href="http://www.sparkfun.com/products/246">Phototransistor - QRD1114</a></li>
<li>More Stats below... </li>
</ul>
<div style="text-align: justify;">
</div>
<div style="text-align: justify;">
The first thing I did was construct the BittyBoty 3-Way Object Sensor which is used to find the other robot. This kit is a nice compact proximity sensor, but it's a bit tough to mount (double sided tape...). Building the kit was a challenge because it's a very small board with several tiny surface mount parts to solder...and I didn't have the right kind of tweezers. After melting one of the indicator LEDs and testing the rest of it I deemed it passable and moved on.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDKi2VPGMOmZiE1gk-TQ7kydHkA-dFotqg2SNc0A2jgH4ZomxKYbpgmgiCzZME1pgSmqXDE9x6ahTNHkOxQK0sMePdd3VXpD0hwPrxaJfvG7yI76ibGtx-C6ksnNl8kthT1ZXPdx9CZSuP/s1600/IMAG0830.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDKi2VPGMOmZiE1gk-TQ7kydHkA-dFotqg2SNc0A2jgH4ZomxKYbpgmgiCzZME1pgSmqXDE9x6ahTNHkOxQK0sMePdd3VXpD0hwPrxaJfvG7yI76ibGtx-C6ksnNl8kthT1ZXPdx9CZSuP/s320/IMAG0830.jpg" height="180" width="320" /></a></div>
<div style="text-align: justify;">
My first attempt at getting everything working consisted of using solid core and wire-wrap wire to do point-to-point connections. That was a mistake. </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXeVzU6QIJBMAW5a8AMnlvVYM-OMEtZizO6RsbC2pxoMJuRt9grE8dvYEFpmaxVE9SyHmb1yWgiVojnEkJOY9SvIVCXKH1N8TH1n5SaEOu6a1xmwS3rWdKDis6X09m60tojMF3zpk12TUr/s1600/IMAG0834.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXeVzU6QIJBMAW5a8AMnlvVYM-OMEtZizO6RsbC2pxoMJuRt9grE8dvYEFpmaxVE9SyHmb1yWgiVojnEkJOY9SvIVCXKH1N8TH1n5SaEOu6a1xmwS3rWdKDis6X09m60tojMF3zpk12TUr/s320/IMAG0834.jpg" height="222" width="320" /></a></div>
<div style="text-align: justify;">
But it did work! I rigged it up to work with a 9 volt battery and let it tear around my desk for a few days like that.</div>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="450" src="http://www.youtube.com/embed/vfK2m63vRs0" width="600"></iframe></div>
That video shows it moving slow, detecting lines and it does actually detect and turn towards the can. Also in that video you can see the competition ring we made at <a href="http://www.c3kc.org/">CCCKC</a> with the help of Craig (<a href="http://www.built-to-spec.com/">Built-to-Spec</a>) who did the vinyl white ring. <br />
<br />
After a few days fighting that solid core wire jumble I got fed up and designed a single sided PCB that I could etch. Unlike my previous etchings, this time I went shopping for some <a href="http://www.instructables.com/id/Stop-using-Ferric-Chloride-etchant%21--A-better-etc/">Hydrochloric Acid and Peroxide</a>. This worked AMAZINGLY well compared to Ferric Chloride. I didn't want a top layer or vias so I intentionally left out some of the complex traces so that I could do them with wire-wrap wire instead. This took some time and patience but worked okay in the end... A hint if you do this, use <a href="http://www.cadsoftusa.com/eagle-pcb-design-software/">Eagle</a> to keep track of the wires you patched on to the board by adding traces to a layer. Maybe next year I'll mod it by getting the whole board fabbed. In the end I managed to get the board made and only fried one line sensor on power up...crossed the streams...<br />
<div style="text-align: center;">
<table><tbody>
<tr><td><div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik1AMR7uDXcF-YMYDpaxrMzse6h3Pgz7odSCxPjWc_vjheMrIjJdpSD8t_hK9LcSwhiaw1VjPzYfJmaNAbWZ1Brus5FZA7a736KS790iisX9CCtwY5xOCtpqVHWSGUqBl3LobvwmOwlQCu/s1600/Translator+PCB+Layout.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEik1AMR7uDXcF-YMYDpaxrMzse6h3Pgz7odSCxPjWc_vjheMrIjJdpSD8t_hK9LcSwhiaw1VjPzYfJmaNAbWZ1Brus5FZA7a736KS790iisX9CCtwY5xOCtpqVHWSGUqBl3LobvwmOwlQCu/s320/Translator+PCB+Layout.png" height="320" width="183" /></a></div>
</td><td><div style="text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_l_HoGujVSG5f3z-oMeBSh8AuoH3sxdKF1050kthkD6AJo0_pmCF2nbI8XXGGlEYl-3DAeCgVyrUmFXTWzRHIne8O148jhr3hPdPhSuKqFuBRVBQFx_1pkEl4DT4u4NlPRtbLsezBqTBD/s1600/Translator+PCB+Schematic.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg_l_HoGujVSG5f3z-oMeBSh8AuoH3sxdKF1050kthkD6AJo0_pmCF2nbI8XXGGlEYl-3DAeCgVyrUmFXTWzRHIne8O148jhr3hPdPhSuKqFuBRVBQFx_1pkEl4DT4u4NlPRtbLsezBqTBD/s400/Translator+PCB+Schematic.png" height="271" width="400" /></a></div>
</td></tr>
</tbody></table>
</div>
This PCB design fits the standoffs on the COBRA chassis perfectly and instead of directly soldering the Arduino and motor drivers to this board I soldered on headers to accept those. I also added breakout connections for the motors, proximity board, line sensors, power, and switch. So essentially everything plugs into this one board. I also broke out the serial lines and 5V/GND connections so that I could easily attach a XBee wireless serial board (very helpful for debugging).<br />
<br />
After all the solid core wire was replace with either traces on the helper board or stranded wire (stolen from various old USB cables) this setup was MUCH easier to work with. I went to the local hobby shop (which has no website or I'd link it) and picked up the LiPo battery and charger. The battery fits beneath the helper PCB, keeping the center of gravity low.<br />
<br />
<table><tbody>
<tr><td><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVM46qxvIBZEt7oR0oTuLccMVnuq0l7Up6Ve0ieYUmj8GlnLUxV3U8gru1d01-lbceceH_mQS5UbVbw73WR8ZyVOmFRgD3bEIfrmeFcqGB5RdD2GDcuff4BZRrXF1rM0_BsELLxrcg5eXi/s1600/IMAG0845.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVM46qxvIBZEt7oR0oTuLccMVnuq0l7Up6Ve0ieYUmj8GlnLUxV3U8gru1d01-lbceceH_mQS5UbVbw73WR8ZyVOmFRgD3bEIfrmeFcqGB5RdD2GDcuff4BZRrXF1rM0_BsELLxrcg5eXi/s200/IMAG0845.jpg" height="186" width="200" /></a></td><td><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcJqTpIhqXi8VCrurTpUc6qBUjemM1zQKinBJCVrtsTZOsGPkku30XVIemFRbjz6UCnBNdwRMx78-F5e3DKxqoOEA80VB18PI883mm_pbeEEuleS0nOoII-w7O7idhiG_CCJmMLQQsfUn_/s1600/IMAG0846.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhcJqTpIhqXi8VCrurTpUc6qBUjemM1zQKinBJCVrtsTZOsGPkku30XVIemFRbjz6UCnBNdwRMx78-F5e3DKxqoOEA80VB18PI883mm_pbeEEuleS0nOoII-w7O7idhiG_CCJmMLQQsfUn_/s200/IMAG0846.jpg" height="183" width="200" /></a></td><td><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHeiJ9Lk5TpUImec_gewhVaTXpNVqoBl0TiEfHi4kWEbmuRpfvif1XWzo7x4xE1xY8wOMxXoT4KFHi6hVWWBMi00zsfKflTdtqaG4n1kt0xiJBc1AATwdaKeGGEfXJA-idcXK4bnxhFhNw/s1600/IMAG0848.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiHeiJ9Lk5TpUImec_gewhVaTXpNVqoBl0TiEfHi4kWEbmuRpfvif1XWzo7x4xE1xY8wOMxXoT4KFHi6hVWWBMi00zsfKflTdtqaG4n1kt0xiJBc1AATwdaKeGGEfXJA-idcXK4bnxhFhNw/s200/IMAG0848.jpg" height="181" width="200" /></a></td> </tr>
</tbody></table>
<table><tbody>
<tr><td><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKGBZJ-ZtSFI6FUiAtbuAa0YrqkH7ZsfdNFI4G4PxPil-OCS1Y8bCWJKzWz6G6Pqn_aZu38FwTZiBZZaClFZ_WuSq5SmGHZD9p8GMTH1n5-gGoY6D3zmSPVIVJLIj5LSvr9p0V3ZyrrqYb/s1600/IMAG0850.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiKGBZJ-ZtSFI6FUiAtbuAa0YrqkH7ZsfdNFI4G4PxPil-OCS1Y8bCWJKzWz6G6Pqn_aZu38FwTZiBZZaClFZ_WuSq5SmGHZD9p8GMTH1n5-gGoY6D3zmSPVIVJLIj5LSvr9p0V3ZyrrqYb/s200/IMAG0850.jpg" height="200" width="159" /></a></td><td><br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuWghIWn41XjaCc8k07xGvDN7GOfYlq9qMgdeUfdW8xkq8fenal1YmOVD52zoZs_rqaaPlQkJS2d-aNYiEUiBZS4lHWM7MOLklsd0-I3-5RS_CZyHw2sZH1DrbaCmQPDw930qjSgrW3_9v/s1600/IMAG0851.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuWghIWn41XjaCc8k07xGvDN7GOfYlq9qMgdeUfdW8xkq8fenal1YmOVD52zoZs_rqaaPlQkJS2d-aNYiEUiBZS4lHWM7MOLklsd0-I3-5RS_CZyHw2sZH1DrbaCmQPDw930qjSgrW3_9v/s200/IMAG0851.jpg" height="125" width="200" /></a></td></tr>
</tbody></table>
The result (after another programming session) was excellent.<br />
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="450" src="http://www.youtube.com/embed/1yX__zEFHRo" width="600"></iframe></div>
At the Faire I ended up taking first place. Woo! Granted there was only one other entrant... Next year bring your bots!<br />
<ul>
<li>Total Estimated Cost: $285.69</li>
<ul>
<li>Chassis: $119</li>
<li>Proximity Sensor: $30</li>
<li>Motor Driver(s): 2 x $8.95 = $17.90</li>
<li>Arduino Pro Mini: $18.95</li>
<li>Battery & Connector: $16.99 + $3.25 = 20.24</li>
<li>Shipping: $17.98 + $61.62 = $79.60 (ouch!)</li>
</ul>
<li>Total Estimated Hours: 30</li>
<li>Final Weight: ~450 grams (I still have room for better sensors :) )</li>
<li>Width: 9.9 cm</li>
<li>Length: 9.75 cm</li>
<li>Height: 7.3 cm</li>
<li><a href="https://github.com/EchelonForce/translator-sumo-bot">Code is on github </a></li>
</ul>
Lessons Learned:<br />
<ul>
<li>Don't use solid core wire in tight spaces...I already knew this, I just wasn't clever enough to chop up some useless USB cables for multi colored stranded wire until the second attempt.</li>
<li>Buy some good tweezers and fine solder tips for surface mount.</li>
<li>Find better paper for toner transfer. I used plain paper this time, but I need to find something better.</li>
<li>Procrastinating and then having to pay for 3 day shipping from Canada really raised the price on this thing. It's quite reasonable if you remove shipping from the final cost...</li>
<ul>
<li>I'll just have to get a lot of use out of this bot to recoup the cost.</li>
</ul>
<li>You could also add in $110 for the battery charger...but I got a really good one so I can use it on more projects in the future. You could also throw in $70 for the Dremel drill press, Dremel bit chuck and Dremel drill bits...but I'll used the crap out of those for boards from now on...</li>
<ul>
<li>I don't recommend the drill bits though...get them online, get several of whatever size you need.</li>
</ul>
<li>Cut down copper-clad PCB board to size before running it through the lamitator for toner transfer. I tried this this time and it worked better than sending the whole board through (less jams).</li>
<li>Hydrochloric Acid is better and faster than Ferric Chloride for etching PCBs.</li>
</ul>
Code:<br />
Coming Soon!mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.comtag:blogger.com,1999:blog-3915062462128065384.post-12575539197079621562012-06-13T10:49:00.001+02:002022-12-16T19:18:26.910+01:00Typo...matic (Part 3)My <a href="http://www.robotdialogs.com/2012/05/typomatic-part-2.html">Selectric II project</a> is finally 'done'. Here's a demo video.<br />
<br />
<iframe allowfullscreen="" frameborder="0" height="338" src="http://www.youtube.com/embed/36kp861HZGQ" width="600"></iframe><br />
<br />
Please read the <a href="http://www.robotdialogs.com/2012/05/typomatic-part-2.html">previous</a> <a href="http://www.robotdialogs.com/2012/05/started-working-on-selectric-ii.html">posts</a> for more details and try to come visit the <a href="http://www.makerfairekc.com/">KC Maker Faire</a> on June 23/24 if you can. <br />
<br />
Edit: Here's a great video explaining the Selectric typerwriter(s) mechanisms:<br />
<iframe allowfullscreen="" frameborder="0" height="338" src="http://www.youtube.com/embed/bRCNenhcvpw" width="600"></iframe><br />
<br />
This was my first attempt at serial via straight C code (gcc) in Linux. Needless to say my code is ugly, full of failed attempts to get POSIX serial communication working and bad coding practices. There's a great guide <a href="http://www.easysw.com/%7Emike/serial/serial.html">here</a> by the way... I'll get it cleaned up and added (Arduino and C code) to this post as soon as I can but...<br />
<br />
The rest of this week and next week I'll be working on a sumobot for the competition at the faire. I'll post about it too...If you've got a mini sumo bot and you're in the area come and compete (mostly for bragging rights) we don't have enough entries yet!mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com4tag:blogger.com,1999:blog-3915062462128065384.post-27437751518736263932012-05-18T17:36:00.002+02:002022-12-16T19:18:32.382+01:00Typo...matic (Part 2)<div style="text-align: justify;">
I've made quite a bit of progress on the <a href="http://www.robotdialogs.com/2012/05/started-working-on-selectric-ii.html">Selectric II project</a>. Since the last post I managed to get a fair amount of the mechanisms necessary to actuate the keys figured out (at least for a first attempt). I made the mechanical additions using a bunch of Erector Set pieces.</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRvrujgHNMHIttsANf1FByhsYsN0lpvz_BEB3nPbI8vFueJOO3TTbkT7YKRE2z5WS1d7ZU625djx2kFro-RZhQzX7xpvrSh5x8lCitja3fIzJDu5FG8F9hinDt3bDSp33fnPz00dPUlgcU/s1600/IMAG0733-web.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="284" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRvrujgHNMHIttsANf1FByhsYsN0lpvz_BEB3nPbI8vFueJOO3TTbkT7YKRE2z5WS1d7ZU625djx2kFro-RZhQzX7xpvrSh5x8lCitja3fIzJDu5FG8F9hinDt3bDSp33fnPz00dPUlgcU/s320/IMAG0733-web.jpg" width="320" /></a></div>
<br />
<br />
<div style="text-align: justify;">
For the time being I've used fishing line to tie the Erector Set levers to the solenoids. Initially I had it set up with fishing line going up over a bar above all the key press mechanisms (essentially pulling up on them) but this didn't work and wouldn't have survived the test of time (rubbing against a bar all the time...).</div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
This past week I made my first go at the toner-transfer & ferric chloride etching process to make a Solenoid Driver board. I also did quite a few things in <a href="http://www.cadsoftusa.com/eagle-pcb-design-software/">Eagle</a> for the first time. The circuit for the driver board is below, it's a simple power FET (IRL2703) circuit with some blinkin' lights thrown in for good measure. Eagle files below, I used default part libraries and the Sparkfun Eagle Library. </div>
<div style="text-align: justify;">
<br /></div>
<div style="text-align: justify;">
I'm no expert on the toner transfer process, so just Google that if you're interested. I will document the equipment I used (some of which is not the greatest) here in case anyone is looking to buy this stuff for the first time:</div>
<ul>
<li style="text-align: left;">Laser Printer: Samsung ML-2525W</li>
<ul style="text-align: left;">
<li>Does an 'okay' job. Toner thickness could be better, and manual paper feed mechanism is wonky. Full sheets of photo paper recommended. </li>
<li>Had a weird issue with linux (had to reboot printer after each print...) that I didn't take time to figure out completely.</li>
</ul>
<li style="text-align: left;">Laminator: GBC HeatSeal H220 Laminator</li>
<ul style="text-align: left;">
<li>The RadioShack 0.065 ish boards + 2xPhotopaper stalled a few times in this laminator, but it has a release button (kind of a clutch mechanism) that you can keep pressed down to help big pieces through.</li>
<li>Next time I'm just going to get thinner boards from some web store.</li>
</ul>
<li style="text-align: left;">Ink Jet Glossy Photo Paper: HP 'Everyday' Glossy Photo Paper</li>
<ul style="text-align: left;">
<li><span style="color: red;">Not recommended.</span> This doesn't soak up water well and doesn't peel off board easily. But it's Walmart's least expensive option...</li>
<li>I also tried plain paper (v0.01 boards were made with plain paper transfer) it does a passable job on big traces.</li>
<li>I also tried parchment paper (on it's own too flimsy to make it through printer).</li>
<ul>
<li>I'm going to try this paper again next time, but taped (with something other than scotch tape) to a normal piece of paper. </li>
</ul>
</ul>
<li style="text-align: left;">Copper Clad Board: I used the 4"x6" double-sided sheets you can get at RadioShack because I was in a rush. </li>
<li style="text-align: left;">Ferric Chloride</li>
<ul style="text-align: left;">
<li>Used the off shelf RadioShack stuff. </li>
<li>It worked 'okay'. I know there are other cheaper chemical options, I might give those a try next.</li>
<li style="color: red;">Please look up how to dispose of this stuff (especially after it's infused with copper particles)</li>
<ul>
<li>In a nut shell, take it to a local chemical disposal facility if your in a rush.</li>
<li>If you want you can allow copper to settle to a sludge and poor off the reusable ferric chloride.</li>
<li>To fully neutralise it you must slowly add Sodium Bicarbonate (Baking Soda) to it until the (obvious bubbly) reaction is stopped.</li>
</ul>
<li style="color: red;">I HIGHLY recommend researching this before attempting.</li>
<ul>
<li>Treat it like a chemistry assignment for school, write down everything ON PAPER that you need to do, from opening the bottle to how you're going to do disposal. That way you don't skip steps or start the process when you don't have everything you need to finish it!</li>
<li>Understand the chemistry, maybe not the gory details, but know the chemicals, safety procedures and the gases this stuff puts off when reacting. </li>
</ul>
</ul>
<li style="text-align: left;"> Adgitator</li>
<ul>
<li style="text-align: left;">Not required but proved to be very handy. </li>
<li style="text-align: left;">I MacGyvered together an agitator using Tupperware, CDs, a servo, an Arduino, and Duct Tape...</li>
<li style="text-align: left;">The Arduino commands the servo position with pseudo-random timing.</li>
</ul>
</ul>
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="437" src="http://www.youtube.com/embed/GeUKNmzcZV4?rel=0" width="600"></iframe></div>
<br />
<div style="text-align: justify;">
After etching and soldering on all the components I went to town testing it on the Selectric II. I only attempted to hook it into the seven levers needed for key presses though. I'll post again when it's further along, but I did make a build video:</div>
<br />
<div style="text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="335" src="http://www.youtube.com/embed/W375DLfRaTg?rel=0" width="600"></iframe></div>
<br />
Solenoid Driver (v0.2) Eagle Files: <a href="https://docs.google.com/open?id=0B1wxSbWwqpqyUUZ2SGlYRXJ2djQ">Solenoid Driver (v0.2).zip</a><br />
<ul>
<li>This is a board to drive 8 solenoids (at up to 30 V) at a time. It uses:</li>
<ul>
<li> IRL2703 Power FETs (with 5V compatible gates)</li>
<li>[overkill] 6A/1000V fly-back diodes</li>
<li>1kΩ and 10kΩ resistors</li>
<li>LEDs </li>
<li>Sparkfun screw terminals (here) </li>
<li>Standard 0.1" spaced headers</li>
</ul>
</ul>mARChttp://www.blogger.com/profile/02316955986025961010noreply@blogger.com0