Working on MIDI in/out Module for Gadgeteer


Most people use a 6N138 or 6N136. The people on the MIDIBox forums swear they get better results from the 6N138.

MIDI is a really slow serial protocol, but it’s a current loop at 5V, so other factors are more important, especially when old equipment is in the mix. With newer equipment, likely just about any optoisolator would work, but older stuff tends to be really picky.


Got back from the South Florida Code Camp today (Spider/Gadgeteer and Netduino were both huge hits in my session there), and finally got some time to work on my MIDI module tonight.

Parts should arrive from Mouser tomorrow so I can test this design on some protoboard (glad I have little SOT23 breakouts so I don’t have to fiddle with them dead bug style) before I go and have the board made.

I thought I’d toss out a WIP shot. (Attached)

I went back and forth on board size. I wantd it to be as small as possible, but at the same time, MIDI sockets take a lot of abuse, so I couldn’t go with just two mounting holes in the rear – I had to have mounting holes right at the MIDI socket. In the end, the board is a little wider than I wanted, but this is the best compromise I could arrive at while staying on the 5mm grid.


As an aside: is there an easy way to hide or move certain component labels in Eagle? For example the MIDI-IN/OUT silkscreen overlap other components. I know I can hide whole layers, but that’s not what I want.

In DesignSpark PCB, I could move component labels at-will without having to go and edit the original part. I can’t find a way to do that in Eagle.


That’s a 5mm grid, btw, so dimensions are apx 2.1" x 1.2". Pretty small for MIDI, which is size-constrained based on the huge connectors.


And, last post, the latest schematic.

The four jumpers are there to make it easier to use this board with non-gadgeteer devices. I considered doing a full arduino-style shield, but when you combined that with the 5mm hole layout, you ended up with a huge board with a ton of wasted space even if I had chucked a MIDI Thru on there.


I think “smash” is what you want to do on Eagle to move portions you need. Not sure if the outline for instance on the silkscreen can be moved, but certainly naming locations etc can.

+1 to Brett…“Smashed” is what you want. Use the Properties tool (the “i” in the left-hand panel), select the desired component, and check the “Smashed” box. You should then be able to move the silkscreen label around independent of the component.

Thanks guys. Smashed is exactly what I wanted.

I priced out some fab today, and decided it was in my best interest to shrink the board a bit more. I decided to do away with the second set of mounting holes. That means you’ll need to be a bit more careful when mounting it (mounting it up on tall standoffs would not be a great idea), but it saved 1/2 the cost per board. For example, at Seeed, the old size put it into the 5cmx10cm category which is 250% the cost of the 5cmx5cm category.

New board image attached. Ground pour shown only as the dotted outline in this image.

I think I’ll send this out for fab in the next day or two (I need to do a quick test here first) and a couple final tweaks to placement that I noticed as I’m writing this post.

I haven’t priced it out yet, but the components are not overly expensive. The opto-isolator is around $1.30, the DIN jacks are just under a dollar each, the Gadgeteer socket is about a buck here at GHI. Resistors and diode are all just pennies each, optional 4 pin header is also pretty cheap.


Nice work, the boards looks nice and compact.

One thing (but you might have fixed that by now) are those non-45-degree angled traces. It just doesn’t ‘feel’ right :slight_smile:

Will you guys be making prototypes off this?

@ Wouter

The non-45 was the best way to provide clearance around the holes (no traces inside the clearance circles). I’ll take another look at it, though.

@ Gus

Yes, I plan to hand assemble the first batch.

I haven’t decided what the long term plans are yet, as the SMT stuff is going to be difficult for most people. That SOT23-5 really is tiny. I’ve considered using Seeed to assemble if it’s popular enough (cost is non-trivial), but I’m open to ideas. I can actually use smaller components if I end up having it assembled outside.


@ Wouter

I did some digging on the question of different angles in traces, and found this:

It makes a pretty compelling case that sharp angles on your traces do not have any significant impact on signal quality or other aspects of the circuit design.

@ devhammer, they sure won’t. It just doesn’t look very professional that way, and I’m sure others will share this opinion.

@ devhammer

In my case, the angles were more obtuse, but thanks for the link. Good info.

I believe the main problem has to do with etching. An acute angle can potentially cause more copper to be etched away than you may like. In most cases, that’s probably not an issue, though. They will cause some rounding if you use mechanical copper removal, like on a CNC mill.


At least the writer of this document shares my opinion:

[quote]Tracks should only have angles of 45 degrees. Avoid the use of right angles, and under no
circumstances use an angle greater than 90 degrees. This is important to give a professional and neat
appearance to your board. PCB packages will have a mode to enforce 45 degree movements, make use
of it. There should never be a need to turn it off. Contrary to popular belief, sharp right angle corners on
tracks dont produce measurable EMI or other problems. The reasons to avoid right angles are much
simpler - it just doesnt look good, and it may have some manufacturing implications.[/quote]

FWIW, the hydra and many other boards I’ve seen have examples of traces that aren’t set at multiples of 45 degrees. The Hydra has a large number of them if you look closely, used in places where sticking to 45 degrees would have caused a number of extra turns (which is the case in mine as well).

You’ll want the majority of them at 45 degrees, but being inflexible about it can be problematic.

I’ve also seen some clever synthesizer boards where the traces were all routed with curves. It’s almost shocking to look at :slight_smile:


@ Wouter

I don’t disagree at all with anyone’s decision to use 45-degree angles for aesthetic reasons. I’m just saying that the indications I got from looking into the matter suggest that this is more of a rule of thumb that “everyone knows” which turns out to have been originally based on erroneous information about whether it would cause EMI issues.

So color me skeptical about the “manufacturing implications” that it “may have”. I think there’s the least little possibility that someone’s wedded to the idea that 90 degree angles are bad, and coming up with another justification for why. :slight_smile:

Personally, I think “it looks better” is a fine reason, so long as it doesn’t increase the cost of the board.

In the software industry we run into absolute statements like that all the time.

  • Thou shalt not have code in your code-behind.
  • Thou shalt not new up objects in code (IOC only, please!)


In most cases, those are 1. reactionary due to proliferation of bad practices by n00bs, and 2. based on passed-down “wisdom” which has not been questioned by people passing it on. What starts are guidance with qualifiers/criteria becomes mantra and then religion.

I always treat them with a grain of salt. :slight_smile:

If you understand the reasons why those rules are there, and then with that education, decide they aren’t appropriate in this situation, you’re doing the right thing. If you tell people “you should never do X” like in that post, you’re wrong.

This is actually a bit of a hot button of mine when it comes to software. It’s often used as a way for experienced to assert some superiority over new folks. I’m not saying you’re doing that here (seriously), but it is something I tend to speak out against. The person you quoted is doing exactly that, though. He (or she) telling people “never” and then being really iffy about the reasons why, is a classic example of the rules being passwed down without any understanding of the real reasons.

In my case, a straight line is the shortest distance between two points, and it avoids the no-trace area around the mounting holes. I could add a via and route it on the back of the board but then I cut up the ground plane more. In my case, I decided this was the most appropriate approach.


noone can beat the display PCB of my old Game Master game console (from Hartung) :slight_smile:

@ Wouter

That’s awesome. It’s like it just grew there. I wouldn’t design one that way myself, but it has a certain type of appeal :slight_smile:

The synth module I mentioned looked a bit like that, but not as dense.