Awesome
flounder
usb midi keyboard + controls + stereo audio
Tech details:
- 12 MIDI mappable potentiometers
- full octave touch keyboard
- 6 touch function buttons
- stereo audio output
- runs on Teensy 4.0 / fully reprogrammable
- conceived as a friend of norns but works with anything that supports MIDI over USB
Programs:
-
midictrl is a basic midi controller with 12 MIDI-mappable knobs, a full-octave touch MIDI keyboard and octave control (using the 6 "function" buttons).
-
blipo_v2 / blipo_2018 are attempts to digitally emulate Rob Hordijk's Blippoo Box.
-
pitta is a polysynth with an ADSR, oscmix, filter with LFO, delay, and reverb.
-
monoenv is an single mono oscillator and ADSR envelope, to demonstrate how the touch keyboard works. This can be a basis for a more complicated synth. It also works as a midi controller.
-
hardwaretest helps verify that everything is working properly by sending knob/key values to the serial monitor.
BOM:
General parts / build notes:
This PCB requires minimal parts, but there are a few tricky bits. A SMD header is used to access the 10 SMD pads on the bottom of the Teensy 4.0, which isn't easy to solder. This helpful video from Befaco shows how to solder the SMD header (and the other pin headers).
This is how the headers should look after they are soldered on the Teensy and PCB:
<div style="display:flex"> <img style="width: 400px;" src="https://github.com/MattKuebrich/flounder/blob/main/images/teensy4_SMDheader.jpg"> <img style="width: 400px;" src="https://github.com/MattKuebrich/flounder/blob/main/images/flounder_v1.1_femalepinheaders.jpg"> </div>When using this SMD header from the BOM, its pins will need to be cut down a bit to match the length of the other pins. If anyone knows of a better part to use, let me know.
Flounder uses the PT8211 stereo DAC chip, which isn't widely available, but can be found either as part of this low cost kit from PJRC, on AliExpress or this alternative from LCSC, which I haven't tried but should work.
Software installation:
In order to program the Teensy 4.0, you'll need to install TeensyDuino. Once installed, under Tools->Board->TeensyDuino, select Teensy 4.0. You'll also need to install the FastTouch library, which is needed for the touch keyboard. Download FastTouch from Github and then in TeensyDuino, go to Sketch -> Include Library -> Add .ZIP Library and select the .ZIP file.
Plug the (USB Micro-B to standard USB) cable from the Teensy to your computer. In TeensyDuino, under Tools->Port, you should see the Teensy 4.0 there. Also, Tools->USB Type should be set to "Serial + MIDI + Audio".
The audio output uses both the on-board jack and USB audio. In code, the output can be adjusted to be suitable for headphones or line level.
USB Audio notes:
While testing code for flounder, I found it convenient to monitor the audio over USB, using VCV Rack like this:
<img style="width: 400px;" src="https://github.com/MattKuebrich/flounder/blob/main/images/vcv_usbaudio.jpg">A few caveats on this method. When flashing new code, the “Teensy MIDI_Audio” input will need to be refreshed. I’ve found the easiest way to do this is to delete the Audio 8 module and then Undo to bring it back. There also seems to be a general issue with Teensy 4.0 and USB Audio where a clicking sound will develop after awhile. There’s is a fix documented on the PJRC forum, which involves modifying the usb_audio.cpp file in the core Teensy library.
Power:
flounder is usually powered via the USB connection to your computer or another MIDI host (like monome norns). When using it as an audio source, it can also be powered by a cellphone charger or portable power bank.
Videos: