Telex: Teletype expanders


All of the information for DIY is up on GitHub; you can find it here:

I’m not sure if I would recommend the TELEX as a first time build. Where there are a lot of helpful materials up on the GitHub site, building it will rely on your past experience and skill with SMD. Not impossible. Some first-time SMD builders have fared pretty well, but I think they also have had experience with a number of through-hole projects first.

If you were to want to “work your way up”, I’d recommend building a Music Thing Modular Radio Music (uses a Teensy and is similar sized), the NoBots Double Buff (a SMD project), and then some build where you buy a PCB and Panel and need to source parts from the Mousers and Digikeys of the world. Do all three successfully and you will be ready to go. Also, you will have a few awesome new modules in your rig. :slight_smile:

Still deep in production for the run. I’ve had a lot of international travel for work and family that has interrupted me. I have time allotted in July to finish the builds and QC and then time in August to add the items to the store. No promises here as we all know about plans, but know that I’m not too far from the end.

Detailed Status and Photos

All SMD is done for the TXo, TXi, TXb, TXn, and TXo+ Upgrades:

50% of the TXo assembly is complete (front boards):


Awesome yeah I might just wait then and order one of the fully assembled ones, thanks!


I am probably overlooking something, but I was looking at TxO waveforms on a scope for the first time and the results are pretty far from what I was expecting based on the reference

TO.OSC.WAVE 1-n α set the waveform to sine (0), triangle (1000), saw (2000), pulse (3000), or noise (4000). Range is from 0 to 4999. Oscillator shape is blended in between the “pure” values.

In the video, the metro script is incrementing A and then calling TO.OSC.WAVE 1 A which I am showing on the scope.

Is there a command I missed? I called TO.OSC.CV 1 V 10 to set the amplitude.


Set alpha to a fixed value in the range of 0-4999 maybe? (I don’t think you have to clock it)


Looks like it is scaled down from 0 - 4999 to 0 - 499?

I have not used the oscillators for some time but I think I remember that it is getting a bit interesting above 4999 as it does above 499 in your example. Below 499 it morphs through the basic waves as expected, does it?


I don’t have the time to dig into the code right now, but this might be a useful link:


@freqout - You need the latest release in order to get more waves than the few primitives (v.020 or greater).

Documented in the v.020 release:

Wavetableapalooza: the TXo running with the Teensy 3.2 now has 45 different waveforms. You can access them with the TO.OSC.WAVE parameter, which now increments waveforms every 100 steps. For example: 0 = SINE, 100 = TRIANGLE, 200 = SAW, 300 = SQUARE, …, 4500 = RANDOM/NOISE. Waveforms are taken from the AdventureKid free waveforms pack AdventureKid free waveforms pack. I arbitrarily selected a handful for now; this may change in the future.

Things get really nuts on the Teensy 3.6 and the TXo+ helper board. In the store soon…


Hmm, @scanner_darkly, this should probably make it into the 2.3 docs. Does this now mean that the behaviour of the op will depend on the Teensy version??

Teletype 3.0

It should. And, I’m supposed to update the docs. Hadn’t yet as I was waiting to include the TXo+ details - but I thought I’d have these babies in people’s hands sooner.

Bad Me!

I have another flight this week - I’ll make the changes when I’m in the air and submit a PR to @scanner_darkly.



ah ok yea that makes sense. looks like i have that firmware with the wavetables installed. thanks for the clarification!


it’s a small change, if you send me the wording i can do it, save you some time!


Successful TXi build checking in! Just waiting on OSHPark to ship the teensy helper board for the 3.6 then Ill build the TXo+

Regarding the TXo, I had an OP idea, a Lorenz generator. Like the NLC Sloths. They don’t really require supervision or hands on control while patching, they just hum along doing their thing. Seems ideal if you had an unused TXo output to set up a slowly fluctuating random! I know theres TT chaos ops that could be slewed and updated periodically, but with the TXo ability to create oscillating modulations from just an INIT command it would be useful! There was a Lorenz Attractor on streams so theres some open source code here:


of COURSE there was a Lorenz attractor on Streams :joy:


There used to be a couple of chaos generators in Teletype, not sure if they were retired or not. Probably won’t be the same as one out of the TXo, but it’s already there if you need one.


to clarify, no features or ops have ever been retired from teletype. some syntax and behaviour changed (which is documented here) but nothing was removed.


Finally got around to setting up my DIY TXo and TXi in my case, and am having trouble getting envelopes and oscillations to work properly.

The modules seem to be working fine for the most part - just tested TXi’s TI.IN and TI.PARAM for each of the inputs and all is working as planned.

TXo is able to set and slew CV as expected, and using TO.TR works fine, but the other TO commands don’t seem to work; pulsing doesn’t seem to pulse the triggers, and I can’t seem to get envelopes to trigger using TO.ENV.TRIG. Haven’t been able to get the oscillators going either. Tried setting the attack and decay times first but no luck there either. Sometimes, after trying to trigger envelopes, I am no longer able to set that output channel’s cv.

I tried disconnecting TT from all other modules except for TXo, but that didn’t help.

Using v.021b and TT 3.0 release candidate.

Wondering if I am missing something obvious?


ISTR you need to set the max voltage output via TO.CV first, then activate the envelope (TO.ENV.ACT), and then call the trigger (TO.ENV.TRIG).


Did you activate the envelope generator via TO.ENV.ACT? Also, did you set TO.CV? The oscillators and envelopes will only work within the range defined by TO.CV for that output, so you won’t get any output until you set a CV value.


Thank you!

I must have missed that information. I thought ENV.ACT was more like holding the gate open, not activating the functionality.

I guess this comes down to RTFM


I’m getting further in my TT studies and am considering these now. I really liked how you flipped the TELEXi so the outputs inputs were on the top and the knobs on the bottom (for bottom row of 6u).

@bpcmusic: Do you think it might be possible to get a faceplate, knob / output inputs orientation in this fashion?