Yup. With the work going on in the Teletype V2 thread around opening up II devices to a more varied syntax, this whole area (and how multiple modules are addressed) needs a rethink. I’m really into your description of it feeling like one big Teletype. :slight_smile:

Here is an excerpt of a discussion from the aforementioned thread about deprecating the II operator:

With this added latitude in the Teletype codebase, we could perhaps do something like this:

TO 3 CV 1 N 7
TO 1 TR.TOG A
TO 2 CV 4 N RAND 12

Where TO is the TELEX_O’s replacement for the II operator, the next digit is the module number (1-8) and then the rest of the command set is exactly the syntax of the Teletype. That last part would make me very happy.

Thoughts?

b

1 Like

@infovore - thanks for looking at this and the advice!

Right now, I’ve planned to put the jacks, LEDs and LED resistors on the front board and everything else on the back. This way, I’m sending 16 signals over and a couple of redundant grounds. This should keep the routing around the jacks to a minimum.

That does, however, make things unbelievably tight on the back board - especially with the room taken up for the through-hole Teensy, euro-power, i2c, and jumpers. I’m an optimist that it can all fit in such a way as to keep the signals well-isolated, but after playing with it a bit started feeling that I may be underestimating the routing rats nest that is about to ensue.

I certainly am going to give it a go - but am open to a little growth in HP if it means I can avoid compromises in optimal routing … as a last resort @laborcamp ;).

1 Like

Personally I like the TO n syntax.
Simple, and shaving off some characters is always a good idea.
And the expanders do feel a little different from the monome Trinity standalones, so perhaps it makes sense to differentiate from || syntax.

1 Like

oh, no!
Please keep these as 4HP!

2 Likes

I was going to say that might not be doable… but I’m not sure, I’ll need to think about it.

Things that would be more doable would be to use TO as a PRE command, i.e.

TO 3 : CV 1 N 7
TO 1 : TR.TOG A 
TO 2 : CV 4 N RAND 12

Technically, this is because PRE a.k.a MOD in the code can accept a command as a parameter, so in this case using TO in the pre slot would change the destination for all output commands on that line.

Another option would be to allow multiple statements per line with a ; as the separator.

TO 3; CV 1 N 7
TO 1; TR.TOG A 
TO 2; CV 4 N RAND 12
TO 1; CV 1 N 8; TO 1; CV 2 N 20

While they might look similar, semantically they are completely different though, as in this case using TO will change the output for all statements on any line (or any script).

1 Like

using it as a PRE would prevent using it with other PRE commands though…

3 Likes

Hmmmmmmm, good point!

One suggestion for keeping everything small and easing routing is that every single capacitor on this board could be a non-polar ceramic cap. Yes, even the 10uFs in the power supply filtering!

You’ll need to go to a larger 1206 package for values above 2.2uF, but everything smaller than that can be found easily in either 0805 or 0603 packages. This will make the layout easier, and generally lowers the parts cost too.

Final suggestion is to keep both pcb layouts in the same file, and do them side-by-side. That way you don’t have to switch between files, which Eagle is terrible at.

//

A final aside - I’ve been thinking about whether it makes sense that ii-supporting modules would have 2 headers, not one, so as to allow for daisy-chaining rather than more and more complex ribbon cables. I know @tehn was thinking up another solution for the existing modules, but perhaps for newly designed ones it makes sense to think more about the expandability.

4 Likes

i’m voting against this as the syntax (to me) feels cluttered.

if you want to support multiple TO units, just have the inputs/outputs mapped accordingly.

ie TO#1 is outs 1-4. TO#2 is 5-8. that way you’re not addressing. then

TO.CV 7 N 2

automatically resolves to TO unit #2, ch 3

this means we don’t have to modify the existing CV commands, and the TO commands will all be contained in a set-- even if you’re basically just replicating the CV/TR commands-- adding TO. is a good signifier of what you’re doing-- and the line will be shorter.

2 Likes

yes. put two headers on there.

1 Like

Love it! That is a great idea and really cleans up the mess.

Do you think we would be able to handle the trigger syntax similarly given where the parsing code is (or where it is planning to go)? (I haven’t seriously dug into this part of the effort yet since the option of moving away from the existing II behavior opened up.)

Is this what you were thinking?

TO.TR.TOG A

Thx!

b

1 Like

That is a great tip; I’ll make sure that all the parts are set for those package sizes!

That’s how I’ve set it up for now - but I’m not sure if I have configured Eagle properly to do this. Couldn’t find any tutorials on the side-by-side approach - only on panelizing.

Thanks again for all of your help; you have been an amazing resource!!!

b

There’s not really much to it - just two separate dimension outlines in the .brd. You’ll need to duplicate the finished version and export gerbers for each board separately, but that can come later.

1 Like

That’s what I’m doing. Great!

b

I get what you’re getting at, but god, that back board is tight.

I started sketching - by which I mean, no traces yet, most resistors/caps not in place, just seeing how big things fit together:

and I really think life gets easier if you bung the opamps and all those ICs for the top board on it - whilst there’s space above the Teensy, its pinouts make it very hard to route around, so it’s basically dead space. Power header and fuses/caps/diodes and PSUs are all taking up a pile of space. And you need space around the DAC for routing.

Also: you need to place a lot of things around your front/back connectors. I staggered them because you can’t fit the jacks all around them nice and evenly - so I also staggered the jacks. LED resistors nicely go onto the front, because you can route top layer traces straight from LED pins to top resistor, to LED. And of course, once you put the ground planes in, life gets saner.

I definitely think anything that can be an electrolytic cap will make life much easier!

I appreciate this is playing, rather than real layout, but it’s how I tend to have to begin. It does feel doable across two boards, for sure.

1 Like

This thing is a crazy puzzle! :slight_smile:

I think your insight is totally right-on. In my concurrent playing around with it, I’ve already gone ahead and moved the trigger section over to the front board with the jacks (though I haven’t nailed down the placement):

I’ve also lifted the Teensy out and put a set of header pins down the right and left side of the thing (14/side). This clears out a lot of room as I’m not using any of the interior pins, bottom bins or surface points on the Teensy - just the rows down the sides. (Ignore the lines going to the Teensy’s bottom GND and 3.3V pins - those are duplicates of the pins up on on top. For some reason, the library I used bundled them all together as one and Eagle is showing them as all needing connections.)

Like RadioMusic, I’m hoping to use the room under and behind the Teensy for components. That said, the headers for the Teensy and the board connectors do eat a lot of space. My desire is to fit everything else on that back board (power, dac, op amp, teensy, and remaining passives). Pipe dream, maybe, but I have a hard time figuring out how I would fit the whole CV out section on that front board (16 resistors, 4 capacitors, -10 reference, 4 signals from the DAC, and the quad op amp).

Thanks so much for exploring this with me! It’s really tricky - especially for my first official Eagle layout.

b

1 Like

[quote=“bpcmusic, post:137, topic:1379”]
This thing is a crazy puzzle![/quote]

EAGLE is, at times, the best puzzle game ever. “Oh, wait, I think I can do it shorter/better”

Yep, that feels good. Remember, don’t be put off by silk on the top panel: you can get a decent amount behind those jacks. The only things you mustn’t overlap are the through-holes. But I reckon you could do a lot with the CVs, too. One-thing-at-a-time is a good way to go, though.

I’m presuming given the 06xx and 08xx you’re assuming this will be assembled, rather than made by hand? (1206 is fine for doing by hand, you see).

[quote]I’ve also lifted the Teensy out and put a set of header pins down the right and left side of the thing (14/side). This clears out a lot of room as I’m not using any of the interior pins, bottom bins or surface points on the Teensy - just the rows down the sides. (Ignore the lines going to the Teensy’s bottom GND and 3.3V pins - those are duplicates of the pins up on on top. For some reason, the library I used bundled them all together as one and Eagle is showing them as all needing connections.)

Like RadioMusic, I’m hoping to use the room under and behind the Teensy for components. That said, the headers for the Teensy and the board connectors do eat a lot of space. My desire is to fit everything else on that back board (power, dac, op amp, teensy, and remaining passives). Pipe dream, maybe, but I have a hard time figuring out how I would fit the whole CV out section on that front board (16 resistors, 4 capacitors, -10 reference, 4 signals from the DAC, and the quad op amp).[/quote]

I might have a crack at that, just to see if it’s possible - the opamp and so on on the top board.

The problem with ‘under and behind the Teensy’ is that if you leave the USB connector facing downards, you’re left with having route things between the gaps in the pins at the other end, which isn’t a lot of space - there’s not room to come out the sides. Although: you have got two sides, and surface mount components, to work with.

Happy to keep diving in: like I said, it’s a fun puzzle to play sometimes!

1 Like

I mean on both sides of the board underneath the Teensy, like RadioMusic (though without pin A14 being connected - leaving a wee bit more space):

Yeah - I was thinking I’d get all of the SMD assembled for the module. I’m about to do some hot plate fun on some other projects, but I don’t think I have a steady enough hand or steely enough nerve to do more than a few for fun.

Had a routing festival on that top board; still not 100% sure I know what I’m doing, but I think it got it in the ballpark. It was tricky getting the components on there, but ended up working out once I decided to cross the centerline and sneak a trace up under the jack.

It is very satisfying in an OCD kind of way - but then I look at boards that have more room and at their beautiful parallel lines fanning out like veins in a leaf and I wonder if mine isn’t a bit of a piggy mess. :wink:

Going to dig into the hairy board tomorrow … if I can find some time.

Cheers!

b

Ah, yeah, the Teensy footprint with everything bar 14/DAC missing is a good one - lots of space to route things through. You could probably just export it from the Radio Music BOM, and pull it into yours.

Things are looking good. The only thing I’d say is: double-check the ground plane reaches all the grounds (I’ve frequently failed on this count). Also: personally, I much prefer 45º traces, but that’s mainly aesthetic…

Hello; it’s update time.

With the unbelievable help of others, I’m excited to report that I’ve completed the initial circuit design and layout for the TELEX-I (input module) and TELEX-O (output module). Extra, extra thanks to @Galapagoose who somehow found the time to provide feedback while readying the just-shipped Just Friends module.

Ordered the prototypes on OSH Park and will be assembling them by hand when they arrive in a week or so. Then, I’ll be finalizing the firmware and testing with the Teletype. This will involve modifying the Teletype firmware to know about the modules. (I’ll most likely add support to the production branch for one of each module and leave the multiple-addressed modules for the refactored branch; we’ll see.)

Once everything is working as it should, I’ll figure out the process for doing a small manufacturing run somewhere for those that aren’t brave enough to pull down the files and SMD-DIY the boards themselves. Details on this TBD.

I’m pretty excited about the potential of these things to not only extend the Teletype but also to serve as generic input and output modules for other experiments. :slight_smile: Thanks to all for the support and patience as I’m working my way through this process. It has been a lot of fun so far!

Here are some shots from OSH of the REV 1 prototypes as they make their way to production.

TELEX-O:

TELEX-I:

Cheers!

b

10 Likes