Teletype firmware 2.0.0 (released 18th July 2017)

Drum roll… after many months and much code, we present the final version of Teletype firmware 2.0!

Firstly I’d like to say thanks to all the people that tested and offered feedback in the beta thread. In particular:

(Profuse apologies to anyone I’ve forgotten, I think I started working on the code for 2.0 at the end of last year and things are getting a bit hazy… even more so with recent developments…)

Anyway, here is the release, please heed the warnings. Firmware update instructions are here.

Teletype firmware 2.0.0: 18th July 2017 (08e06df) (444.5 KB)

Flashing it will erase all your presets!

Please backup any ttXXs.txt files on your USB stick, they will be overwritten.

You will need to power cycle your Teletype after flashing for the keyboard to work again. Wait until the normal Teletype prompt appears before rebooting (nothing bad will happen if you forget though).

(Also available on the official release page.)

Changes since 1.4

Here are the major user visible changes since version 1.4:

  • Sub commands
  • Aliases
  • PN versions of every P op
  • Telex ops
  • (breaking) removing the II op, e.g. II MP.PRESET 1 will become just MP.PRESET 1
  • (breaking) merge MUTE and UNMUTE ops to MUTE x / MUTE x y
  • (breaking): remove unused Meadowphysics ops: MP.SYNC, MP.MUTE, MP.UNMUTE, MP.FREEZE, MP.UNFREEZE
  • (breaking): rename Ansible Meadowphysics ops to start with ME
  • Using the F1 - F10 keys to trigger scripts. Also alt+Fkey to jump to editing the relevant script
  • NUM LOCK to jump to the pattern editor
  • PRINT SCREEN to jump to live mode
  • No more leading space before : and ;
  • Emacs/Unix style keyboard short cuts (ctrl-E, ctrl-A, etc), delete forward with DELETE, enable HOME and END keys
  • Limited script recursion (max recursion depth is 8) including self recursion.
  • Using a USB stick at any time (not just boot up)
  • Metro scripts limited to 25ms, but new M! op to set it as low as 2ms (at your own risk)

Plus so very many under the hood changes. (And probably even more that I’ve forgotten as well.)

Changes sinces 2.0rc2

The only change since 2.0rc2 is the change of the version number on the startup screen. All previous beta releases are still available on the beta thread.


The zip file also contains documentation for all the OPs as well as some of the new features. It’s not yet comprehensive, it’s lacking the introduction that the current documentation has. Contributions welcome!

(As an aside, the documentation is capable of being generated as an HTML file too, and it would be an interesting project for someone to take that and improve upon my (bad) CSS and add some navigation so that we may place it online.)


Sweet. Thanks to all of those who’ve put so much time and effort into this release.

1 Like

many thanks for it !

1 Like

Thanks for the effort !

1 Like

this is fantastic work, all. thank you so much for your time and artistry.


remarkable achievement by all involved!

cant wait to mess with this again


I would also echo a lot of thanks. I’m new to teletype but it has been a wonderful surprise.

In fact it really boggles how it is not a more popular module. It can be almost anything in addition to a sequencer. I have heard that several folks (on muffwiggler) have always thought that it can’t be used without a monome, maybe that misconception is limiting things.


Awesome! Thank you so much to all of those that worked so hard on this, especially those of you who spent a considerable amount of your personal time to contribute this update to the community. Your hard work is greatly appreciated.

1 Like

Thank you so much for working so hard (despite all that’s going on in your life now) on this! Thanks for this final release!!! The Teletype got even more awesome now!

1 Like

monumental! thank you for the huge effort - just looking at the changelog should give an idea of how much work was involved, but i’d like to acknowledge the invisible part of it, all the refactoring and the toolchain work - this is the kinda thankless job that goes largely unnoticed but is so important.

and another great example of community coming together - big thanks to everybody who helped with the release!


Thank you so much for all the work you put in and congratulations on getting the release out!

(As an aside, the documentation is capable of being generated as an HTML file too, and it would be an interesting project for someone to take that and improve upon my (bad) CSS and add some navigation so that we may place it online.)

I spent some time yesterday getting all the doc-building deps loaded and the doc Make targets working successfully. Gonna do some hacking to figure out the best way to tackle things and then open up a thread for community feedback.


so many thanks to everyone involved in helping this truly unique platform grow. i look forward to digging in!


You guys are amazing. Thanks for the epic effort! Imaginary ice cream for everyone.


Thanks to everyone that contributed to this!!

1 Like

I second all these emotions. Many thanks!

1 Like

Very excited to try this out tonight. Much thanks to all involved.

1 Like

@sam, I realized I was actually just building the html docs before…trying to build the PDFs caused some issues. I’ve opened a pr to monome/master with some fixes (and mention within the PR of a weird issue I can’t figure out).

1 Like

Right I’m a bit tired, mainly due to a thunderstorm rather than the baby!

Thanks for the PR @jlmitch5, I’ve commented a bit there, but I thought I’d discuss the Latex issues here.

If you’re trying to diagnose Latex errors it can be much easier to manually run the (Xe)Latex step, like so:

cd <your teletype dir>
cd docs
../utils/ teletype.tex
xelatex teletype.tex
xelatex teletype.tex  # if the first step has no errors

If you get errors xelatex will inform you interactively (type X at the interactive prompt to exit).

Paste the errors somewhere (gist?) along with info about your Python version, Pandoc version and you Tex distro and I will try and help diagnose.

You will also end up with a large quantity of build artefacts, I find a quick rm teletype.* in the docs directory sorts things out once you’ve finished.

Once my life calms down a bit… and I’m in a masochistic mood, I will try and get PDF generation tested in our Travis CI script.


Quick update. Trying to diagnose the Latex errors following your explanation, I realised the issue was a lack of a path separator so it was trying to find the fonts here:

The fix would be to add the missing slash like so:
- Path={{fonts_dir}}/roboto-hinted/

That builds perfectly fine for me at least. Hope this helps.


I’d like to second what everyone has stated about the efforts that @sam put into this firmware release … and especially those of @scanner_darkly:

This work has made the TT firmware a much better place for the community to continue to contribute to and extend the platform. This work usually isn’t fun or sexy to do, but all future contributions will owe a debt of gratitude to @sam’s impressive efforts. It certainly made my job of adding the TELEX operators trivial.

Thanks again, @sam. You are a rock-star!