Telex: Teletype expanders


As I mentioned above, for me this would be a treat:

2HP panel with 4CV and 4TR OUTPUTS

minimal additional footprint in the rack, with huge impact on controlling larger system!



+1 on this expander! I would be happy to pre-order if someone here has the ability to do a small run on these



Hello and Happy Holidays!

Here are my thoughts for two Teletype expanders that will address some of the requests in this thread (and also be things that I’d like to build and have). Both would connect over the II bus and integrate with the Teletype using new remote commands listed below. Telex 1 provides the Teletype with 4 additional trigger outputs and 4 additional CV outputs. Telex 2 is a collection of six parameter knobs that can be read from the Teletype.

I am very confident that Telex 1 can be implemented with ease on the Teletype side; Telex 2, while seeming simpler from a commands point of view, implements a pattern that I’ve not experienced with the Teletype - polling a remote device and returning a value. While anything is possible, I’ve not yet put on a snorkel and probed around in the source code to see if it is supported today and, if it isn’t, what effort would be required to get it there. (Depending on the outcome of this research, I’d also like to implement a Telex 3 that allows the Teletype to poll a collection of additional CV inputs. However, I’ll save work on that until after I’ve made some headway with Telex 1 and 2.)

I’ve endeavored to keep the layout style as similar to the existing Monome line of modules as possible. To make it a reasonable DIY project, I’m planning to design it at 4HP for each module to give space for through-hole components, skiff-friendliness and approachable assembly. The logic board will be a Teensy microcontroller that mounts to one of two stacked PCBs behind the faceplate of the unit.

All commands below require the II command to precede them.

Telex-1 Commands (scroll for all)

T1.TRA               set trigger value (0-1) for output A
T1.TRB               set trigger value (0-1) for output B
T1.TRC               set trigger value (0-1) for output C
T1.TRD               set trigger value (0-1) for output D
T1.TOGA              toggle trigger output A
T1.TOGB              toggle trigger output B
T1.TOGC              toggle trigger output C
T1.TOGD              toggle trigger output D
T1.TIMEA             time of the trigger pulse for output A
T1.TIMEB             time of the trigger pulse for output B
T1.TIMEC             time of the trigger pulse for output C
T1.TIMED             time of the trigger pulse for output D
T1.PULSEA            pulse trigger output A using TIMEA as an interval*
T1.PULSEB            pulse trigger output B using TIMEB as an interval*
T1.PULSEC            pulse trigger output C using TIMEC as an interval*
T1.PULSED            pulse trigger output D using TIMED as an interval*
T1.CV1               target value for CV output 1
T1.CV2               target value for CV output 2
T1.CV3               target value for CV output 3
T1.CV4               target value for CV output 4
T1.SLEW1             CV slew time in ms for CV output 1
T1.SLEW2             CV slew time in ms for CV output 2
T1.SLEW3             CV slew time in ms for CV output 3
T1.SLEW4             CV slew time in ms for CV output 4
T1.SET1              set the CV value for CV output 1 ignoring slew time
T1.SET2              set the CV value for CV output 2 ignoring slew time
T1.SET3              set the CV value for CV output 3 ignoring slew time
T1.SET4              set the CV value for CV output 4 ignoring slew time
T1.OFF1              CV offset added to CV output 1 at final stage
T1.OFF2              CV offset added to CV output 2 at final stage
T1.OFF3              CV offset added to CV output 3 at final stage
T1.OFF4              CV offset added to CV output 4 at final stage

* Note: PULSEA-D inverts the state of the selected trigger output.

Telex-2 Commands

T2.PARAM1            reads the value of param knob 1 (0-16383)
T2.PARAM2            reads the value of param knob 2 (0-16383)
T2.PARAM3            reads the value of param knob 3 (0-16383)
T2.PARAM4            reads the value of param knob 4 (0-16383)
T2.PARAM5            reads the value of param knob 5 (0-16383)
T2.PARAM6            reads the value of param knob 6 (0-16383)

Let me know your thoughts, or if I’m absolutely nuts here, talk me off the ledge.





wow this looks amazing.

my first bit of feedback would be to reduce the number of parameter knobs to 4 and allow a little more breathing room for fingers. also, 4 parameters feels “in theme” with the rest of TT. 4 pulse and cv outs, 4 param knobs, etc…

1 Like


Totally agree; I just visited my system and for the Intellijel-style knobs, 5 is about the max that one can line up vertically without creating finger-chaos. Next revision I’ll back it down to 4. Thanks for the feedback!





If you think implementing the version 1 with additional outputs would be easier, I say, make this one happen first, and see what the demand for the unit will be, then make your decision about V.2 with the extra knobs.

4HP seems reasonable, and I guess having the LED feedback, next to them would be useful. So, good call on the form factor.

I wonder if @tehn could chime in with the design suggestions for this (for example on wheth Teensy is the best way to go for the extra outputs module etc.)… I amso excited for this possible development!

Please let me know if I can help in any way.

1 Like


Oh, I meant to say that I also agree on the 4 knob suggestion.

also: good name idea TELEX!
makes perfect sense!



very cool ideas and totally reasonable technically!

teensy could quite possibly do the whole thing-- not sure if the teensy has a 4xDAC output or if that’d need to added?

the II command structure should be improved/changed for remote data collection. or, this is potentially annoying, but a new command III (i2c input??) may create less confusion with the send/receive direction.

i’ll plan on working on this portion for a remote-read of WW/MP/ES params perhaps

1 Like


III sounds great to me! I’m just trying to figure out what the llllllll protocol will be: control your gear from the forum??

Once we have polling on the protocol, it would be really nifty if we could auto-discover a modules capabilities so as to avoid having to recompile the Teletype source code - like what happened with the awesome ORCA and what will happen when we get these little babies off the ground.

As for the DAC, the Teensy 3.2 has one audio-quality DAC. The rest are the standard Arduino PWM output pins - with one additional capability: the support for 2-16 bits of resolution. I plan to experiment with setting them to 14 bits to mirror the Teletype capability (0-16383) and throw a simple little lowpass filter on them to smooth things out. I can also bump it up to 16 bits and do a shift on the values from the Teletype. Either way, fingers crossed that it is good enough for CV. ( – scroll down to “PWM Resolution”).

Worst case, I’ll have to throw some audio-quality DACs in to output the CV. The downsides of this will be build difficulty (DACs are usually SMD - yuk) and increased BOM costs. Otherwise, no big deal.





Ok. Took another pass at the Telex 2. This time, four knobs and four CV inputs. Knobs will attenuate if signals are plugged in; else, they will be 0-5V.

Same command set - minus two inputs.

Thanks for the input!!





can not wait for this!



From looking at the source code, you can just use the II command with numbers instead of the names, e.g. II WW.PRESET 1 == II 17 1, the numbers are defined here, so people will be able to start using expander 1 without a firmware update, but they’ll have to type numbers in instead of names. (I haven’t got a TT yet, so you might need to check that I’m not talking nonsense)

1 Like


This looks absolutely PERFECT !

1 Like


i will definitely buy a telex 1

both designs have surpassed my imagination and will fit the tt system like a glove



not totally certain those CV input jacks on the bottom will fit, unless you know a specific part number that’s very barrel-like. erthenvar jacks etc (that we use) are square bodied and definitely won’t fit.

also, you don’t need an audio-grade DAC. the CV out is control-rate by design. no need to overdesign. filtered PWM should be good.

correct, once the command set is worked out there is no need for recompilation. and that part is pretty straightforward given the feature requests.



Good point about the jack sockets’ space.
But more inputs would still be so great to me.



bump it up to 6hp and there should be space to spread out the pots and place the corresponding input next to each knob

btw @bpcmusic it just dawned on me that a subtle part of making these match the original design is use of the “teletype font”…

which typeface was used? did you figure that out yourself or ask tehn about it?



core humanist sans



I just worry about pitch-wobble and/or slew induced by filtering the PWM outputs. I’m going to reference them against the Teletype and see how they compare. If they are close - we’re in business.

As for the jacks, I’m using the following 4HP build that I did a few weeks ago for inspiration:

This is the Radio Music module from Music Thing Modular. (This awesome bit of kit also uses the Teensy.) The build used the Thonkikonn jacks (similar to the Knobiconn) and places two side-by-side with a little room to spare. Though, I have bags of the Ethervar ones and am wondering if I can make them fit (9.8mm vs 9mm).

Finally, @glia, yes, the font choice tickled my OCD as well. I got close in my illustrator mocks - I used Myriad Pro, gave it an italic slant in some places and adjusted the letter spacing until they were close. But, they are not identical.

That said, I’m very conscious of the meticulous brand that @tehn has built for Monome and would not want to dilute it. This other part of my OCD was grumbling that it should look less like an official Monome product so that there would be no confusion as to its origin. Ever since I ordered my first product from Monome it was clear that every choice in the product’s design and packaging was carefully selected. I remember bringing in some of my staff at the time to walk them through all of the details as an example of thoughtful, meticulous brand execution. Last thing I’d want to do is piss in that pool - even if it was a small run of DIY tribute expanders.

Heck, even if we were trying to get as close as possible, it will be very difficult to get a run of panels at an affordable price that match the sheen and print reflectivity of the Monome panels. Good, affordable panels with printing has been the bane of my DIY fun to date. So much so that I’m 3D printing a CNC machine to start making my own (and getting high on whatever fumes that thing is kicking out in the several hundred hours of printing required).




And here it is with Core Humanist: