OtemRellik’s Teensy3.2 DrumV2 Module

So here’s another thing I’m going to bash my head through bit by bit.

Otem Rellik’s DrumV2 Module.

I’m working my way through translating the schematic into perfboard design (so i can see it all layed out and see what space i have)

DrumV2 Schematic:

My Conversion: WIP!

Panel Component Layout:

There’s not that much on the board yet, component wise, but space for this is limited since I’m using Euro format rather than Komso (Sacrilegious, I know)

Ill keep you updated on my progress. And you can let me know when I have been a dum-dum =D

Also, whilst we’re here, what program do you use for creating Perfboard images like Sams??


DIYLC hands down all the way.


Tried fritzing but DIYLC won me over.

Wondered if an esp32 might be a cheaper alternative to the teensy 3.2.


Thanks for the suggestions, ill try DIYLC out when I get a chance.

Re:Esp32, possibly but im to lazy to code lol im happy being a script kitty for now.

Ive been adding the 2n222’s in the gap between the ICs and hacksawed the board in half.
Oh btw the copper strips are horizontal in the pic (should be obvious by the Teensy3.2 placement, but worth mentioning)


The teensy’s cnp code is fairly portable and porting to an esp32 is a good exercise in code and frugality.
Keep us posted.


Okay, So ive been trying to get the component footprint of this one down to be as small as possible and still be clear as possible. turns out this is pretty hard to do (for me atleast)

Ive made a few reference schems but when it comes to putting it on a 27x35 hole perf board, its jumper and trace cut city.
my idea with this was to run the 10pin and 5v to in between the ICs and link up whats needed.
ive moved some resistors to the front board to try and free up more space, but im still struggling, especially when it comes to the MCP6004 spacing.
what would you guys suggest i try? im thinking about soldering the Teensy3.2 connections under the board (copper side) to the front pcb.

also, DIYLC is ace! i started off with laying out clacktronics mono speaker then moved onto this monstrosity… (im aware ive messed up the power Ecaps, i forgot to switch the leads over)


Don’t be scared to run wires diagonally across ICs! Personally I prefer to ‘daisy chain’ power lines, rather than use a dedicated strip, for example from the strip directly above the left hand MCP6004 to pin 4, then another wire from pin 4 to the strip directly below. It’s up to you though.
Edit: oh also you might want to label the midi connector pins :smiley:


The MIDI is L/R switchable for MIDI A or B.
That one on pin 4 should be a +5 anyways, its a bit of a baffler this one haha!
ill get there though, Otem somehow did it… theres just not enough of a view of the hookups between the boards.


Right i think i might have something now. Totally reworked my first take.
Ive skipped most of the hook up wire but left space and some wires will be soldered under the board (like the +5 joining the MCP6004’s) to make room for the hook ups…
The only thing missing is the voltage in for the Teensy3.2, but that an easy fix too.
anyone want to proof it against Otem’s schem? maybe i should post or link to it in the unverified lounge =D


Im making some slow progress with this module.
Theres just sooo many trace cuts and awkward bits lol (well for me atleast XD)


Just looking at the earlier diagram; are the diagonal trace cuts under the ics a feature of the software?
New design movement? Geometric carving representative of time sacrificed to Pastime?


I dunno just a habit, I like things to have patterns, i think it makes it easier to count the pins.

I made a decent effort on the board today, i think i have the boards done just got to do the hookups to the teensy3.2 next. Otem also let me know which pin the button goes to (as this was an after thought)


Main board detailed:

Backs: (Bad quality shine)

Still gotta check I’ve not done anything silly n check for shorts, see if I’ve missed anything out (still got to order a stereo thonk jack for the midi)
Pleased with the progress today, even if my back isn’t XD


Been slowly working on this one. Thought it was time a try getting the code running on the Teensy3.2 and ‘try’ is the operative word.

ive been running into issues getting the sketch to load…
which to be fair… i expect, since ive no idea what im doing haha.

TeensyDrumV2: In function ‘void setup()’:
TeensyDrumV2:204: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:237: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:243: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:252: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:254: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:278: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
TeensyDrumV2:282: error: ‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
Multiple libraries were found for “SD.h”
Used: C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\SD
Not used: C:\Program Files (x86)\Arduino\libraries\SD
‘class AudioSynthWaveformSineModulated’ has no member named ‘mod_index’
Error downloading https://downloads.arduino.cc/packages/package_index.json

From what i can see i need to fix some parenting issues, sort out some path’s… something like that.

im just working backwards in IDE versions to see if that will help.


I think you have to ask the author. In the code for instance there’s


where kickSine is declared

AudioSynthWaveformSineModulated kickSine;

In the version of synth_sine.h at Audio/synth_sine.h at master · PaulStoffregen/Audio · GitHub, which appears to be the official development version, there’s

class AudioSynthWaveformSineModulated : public AudioStream

which has no mod_index member function. It derives from AudioStream, and in the version of AudioStream.h at cores/AudioStream.h at master · PaulStoffregen/cores · GitHub there’s

class AudioStream

which also has no mod_index member function, and it doesn’t derive from anything. In fact, Google says

Your search - “mod_index” site:github.com/PaulStoffregen - did not match any documents.

So as far as I can see there just is no mod_index function in the (present) official library. Yet Otem says “Everything was just stock audio library objects, no modifications to the library.” Very strange. Maybe they were using some older version of the library and it’s since been removed?

Oh… here:

to try and see or hear the difference, class AudioSynthWaveformSineModulated needs an additional method:

void mod_index(float n) {
if (n < 0) n = 0;
else if (n > 65535.0) n = 65535.0;
_mod_index = n * 65536.0;
and corresponding private variable: int32_t _mod_index;

someone seems to be talking about adding that function… guess you need to investigate that.

1 Like

Thanks!! this stuff is above my pay grade… XD
but i didnt dub myself Sgt BashItUntillItWorks for nothing. lol

looks at the BigButton with regret

ill have a little investigate when i get a sec =)


Otem got back to me on YT:

@willow2x That’s my bad. I forgot this uses a different synth_sine than the stock audio library. I just added synth_sine.cpp and synth_sine.h to the git project. You will have to replace the ones in the audio library with these and it should compile.

which audio library? ive tried looking about in Program Files x86/Arduino but cant find where i should put it =/
I really am an awful noob when it comes to this stuff haha XD


The audio library is found here:



That page includes instructions to install the teensyduino “audio” library. It should be included in the teensyduino install.


Hi Willow2x!
If your project is still alive, I managed to finish the teensy drum yesterday. I can send you the compiled .hex. It is a really great modul !


That would be ace! How did u sort it out? i remember there was something to change in a lib folder but not exactly sure which.
seems to be just 2 files (.h and .‘something’) to replace.


1 Like

Yes, you must replace the synth_sine.h and synth_sine.cpp files with those provided in teensy audio library at this location: \arduino\hardware\teensy\avr\libraries\Audio