Ok; one more video. Apologies for my excitement and repeated posts; I’m really stoked to see this coming together.

Here the Teletype is sending 4 random CV values into the TELEXi - which is then communicating over i2c to the TELEXo and driving its four CV outputs. Output 1 and 3 are monitored on the laggy scope. I’ve also connected the four pots to the same CV outputs on the TELEXi and give them a little workout at the start of the video.

Next integration test - i2c from the Teletype to the TELEXo. I’ll be warming that code up tomorrow, I hope.

Cheers!

b

8 Likes

Late at night in a hotel room in Manhattan, the prototype TELEXo and my Teletype have their first real conversation - using a hacked, non-final command syntax:

Random values for the four CV outputs, pulsing A and B trigger outputs (with different times) and a few pokes at TRC.

End. In. Sight.

Now - just a few hardware tweaks for the 1.1 boards and firmware finalization. TELEXi will await i2c framework enhancements before it is fully in the ecosystem.

b

6 Likes

Yes. You’re on fire! You’re in Manhattan? If your around for the weekend I’ll buy ya a lemonade!

1 Like

Another small update; been working on some Teletype code. Have implemented operators so that syntax can be super-easy. Just put a “TO.” in front of the commands you are already familar with. :slight_smile:

TO.TR.PULSE 1
TO.CV 1 V 5
TO.CV.SLEW 1 500

Here is a video of it in action (yes, the D/4 trigger LED is at the bottom. in v 1.0 of the board the PWM-capable pins were mis-routed):

b

7 Likes

Awesome!
Coming along!

Great news !
I still don’t get the choice to use TO.TR.PULSE 1 instead of TR.PULSE 5 and so on. Is there a technical reason for this ?

I second that. what if you want to do this kind of stuff :

L 1 8 : TR.PULSE I

???

Echoing what others have said regarding the syntax. Is there a plan to support multiple TelexO/I? I guess the problem would be identifying which module was being addressed.

1 Like

This was addressed in a conversation with Brian earlier in the thread when we were exploring the best way to go about implementing the module within his ecosystem. The great news is that we aren’t limited to the current II implementation (which created funny-looking commands) and can implement an operator (like I’ve done) that makes the commands consistent and clear that they are going out to the expander:

Playing around with it for the last day - it feels pretty natural this way in practice.

b

1 Like

once we do some real work on the II implementation we can consider some more intrinsic mappings, but i think for now this is a most excellent solution and feels quite natural.

2 Likes

another TELEX update

back in LA and able to test the expander with other equipment. feeling very good about status. going to send a 1.1 board to production soon and, after testing, will be ready to start thinking about producing this for folks that are interested.

still need to get the input working with the teletype. i’m going to play around with the “i2c_master_rx” function that @tehn just added, but i’m concerned about latency and may need to wait until more of the enhanced II implementation is in place

latest test videos

tested the voltage outputs running in parallel and scoped them in the o’tool. tolerance is the same between teletype outputs and the expander outputs for the CV outs. (yay!)

here is a short video of them running in parallel; halfway through i switch polarity and run the expander with negative voltages. thanks to great forethought in @tehn’s base teletype code, it worked out of the box. (teletype output is on the left, telex on the right)

those tests done, i wanted to finally use the expander to drive another module. here is a dippy little test where the 0-coast is being driven completely by the expander’s outputs. the teletype is randomly cycling through a little octatonic two-octave pattern with the param knob adjusting the probability of it advancing a step. various bipolar cv values are coming out of the expander and adjusting the 0-coast’s timbre and note duration.

7 Likes

amazing work! great to see it getting so close to production.

not knowing much about the hardware side of things i wonder if it’s possible to modify the trilogy firmware to work with the expanders as well? especially the input, being able to use it with white whale etc would open things up considerably.

1 Like

@scanner_darkly - thx!

the modules share a lot of code - no reason why they couldn’t communicate. this is one reason why i put a jumper-selector on the back of the things so that they could have up to 8 of each on a single i2c bus. (that would be ridiculous for a single teletype as you would run out of lines in your scripts … but with other modules, its not as ridiculous.)

i haven’t thought about it at all yet in regards to what the modules would do with this extended i/o capability … but i have dreamed about making use of my 256’s additional rows and am now having evil thoughts about my WW thanks to your suggestion. :smiling_imp:

1 Like

yeah, if it’s just in the firmware layer that should be doable, but i don’t know much about i2c so not sure if some hardware modification would also be required to make, say, white whale support being an i2c host.

perhaps something like this would require rewriting i2c to allow for multiple hosts (if it’s possible at all), so then you could, say, have a white whale, 2 input modules and a teletype all connected via the same i2c bus, with the teletype controlling the white whale, and one of the input modules used by the teletype and another one used by the white whale. maybe just a matter of both input modules broadcasting on the same bus and the teletype and the white whale configured which one to listen to.

The only hardware modification you would need is adding pullup resistors on the i2c lines. a simple 10k pulled to 3v3 on SDA & SCL.

The modules don’t have the resistors as they weren’t intended to be master, though they are otherwise totally capable. There could be optional pullups on the expanders, though one must be clear to say when & why they’re needed as too many resistors on the bus can make it unreliable.

3 Likes

update

Got the input module talking to the Teletype tonight. Not 100% yet; the commands work realtime and on any of the triggers but they cause the module to lock when called from the metronome. Got around this for the demo below by triggering the first script using the TELEXo’s first output. The demo shows reading from both the first knob and from the output module’s CV 3 output. Various CV outputs follow along. :slight_smile:

Zzzzzzzzz…

b

9 Likes

Very interesting, as a recent teletype user i’m looking forward for production units.

telex update

still exploring teletype integration. a few i2c related issues to figure out.

it is fun to use the TT as a command and control terminal for the expanders. just added a quantize functionality to the expanders that demonstrates this. with a few simple commands, the expanders can be told to quantize their inputs and outputs to one of several available scales/tunings. here are a few quick examples of the feature in action:

command and control from the teletype selecting several different tunings - none (0), equal (1) and Partch’s 43-tone pure (16):

fun with carlos gamma:

fun with a partch tuning from “Two Studies on Ancient Greek Scales”:

there is another interesting feature that allows for fun with note numbers - but i’ll save that for a future update. :wink:

cheers!

b

8 Likes

QUICK PROGRESS UPDATE

Hardware:

  • 2nd Round of Prototype Boards just arrived from OSH. Assembly and testing this weekend; fingers are crossed.
  • Based on some firmware exploration, need to lock-in on the sample rate for the output DAC to finalize some capacitor values. Sould have that done this week.
  • Ordered a bunch of Selco knobs with monome-grey caps (and corresponding pots).
  • Ordered white and yellow LEDs for the TXo.

Firmware:

  • Refactored, cleaned up and just about ready to go for both modules.
  • Further optimized the Teletype command set (streamlining and simplifying the commands).
  • Currently exploring “extra” modes for the output expander based on its hardware capabilities.

To that last point, here are a couple of shots of the output expander driving its CV outputs as oscillators by setting the FREQ parameter (in Hz) and modifying the WAVE parameter to select the waveform. The +/- swing range is modified by the voltage setting for the output and, as demonstrated in the first video, will slew - which looks cool on the scope. :slight_smile:

Simple random frequencies on metronome tics:

I’ll let you know how it goes over the weekend with the next prototypes.

Cheers!

b

8 Likes

So sick. This is coming along sweetly.

2 Likes