Teletype 3.0



awesome, thank you! i’ll pm you my email address.


question for LAST and TIME users. i have a fix to make both have 1ms resolution. i noticed a couple of things in the current behaviour:

  • TIME can wrap to negative values
  • if TIME.ACT is set to 0 it will also stop counting LAST

i assume both of these are bugs but wanted to confirm i’m not missing something. it would make more sense for TIME to wrap to 0 once it gets to 32767, and for TIME.ACT to not affect LAST. any objections to these changes?


sounds good to me! that’d be my preferred execution.


No objection here.

1ms resolution would be great :slight_smile:


here is a simple demo, metro script sets X variable to its LAST value. you can see in the 1st video if you set it to something like 303 it’ll alternate between 300 and 310. in the 2nd video (with the fix applied) LAST value is exactly the metro rate (that screen is sure dusty…)


No objections. They both sound like bugs.


well it certainly turned out to be a longer journey than anticipated, but we are finally here! i’m super stoked to present the 1st release candidate for testing. no more changes are planned at this point except for bug fixes. as always, help with testing and detailed bug reports will be greatly appreciated.

what’s new since the previous beta:

new features:

  • 3 level undo in script editing (CTRL-Z)
  • RND / RRND aliases for RAND / RRAND
  • WRP alias for WRAP
  • SCL alias for SCALE
  • new ops: P.RND / PN.RND - get a random pattern value between start/end
  • new ops: P.+ / PN.+ / P.- / PN.- - increment/decrement pattern value by amount
  • new ops: P.+W / PN.+W / P.-W / PN.-W as above and wrap
  • W/ support (done by @Galapagoose)

grid integration:

  • grid control mode
  • support for grid 64
  • coarse faders will use background level properly
  • new ops: G.GBTN.C / G.GBTN.I get the count of all pressed buttons and their ids
  • new ops: G.GBTN.W / G.GBTN.H get width/height set by pressed buttons
  • new ops: G.GBTN.X1 / G.GBTN.X2 get leftmost/rightmost pressed buttons
  • new ops: G.GBTN.Y1 / G.GBTN.Y2 same for highest/lowest pressed


  • i2c initialization delayed to avoid crashes when connected to er-301
  • duplicate commands don’t get added to history in live editing
  • last screen is saved to flash
  • knob jitter in scene loading/saving fixed
  • TIME and LAST are now 1ms accurate
  • RAND / RRAND will properly work with large range values
  • P.RM was 1-based, now 0-based
  • P.RM / PN.RM will not change pattern length if deleting outside of length range
  • L x 32767 will properly work instead of freezing
  • P.POP / PN.POP will update the tracker screen

please remember not to connect grid directly to teletype - it must be powered externally! and as always, flashing firmware will erase your presets, so make sure to save them to usb first.

the built in help has been updated with the latest, including grid ops. i haven’t updated the docs yet, that’s my next step, hopefully i can finish it this week.

Teletype workflow, basics, and questions
Grid ops / integration
W/ Type Firmware Ideas

PN.RND bank
return a randomly selected pattern value between pattern start and end

P.+ index amount
PN.+ bank index amount
P.- index amount
PN.- bank index amount
increment/decrement a pattern value by the amount

P.+W index amount min max
PN.+W bank index amount min max
P.-W index amount min max
PN.-W bank index amount min max
same as above but will also wrap it to min…max range - great for counters

new grid ops are documented here


This is a monumental release, frankly!

It’s no exaggeration to say that Grid integration is a game changer and Grid Control adds an incredibly powerful performance layer to everyone’s existing set.

Thankyou so much for your continued work on Teletype. I can’t imagine how many 100s of hours have gone into design and coding 2.3 alone!


amazing, thank you!!


@scanner_darkly in awe at the amount of work you have put into this - thankyou!


I just got a TT recently, I need to check how to save my scenes now because I definitely want to try 2.3, thanks for that :slight_smile:


Fantastic work. Just wanted to say thanks for what looks like a great addition to TT!


Truely amazed. Thank you


Stunning. I can only assume what it means to commit oneself to such a project.
Congratulations on the release!


A huge thanks to you and all of the developers who have volunteered their time to make these already amazing devices more amazing still! Much gratitude to everyone who has contributed!


Yay!! This is such a huge release. Thanks for all the hard work :star_struck::star_struck::star_struck::star_struck:


thanks for the kind words! and big thanks to everybody who contributed through ideas, coding, documentation, testing and helping others with teletype questions.

question - has anybody tried w/ ops yet? i made some changes to i2c addresses and want to make sure everything is working properly. also, forgot to mention - these changes included a change to the addresses used by er-301.

here is what you have to do: on er-301 switch to admin, go to system settings, scroll all the way down to teletype settings and select:

  • 0xB1 or 0x31 address - this will correspond to SC.CV 1…100
  • 0xB2 or 0x32 address - this will correspond to SC.CV 101…200

depending on your version of er-301 you might not see some of the addresses, but you’ll have at least one of the above. you do have to change it as the default address right now is 0xB0.


I just finished my very first session using the w/ ops (fantastic!) and everything seemed to work well; I don’t think I tested the cue op, though.

This is indeed an amazing effort - many thanks!


great, thanks! just needed to know if any ops work, this indicates the addresses are set up correctly.