Parts
Microcontroller
| Qty | Device | Model | Notes |
|---|---|---|---|
| 1 | microcontroller | Feather M4 Express | |
| or | microcontroller | Feather M0 Express | cheaper board with fewer resources, but plenty for this job |
| 1 | display | FeatherWing OLED Display - 128 x 64 | the new hotness |
| or | display | FeatherWing OLED Display - 128 x 32 | smaller display, but costs a little more, and might be more in stock! |
In theory you can make adapt this build for any Feather sized microcontroller board, or really any other size board like an Arduino or Teensy. You need to make sure that the board and output for PWM signals, and that they can be run at a moderate fast (~100kHz) carrier frequency. I know the above two work, they are cheap, flexible, and can run CircuitPython. If you use something else, you may need to adjust the code, and check with GPIO pins are going to work for this.
The display is not strictly required - but having a small display can be very handy, and these two units also have three small buttons so you can interact with your code directly on your unit. Worth every penny if you ask me!
Electronics
| Qty | Device | Value | Part | Notes |
|---|---|---|---|---|
| 1 | capacitor | 10µF electrolytic | C1 | for power conditioning |
| 4 | capacitor | 100nF ceramic | C2 ~ C5 | for the PWM filter |
| 1 | diode | 1N4001 | D1 | for power polarity protection, any 400x should do |
| 8 | resistor | 33kΩ [1] | R1 ~ R8 | 1% would be nice |
| 8 | resistor | 56kΩ [1] | R9 ~ R16 | 1% would be nice |
| 4 | resistor | 560Ω [2] | R17 ~ R20 | for the PWM filter |
| 2 | op amp | LM324 | U1, U2 | quad opamps, single supply |
You have some leeway on the resistors:
[1]: These are in a ratio of 1 :: 1.7 You can use any resistors, 10kΩ or greater, so long as the ratio is between 0.5 and 1.9. The ratio will determine the maximum control voltage & trigger output:
| Ratio | Maximum CV/Trig Output | Example |
|---|---|---|
| 1 :: 0.5 | 4.8V | 47kΩ & 22kΩ |
| 1 :: 1 | 6.6V | 10kΩ & 10kΩ |
| 1 :: 1.2 | 7.3V | 39kΩ & 47kΩ |
| 1 :: 1.7 | 8.9V | 33kΩ & 56kΩ |
[2]: The PWM filter just needs to be somewhere in the range of 2kHz to 5kHz. So, any resistor value between 330Ω and 750Ω will do.
You may want 1kΩ resistors to put on the outputs, and/or 100pF caps for the op amp feedback. I didn't use them, and there's barely room for them on the board, but you might eventually want them.
Other parts
| Qty | Device | Notes |
|---|---|---|
| 1 | FeatherWing Doubler | tiny proto boards with sockets for the microcontroller and display. |
| or | FeatherWing Tripler | three board version if you are including the MIDI board. |
| 1 | Perma-Proto baord | so you can solder up your build after you breadboard it. |
| 4 | 5-pin connectors | |
| 4 | 4-pin connectors | |
| 2 | 5-wire jumper cables | |
| 2 | 4-wire jumper cables | |
| 8 | jacks | banana jacks, 3.5mm mono jacks, or just long screws for alligator clips! |
| - | wire | 22AWG solid core wire |
| 1 | power connector | as appropriate for your system |
| 1 | box | what ever you want to mount all this in |
You need two 5-wire harnesses between the microprocessor board and the analog board, and you'll need two 4 wire harness from the analog board to your jacks. I use spare female pin headers that I bent at right angles, and used some spare wire housing and jumper pins I had. In the BOMs below I give parts for right angle pin headers, and female to female wires. Either works, and see what you have. You could also just solder plain wire between the boards and forego the connectors altogether.
Optional
| Qty | Device | Notes |
|---|---|---|
| 1 | MIDI FeatherWing | add DIN MIDI in & out to the project! optional, but recommended |
BOMs
- BOM in CSV
- [BOM in Excel) (https://github.com/mzero/1205thing/raw/master/hardware/bom.xlsx)
These have both Mouser and Digikey part numbers, and you can upload them to those sites to get a cart pre-filled out. Most of these parts are very generic and there are numerous alternatives. If something is out of stock, you can probably easily substitute with something else. See the notes about resistor values above, as well.
The BOM has alternative in it, so don't just buy everything. In particular, choose what processor and display, choose what kind of jacks, and which cabling setup.
Quantities are given as needed for the project. Always a good idea to buy more - mistakes happen, and for most of the parts a few extra dollars will save you from having to emergency order a 2nd time when you accidentally destroy a part.
Adafruit
Wishlist: http://www.adafruit.com/wishlists/509910
Many of the items in this build come from Adafruit. Both Digikey and Mouser stock them, but don't always have everything.
This wishlist has most of the things you need that Adafruit has. For most of the electronic components, I included the "Parts Pal" box that will have the caps, diodes, and most of the resistors. It's full of other useful stuff, so I recommend it to seed your DIY collection at home.
You will still need to order the 33kΩ, 56kΩ resistors, and the op amps at another site.