Lots of good suggestions in this thread so far: Teensy is very powerful for what it costs, and there’s lots of examples in the wild:
-
@TomWhitwell’s Radio Music works a nice harness for wrapping some analogue or digital ins/outs to a Teensy with a few controllers. You can use it for very simple things, and it can go as far as (obviously) playing back audio.
-
@Cutlasses’ Glitch Delay and Freeze modules use a Teensy 3.6, six pots, two buttons and accompanying audio library - the 3.6 doesn’t need an external audio board to do stereo out, and it has multiple ADCs so you can read pots and stream audio. Those boards are going through a revision, I think, but they act as a nice harness for building audio.
- if you’re not interested in audio, an Arduino Nano or clone - as used a bit by Sam-LookMum - is a dirt cheap way of interfacing with gates and pots.
- Ornament and Crime and Temps Utile are really good examples of boards and code that wrap the Teensy in useful ways - in particularly, giving you high-quality DACs out on the OC, and doing realtime code.
- if you want to scale up or build something more standalone, Olivier Gillet has put so much STM32 code in the wild.
- “contributing to Teletype” is, dependent on your level of C and familiarity with Teletype, possibly not as simple as you might think. That’s a moderately chunky piece of code there.
- going beyond boards with USB bootloaders - the Teensys and Arduinos - you may end up needing a programming interface of some kind, like a J-Link or USBasp. But that’s probably a more advanced topic.
If you’re comfortable with the code, that’s great. From an electronics standpoint, there are a few key problems to solve - and that some of these designs have solved for you:
- most importantly, these boards operate from 0-3.3V. They do not want anything outside that; at best, things won’t work, and at worst, you’ll fry things. So all the analogue inputs need to be scaled, offset, and possibly clamped. (eg: clamp to bipolar 5V, and then scale/offset to unipolar 0-3.3V). That’s a problem to solve.
- …that also means you’ll need to scale any output back up, too, especially if you’re generating CV. Scale/offset can be done in a single move. You’ll learn a chunk about op-amps doing this.
- You’ll come up against the limits of how many input pins you have, frequently - especially when it comes to wanting to read and write analogue sources. The Teensys have 1-2 output DACs, for instance, at most. And input ADC varies between boards. You might quickly find that mux chips (eg a 4051) will make you life a lot easier - a multiplexer chip allows you to read a number of sources in turn, meaning you could read, say, eight pots from one analogue input by reading them quickly in turn. These are not hard to wire up. There’s a tendency to want to do everything in code when a 50p part will do tons for you.
- More accurate analogue input/output might require ADC/DAC parts better than what’s on a controller. A good example here is the Ornament and Crime, which uses a high-quality external DAC for its outputs.
Language: is going to be plain old C, perhaps wrapped in a *duino wrapper, but still.
The other reason to at least look at example projects is that they do cover a lot of the belt and braces: filtering a power supply, clamping inputs, correct impedence resistors everywhere. The free version of Autodesk EAGLE will help you look at the schematics for the boards I mentioned up top.