A project using the hardware set-up outlined by Takumi Ogata in the 4 CVs from Arduino video.
Required Hardware
- Arduino - Uno or Nano should work, though so far I've only tested this with Arduino Uno
- Adafruit MCP4728 Quad i2c DAC
- Wire and breadboard for testing
- Mono jacks; I used these as they are breadboard friendly, but any jack will do in a pinch, really. If you want to faff around with wired PJ301-Ms or Thonkiconn jacks, go for it.
Suggested Reading
- This article on how to connect an Arduino and MCP4728 will ensure you get everything set up correctly
- That's about it, really. If you don't know how to upload scripts to an Arduino there's a ton of documentation on their site and lots of walkthrough videos on YouTube to help you along
- The Youtube video linked above - and the rest in his Let's Build a DIY Instrument playlist are well worth watching
Basic Set-up
- Solder the headerpins to the MCP4728
- Connect the Arduino to the MCP4728 as described in the Adafruit article linked above
- If you haven't already done so, download the Adafruit MCP4728 Library in the Arduino IDE
- Run
basic_demo.ino
first to ensure you're getting the expected voltages (the steps are outlined in the Adafruit article) - If all is well, wire up your inputs to VA, VB, VC, and VD
- At this point I'd run a quick test on the inputs to make sure you've got them all wired up correctly
- Upload the
arduino-random-cv.ino
sketch on to your Arduino and you should have 4 random CVs from roughly 0 to 5Vs
To Dos
- Optimize the code -- I'm a python beginner rn, so it's not optimized at all and probably looks whack to experts
- Make a perfboard layout -- Ultimately I want this to be used with my modular gear, so getting it layed out and working as a Eurorack and/or Kosmo unit is important.
- Incorporate some triggering options -- either physical (reset button? touch pad interation? vactrol input as trigger for randomization?)
- Explore the Vref capabilities of the MCP4720 as this could lead to a Gate/Trigger function