I have been working on a PCB for my various Arduino projects including the Random Gate Generator...part I is discussed in this post.
I have fab'd up a prototype of a Arduino PCB that tries to be flexible and audio oriented, with accommodations for 6 op amps, and places to jam D/A, jellybean logic and so on. I used it as a home for the random generator.
The idea is to not have to fab up a new board for every Arduino project; most seem to be just Arduinos, DACs, and buffer op amps? Who
Anyway here's what I came up with:
The breadboard prototype is seen on top with working random gate.
I am starting to copy all the parts to the PCB. Power supply (PAIA!) (+/- 15V) is in the bottom left.....
An hour or so later: Good news! It all works!!!!
Arduino code can be downloaded at GitHub.
Finished and working/populated PCB looks like this--last thing to do is create a front panel and wire in 3.5mm jacks but that's really easy:
OK what does it all mean?
First: it's not time to post the "nanofactory" PCB you see here yet--sorry to say, there are too many mistakes. I have started to clean it up, and kludged around the issues for the rev1 PCB. I may do another run (this is a more expensive board than what I usually do due to its size).
I am still not sure if trying to use a "one board fits all" approach is for the best for any of this. Any thoughts?
Anyway if I do another run and have time to test it I'll post this "nano motherboard" on my website. If anyone is interested in what I have now, comment and I will post the Eagle files and gerbers. I have a list of fixes needed. They aren't that bad but I hate PCB mistakes.
Second: How this works/what it does? Simple: using pseudo random number generation and software driven comparators inside the Arduino, have a random gate signal hit a buffer and then out it goes. As a bonus, have the random gate fire off a random voltage output that goes out parallel to the gate.
The two pots are used to set the rate of the random gate, which can be set from very fast random bursts (a few ms each) to very slow (a random on or off every few minutes).
The best thing about this: if I want to change what the pots do, add features, change how slowly it can fire a gate etc. no need to rewire or add new parts--just go in and change the code. Also, there is plenty of I/O left over on the board, so if I want to add things (no idea what but I always think of something?) down the road that's pretty easy as well.
The most remarkable thing about all of this is how easy Arduino CV projects are to think up and do. Comparators--envelopes--LFOs--displays--and so on--super super easy. And inexpensive! I may never use a 555 timer again!