Edges Midi Expander Documentation

Hey there MI Community!

I have just started putting together my first modular synth. It basically revolves around a Mutable Instruments Edges that I picked up second hand a few weeks ago (and am super happy about it!). Eventually I plan on having everything CV controlled, but I read comments about the Edges Midi Expander and it sounds like just the thing I need while my new modular slowly grows.

It looks pretty straightforward according to the .brd and .sch, but is there any additional documentation? BOM? A little of functions and midi modes? etc? Particularly the part number for the push buttons would be handy. Are they the same E-Switch (TL1105SPF250Q) as what appears on Edges?

I was just looking for the Edges expander BOM literally yesterday and thought about necro-posting on this topic: Edges expander panel ideas. I still don’t think I’ve seen a picture of someone who has built one.

@Papernoise, might this be something you’d still consider designing a panel for?

Yes sure I would! Now I would even have some time for it. There’s many questions that need to be answered of course: like who’s gonna make them, who’s gonna sell them etc. But I’d be delighted to make a design for them. Do you already have a clear idea of what is going to be on the panel?

Admittedly I haven’t put much thought in to this until now.

It seems Olivier intended to leave it up to the user’s discretion what MIDI panel mount connector is used toward the top of the panel, since the PCB is less than 3U high? It seems having one one 3.5mm jack holding the panel to the PCB would be less than ideal.

Part of me thinks the PCB could be extended upward and fitted with a through hole DIN connector that could also help secure the panel, something like this? A DIN connector in a 4hp panel also feels somewhat questionable, but scanning Modulargrid, it seems some people do it.

What is the large hole toward the middle of the PCB for? I’m sure Olivier has it there for a reason, but if it could be removed, here’s just about enough space to place a PJ301CM. Even with the ungodly large circular drill holes/vias/pads from this guy’s Eagle library. Then of course one would need a 3.5mm TRS to DIN adapter. It could also be cool to rotate this 90 degrees and make a 1U panel out of it? If this were the case I’m sure the PCB could be routed differently, utilizing the back of the PCB, in order to shrink it further?

In terms of actually making panels… I have no idea what’s involved here. I can’t imagine the demand for this would be too high. I’m willing to foot a decent portion if not all of the cost, this seems fun.

Please forgive my stream of consciousness here. Perhaps none of it makes sense. :slight_smile: An electrical engineering degree means nothing, I really shouldn’t be trusted with circuits or other physical things. I’ll just stick to DSP and writing code.

PCBs always need to be smaller than 3U (at least 2cm smaller) because there’s the rails. Well except if the PCB is also the panel that is.

Which hole? Can’t see any?

People like Magpie Modular can do direct to panel digital UV printing, which makes it possible to do small runs at relatively ok prices. It would not fit the MI style though. To make these in aluminium with proper metalphoto printing I think at least 50 should be made.

The edges expander PCB as Olivier has it now is 7.94cm high, so about 2.5cm less than most module PCBs and 5.395cm less than 3U it seems.

I guess this is a 3mm drill hole for mounting to a panel. Doesn’t really look like a hole on the pictures of the pcbs on ModularAddict, but I think they should be there.

The large hole was for a 11mm spacer (like those used on Yarns), and this answers your first question!

Thanks! Again, forgive me as I slowly unwrap what is probably painfully obvious for most here. I actually just noticed the same holes on the Yarns PCB yesterday as I was checking how the DIN connector is used there.

And most importantly, this is where I echo the sentiment I’ve seen time and time again… thank you for making all of this open source! I’ve learned some cool tricks from the code, and my first foray (albeit meager) into PCB layout is proving equally enlightening.

Current plan is to see if I can get a through hole DIN connector to also attach to a panel (hopefully alleviating the need for another support) without being too hacky… We’ll see how it goes.

Perhaps I am the first!! Surely not thought? It was my first build using 0603 sized components, but it seemed pretty straight forward. I have only had a chance to quickly test it… I get 4 flashing LEDs when I press the MIDI MODE button, which I assume means it is in polyphonic mode?

From the information I have pieced together:

  • Switch 1 is MIDI MODE (multitimbral: 1 channel per voice ; or polyphonic: 1 single channel with notes dispatched to the 4 voices))
  • Switch 2 is MIDI LEARN

I have no idea what the jack output does. It is labelled NES_TRIANGLE_CLOCK, so possibly a clock output of some kind? Is it synced to the midi input clock?

Here is the BOM:

Part Value    Device           Package      Description                          
C1   100n     C-USC0603        C0603                 
C2   100n     C-USC0603        C0603                  
C3   100n     C-USC0603        C0603                  
C4   100n     C-USC0603        C0603                
C5   10u      CPOL-USB         PANASONIC_B  POLARIZED CAPACITOR, American symbol 
D1   1N4148   DIODE-SOD323-W   SOD323-W     DIODE                                
IC1  4024D    4024D            SO14         7-stage binary/ripple COUNTER        
IC2  74LS86D  74LS86D          SO14         Quad 2-input EXCLUSIV-OR (XOR) gate  
IC3  AD8532   TL072D           SO08         OP AMP                               
J1   PJ301WQP PJ301WQP         WQP_PJ_301BM                                      
J2            AVR_SPI_PRG_6PTH 2X3          AVR ISP 6 Pin                        
JP1  M01PTH   M01PTH           1X01         Header 1                             
JP2  M01PTH   M01PTH           1X01         Header 1                             
OK1  6N137    6N137SMT         DIL8-SMD     MOTOROLA OPTO COUPLER                
R1   220      R-US_R0603       R0603                  
R2   4.7k     R-US_R0603       R0603                
R3   10k      R-US_R0603       R0603                   
R4   20k      R-US_R0603       R0603                  
R5   10k      R-US_R0603       R0603                  
R6   20k      R-US_R0603       R0603                   
R7   10k      R-US_R0603       R0603                  
R8   20k      R-US_R0603       R0603                 
R9   20k      R-US_R0603       R0603              
R10  20k      R-US_R0603       R0603                
R11  1k       R-US_R0603       R0603                  
SW1           TAC_SWITCHPTH    TACTILE-PTH                       
SW2           TAC_SWITCHPTH    TACTILE-PTH                      

JP1 & JP2 have no component… they are just jumpers to the midi connector. The tactile switches are just your standard 6mm fella’s! Keep note of the orientation of the two resistors closed to the electrolytic capacitor. It may be a little easy to go with the flow and mix them up.

As far as front panel goes, I actually think it will fit really nicely upside down. The two push buttons and the jack will align perfectly with the row of push buttons and 2nd jack from the top on the edges module. The din connector will squeeze in just fine above that!

The jack outputs a NES triangle waveform (32 steps, 4 LSB XORed by the MSB)

Cool! Now all we need is a compact 4-channel VCA with AD/AR envelopes for some all-in-one chitune goodness. :slight_smile:

Looks pretty good for your first time working with 0603!

I have pcbs on the way that I added a Lumberg KGR-50 to. I’m a bit concerned by the fact that KGR is 9.8mm deep from where the panel sits to tip of the pins, while the PJ301BM body is 10.5mm deep… worst case scenario I can add another nut to the KGR underneath the panel to add an additional 3mm.

Inspired by Swirls/Lamb, I have a pcb mock-up of a panel coming as well. But I’m also concerned about the structural integrity of a 18mm hole in a 20mm wide pcb… I had it silkscreened/soldermasked on both sides to explore it being mounted upside down! (Provided it’s physically capable of being fabbed/doesn’t snap immediately)


Crazy? Probably. Olivier posting the Dare To Be Stupid video a while back was inspirational!

I kept the spacing of the PJ301BM to the switches the same, so one should be able to use it with the regular pcb and a spacer if you’re willing to drill a few holes. However I’m not sure of the diameter of most panel mount DIN connectors.

I’d still love a proper panel with a @Papernoise design depending where this ends up!

I also tried squeezing this in as small a 1U tile as possible using a 3.5mm TRS instead of a DIN connector… not sure if I’ll try making it. I got it down to 10hp. It has virtually no ground plane left, which seems bad. This makes me want to find Olivier’s old blog post about his lessons learned with pcb layout!

I don’t know how I ended up this deep down this rabbit hole. Truthfully I don’t even really need this expander. :sob:

Spoken too soon… I placed the 6N137 upside down! The orientation dot needs to be in the top right corner, not the bottom right. D’oh! It explains why I wasn’t getting any action with it though, other than the pushbuttons (which simply ground pins on the main Edges processor).

Flipped it around, and midi controlling audio! It is super straight forward to use. I slapped together a quick video of it in action for the first time.

Oooh! The very same triangle waveform produced by the old NES 2AO3 chip?

Lumberg KGR 50 works decently well without a support… an extra nut beneath the panel is definitely required. And there is definitely some flex inserting/removing a MIDI cable… not production quality, but it works! I have two more of both the pcb and panel if anyone wants one.

Re-reading this I realize you meant having the push buttons on the bottom and DIN on top… I didn’t even consider this configuration because I thought it made sense to leave the MIDI related buttons by the MIDI in… but you have a point!

Am I crazy for wanting to modify the firmware’s handling of LEDs now? And fab the 1U version I laid out? All for the 5 people in the world who could use it! Maybe if I continue this guerrilla campaign Olivier will re-release edges? (kidding)

Oh, eagle files I modified/created + a BOM are here.

Hi Everyone :slight_smile:

I’ve built myself a midi expander on prototype board using all through hole components (i tried to build a clouds with SMD and it when very wrong lol). I’m very pleased to say the midi modes work well as i can switch between multitimbral and polyphonic mode but i’m confussed what the LEARN button does!

How do i use the learn button? When i press it i just get a little beep out of the edges mixed output but no change to the NES triangle out. I imagined i would be able to save note information into the edges internal sequencer as that mode does not work once the expander is attached.

I’m a impressed by the build brianleu has done, very cool. Updating the firmware for LED to display midi modes would be cool. I have not tried uploading firmware onto mutable modules yet but have experience with Arduino. What else would you want the LEDs to show you?

The layout and finish of you panel is way more proffesional but i loved the idea of having a big red arcade button :slight_smile:

Thanks Jack

Uploading…Uploading… Uploading…

1 Like

The learn button changes the MIDI channel Edges is listening to, or the base channel in the case of multitimbral mode: eurorack/midi_handler.h at master · pichenettes/eurorack · GitHub

By default the LEDs only turn when an oscillator is on because of the gate input (i.e. the input is high, or no cable is patched), but I’ve modified it have the LEDs turn on when there is a gate signal OR MIDI note on. Giving some indication of MIDI mode could be a good idea too! I thought adding a mode to disable gate inputs could be helpful too… but simply inserting an unconnected patch cable to the gate input of oscillator 1 also works.

Keep in mind Edges is one of the few MI modules that requires additional hardware (an AVR PDI programmer) to update firmware. But if you’ve worked with Arduino before I’m sure you’d be capable of figuring it out! Olivier has provided makefile targets to do the heavy lifting for you.

Before clicking Reply I already realize I’m mistaken… seems there is the possibility of updating firmware over sysex as well, which I guess could be possible for anyone who has taken the time to get this far?

Professional == stuffy. Your panel is way better! Maybe there is still a hope for me to etch some pacman ghosts or space invaders down to the copper by hand. :smiley: