Schematic to breadboard layout

That is strange seeing as how I only changed the PCB image and left the other views as is.

But upon further inspection of the pictures I posted above I can now see that they are not connected in the original sketch and are the cause of the original warning. It looks like this pins are supposed to be ground pins. I would just draw a wire in breadboard view directly to your ground rail and ignore the fact they do not line up.

I do not use the breadboard view at all and never make svgs for breadboard so I can not be of much help in fixing the part to line up.

I think the intention of FZ is, if it doesnā€™t fit in an actual BB, it wonā€™t fit in a FZ BB. Like sub said run wires directly to the pins, and maybe even put the jacks OFF BB so you definitely know there is a connection to the pin and not a BB pin.

Okay so I have connected it off the BB, this is how I have mine wired up physically. But I think that is wrong on fritzing? What do you think?

<a class=ā€œattachmentā€ <a class=ā€œattachmentā€ Chewie circuit.fzz (94.3 KB)

My sketch says I have 44 of 47 nets routed and 9 connections to be routed. I know the jacks have red dots on. But can that be fixed?

I have had a go at the schematic view and managed to get most of the nets and routes connected. I am having a problem with the capacitors. They are connecting a bit strange, Would someone please check my current progress? Iā€™m not sure if I have done it correctly. Thanks Chewie circuit.fzz (121.6 KB)

If that is how it is connected (and works) in real life then thatā€™s also correct in Fritzing. The red dots only indicate no connection, since they arenā€™t being used that is fine here and isnā€™t your problem.

This looks to be caused by wires added (or incorrectly connected) in schematic and/or pcb. Iā€™d suggest that you first move the parts in pcb (noting that many of you resistors are currently SMD which you may not want) so no pins overlap which makes routing (and not creating unintended connections) easier. You should do all the connections in one view (likely breadboard in this case) and once that is complete then follow the rats nest lines in schematic and pcb to make the routes the same. If you connect a wire incorrectly in schematic or pcb views that will reflect back in to breadboard view and break it. Sometimes (which may be the case here) this corrupts the sketch and you need to start again.

As noted above Iā€™d suggest deleting all nets in schematic and pcb then work on breadboard til it is all routed and correct before moving on to schematic and pcb. In breadboard the wiring for the grey leds at the top looks to be incorrect. The data wire from the Arduino needs to go to din (not dout as it is now) on the other end of the module. As well you have a short from +5V to ground somewhere (probably in one of the other views) because if you click on a ground pin all the +5V pins also light yellow indicating they are connected together although breadboard looks correct to me. I think you may have a corrupted sketch (and thus need to start again). There are traces and vias in pcb view (which are likely wrong) but even when I removed all I could find it still says there are two nets routed (which there shouldnā€™t be).

Peter

Yay Van, youā€™re back.

Tip for SCH view - I donā€™t like traces on traces with junctions in the wrong place, because that can lead to mistakes because you canā€™t see the actual connection, ie if you have 4 resistors connected in pairs. but the traces overlap. you may think all 4 are connected but arenā€™t in real life. Look at LED4, it has a pin touching a trace but itā€™s not connected - grab the LED4 part and move it and you will see what is really happening.

The correct way to do junctions is to right-click the trace and add bendpoint, or just grab the trace and move it and put it back, then run the other trace to that point, or hold ALT and make a trace from the bendpoint out. Always grab the junction after you have it connected and move it, checking all 3 traces move with it - 4 junctions donā€™t all move at once because there is a bug -.

1 Like

Your breadboard view is incorrect and I donā€™t know enough about the circuit to fix it. However I did fix up pcb and schematic views where fix up means deleted all wires in both views and rearrange the parts in a semi sensible layout in pcb. Note I changed all the SMD resistors to through hole to match breadboard (you can change them back to smd with inspector if you really wanted smd). Some of your problems were wires connected (probably incorrectly) in pcb view. The way forward from this sketch is to correct the errors in breadboard view:

  1. I changed the wires so the connections more easily followed because they donā€™t overlap one another. This a bit of work but reduces wiring errors and is thus worthwhile. You need to check the green wire on pin1 txd is correct as it was also connected to one of the yellow wires going to the jacks which I expect was wrong.

  2. The wire to dout on the neopixel strip should be going to din not dout. At the same time I simplified the power connections.

  3. The 6n137 optocoupler is wrong and I donā€™t know how to fix it. As it stands it will not do anything as the diode (if it is supposed to be driving whatever is on din2) will be always on. I expect there should be an output from the Mega that should drive the diode (if it is intended to be driving whatever is on din2) which is not present. If you can provide the circuit or device that connects to dini2 I can possibly figure out how this should be connected. Once breadboard is corrected then we can move on to moving the parts around in schematic and making the necessary connections, but first we need to get breadboard correct. The sketch below is how I would lay out breadboard (with as noted the 6n137 not being correct). However as it is still showing 2 nets routed in pcb view despite no wires being connected and 7 unrouted connections in breadboard (but no unrouted nets when the message is clicked) I expect the sketch is corrupted and you will need to start a new sketch and recreate this sketch starting in breadboard (leaving pcb and schematic totally alone) to make ti work once we figure out how the optocoupler should be connected.

Chewie circuit_start.fzz (93.5 KB)

Peter

Thank you for taking time to look at my fritzing sketch, and correcting a lot of things. I should explain what my circuit does. It is a midi controller, I am using it as a loop pedal. the leds light depending on what mode the controller is currently in. It has 10 pedals, a neopixel ring, led strip, 6 common cathode leds, a potentiometer and midi in and out.

Yeah I placed the incorrect resistors on my circuit. They should of just been standard resistors. The pin 1TX is correct thatā€™s what it should be connected to. My bad I didnā€™t notice I wired up the neo peixel ring wrong. The 6n138 optocoupler is wrong anyway, it is the wrong value it needs to be a 1n914. But I was unable to find one in fritzing, I need to make one in the parts editor but I donā€™t know how to do that. Same with the diode, it needs to be a 1n914 diode. With the optocoupler like you said it needs a wire from the arduino to drive it. There needs to be a connection from pin 6 on the optocoupler to pin 0RX on the arduino. Here is the circuit http://www.notesandvolts.com/2015/02/midi-and-arduino-build-midi-input.html

I have two 1000uf capacitors on my circuit they are supoused to be for the neo pixel ring and the led strip. Couldnā€™t I not just use one connected across the power rails of the neo pixel ring and the led strip? I will now begin a new sketch as you said.

Thank you

I have fully redrawn my breadboard from scratch like you said but I think I may have ran into the bug again. My sketch says ā€œ49 out of 50 nets routedā€ and ā€œ6 connections still to be routedā€. I hope I havenā€™t ran into the bug because spent hours on this redrawing it. I also noticed I had my diode pointing the wrong way the negative line on the diode needs to be facing to the right. So i have flipped that around so it is correct. I have moved the parts in the schematic view and pcb view but didnā€™t quite get around to finishing the pcb view . Here is my new sketch showing the current progress. Thank you all for your help Chewie 2.fzz (86.6 KB)

Not a bug (yet :slight_smile: ), but a wiring error. Iā€™m not sure how fritzing is detecting it, but the ground wire on the bottom of the breadboard with the amphenol connectors is missing. Adding that completes routing. Found by using the delete minus function to delete parts one by one until routing completed. That happens when that particular breadboard is deleted. Then looking at only that wiring indicated the problem. There are however more problems that I am still looking at. The opto isolator circuit is incorrect (it wonā€™t work as it stands). It looks to be backwards the input should be coming from Din2 pin 4 in to the diode on the opto isolator and the output from the opto isolator (currently going to Din2 but with no ground) should go to the rx data pin on the mega. This assumes that pin 4 of Din2 is TX data from whatever connects to Din2 (as seems likely). As currently connected this wonā€™t do anything. In the updated sketch below there are still some routing problems in schematic in that di for the neopixel is connected to +5V although it is not in breadboard. It is possible the neo pixel part is in fact incorrect, Iā€™ll have a look at that next.

Chewie 2_fixed.fzz (90.5 KB)

Peter

Thank you for looking at my sketch, just noticed the optocoupler is the wrong way around I will flip it now. Can the value of it be changed? I need it to be a 6n138 optocoupler. The diodes vaue needs changing to a 1n914 diode too. Okay thank you! I have just edited the position of the optocoupler. Everything should be right. Chewie 2_fixed.fzz (87.3 KB)

Ah, I see the 6n138 runs on .5 ma of diode current (as opposed to 5ma for the 6n137) and seems to be preferred for midi applications. However since the 220 ohm resistor they recommend will produce 20ma of diode current, the 6n137 should work just as well and since it has an active output shouldnā€™t need the 74ls14 to drive the repeater circuit to din1. If you like I can modify the circuit to use the 6n137 for you. As well the routing problems are a labeling error in the neopixl strip part. Iā€™m correcting the part and will check it fixes the routing issue and post the corrected sketch with the new part in a bit.

Peter

Yeah I built it exactly as to what I was told. So I used the parts that were recommended. It wonā€™t matter about modifying the 6n137. Because Iā€™m going to use the 6n138 anyway when I make a pcb. I was just saying for label referencing. Iā€™m not sure what is going on with the pixel strip. Thanks!

In that case you should switch to the 6n138 now as trying to change it later will be a pain and may break routing. The 6n138 available in core parts doesnā€™t have pin 7 included and that is needed to implement the circuit shown here:

I can modify your current 6n137 part to be a proper 6n138 (with pin 7) fairly easily and add the suggested 74ls14 or 74hc14 fairly easily.

The pcb view on the part was broken (no holes generated in the gerber) and the labels in breadboard are misplaced leading us to short things together which tied 5V to din (which isnā€™t correct). I have a corrected version of the neo pixel and will swap it in and make sure the routing npw works correctly.

Peter

I have the 6n138 connected to my breadboard physically. Thatā€™s why I would like to change it. Do I have to use the 74ls14 or 74hc14 as well? Because the midi in is working fine with just the optocoupler 6n138. Alright I didnā€™t see that, thank you for fixing it for me!

The 74ls14 is only needed for the repeater jack. The article I referenced said that with the 6n138 sometimes the midi commands didnā€™t get through because of slow edges from the 6n138 (that is what the resistor on pin 7 is about, it speeds up the rising edge, but may need adjustment). The 6n137 is 10 times faster than the 6n138 with an active output ((the 138 needs a pull up resistor which is why the edge is slow). If it was me Iā€™d use the 6n137 as it should be more reliable, and it doesnā€™t need the 74ls14 to drive the output.

Peter

Just remember you CANā€™T change connections in 1 view if there are SOLID connections in another view. Either Delete Minus the part and fit new part, or delete all the traces in the other views first, so they are ratsnests, and then change the connections in the main view you are working on.

OK Iā€™ve made a bunch of changes to your last posted version and arranged schematic how I would typically do it and routed the parts (mostly the power connections using ground and VCC nets) as an example. I didnā€™t do anything with pcb layout as it is likely to be driven by your space requirements.

Breadboard view:

  1. Added the corrected neopixel part and fixed connection order in breadboard. Due to incorrect labeling in breadboard view we had +5V and DIN reversed!

  2. Changed wire colors on the LEDs to orange for red and green for green so which is which is obvious (donā€™t need to do on physical bb unless you want to)

  3. Changed the part label on the amphenol connectors to J1 - j10 in the correct order (they were out of sequence) for neatness.To do so click on the part then ā€œshow part labelā€, then click on the label itself, click edit and change the label. Note that you need to make sure all the labels are unique as routing will screw up with duplicate labels!

  4. Did the same thing for the LEDs.

  5. Changed the opto coupler to use the 6n137 (instead of the 6n138), rotated the 6n137 180 degrees so it is in standard format and connected it so it should work correctly (with less parts) than using the 6n138. It should also work more reliably as the 6n137 can do 10 mhx rather than 100khz for the 6n138 making this worth doing in my view. Replaced the zener diode with a 1n4148 from my post in parts_submit back in Sep of 2016 and deleted a couple of unneeded resistors. Changed the wire color to purple for the entire rxd line for consistancy

  6. Delete ground wire on din2 pin 2 as suggested in Midi standard at https://mitxela.com/other/ca33.pdf

  7. Added a 1K pull up resistor to the output of the opto coupler (pin 6) as suggested in the 6n137 data sheet

  8. Reverse the power/gnd wires on the bottom right end of the led6 breadboard as power and ground were reversed (found in schematic when led3 - led6 were to +5V instead of ground)

Schematic

  1. Arrange input jacks on the left of the schematic and outputs (neopixels and leds) on the right in numeric order.

  2. Added VCC and gnd symbols from core to reduce the clutter caused by running power connections as one large wire.

Chewie 2_fixed_2.fzz (107.6 KB)

Peter

Thank you for fixing so many things on the sketch. I wonā€™t be able to test this connection physically because I donā€™t have them parts because I am using the 6n138 optocoupler with the 1n914 diode. The only thing that has caught my attention is the midi out going through the optocoupler. I donā€™t need it to, I only needed the midi in to go through the midi in.

Anyway I have had a go at the schematic view and have everything routed but Iā€™m not sure if itā€™s correct. But since doing the schematic view the breadboard view isnā€™t fully routed. One of the capacitors has a rats nest on it. I only need the capacitors for the led ring and strip. I have one going across the power rails of them. Do I need both of them? Chewie 2_fixed_2.fzz (120.7 KB)

The 1n914 is the same as the 1n4148 so no problem there, you only need to get a 6n137 to change to that if you choose. The posts I saw on the 6n138 say that the slow rise time because of the open collector output some times cause serial errors on the mega UART which manifests as either no midi output or the wrong command because of an error in the serial data coming in. If you donā€™t see this problem the 6n138 should work fine (unfortunatly it may work fine most of the time but fail sometimes which is why I would use the 6n137 solution.) The resistor connected to pin7 on the 6n138 is intended to speed up the rise time of the output, but getting a proper value may need you to have an oscilloscope to look at the wave form (which you probably donā€™t have). A way to test this if you can arrange it is to have the midi device that connects to din2 to send the same midi message over and over to the mega. On the mega you would need to write code that receives and checks the value of the midi message. If the message is the same every time and none of the messages are missing (based on time or a count of how many messages the midi device sent) then you donā€™t have a problem. If messages are missing then the 6n137 (which can be tested the same way) is probably a better bet. As I said Iā€™d use the 6n137 because it is likely to be more reliable and simpler (doesnā€™t need the tuning resistor) but either will probably work.

Then you can delete din1 and its associated resistors completely as its only purpose is to pass the received data on to the next midi device. That simplifies your board by a bit.

That is because there is an error in schematic. If in schematic view you click on any +5V or ground connection you will see that both +5V and ground connections highlight yellow indicating there is a short between 5V and ground which is causing the routing problem in breadboard. It looks like you moved the top neo pixel part at some point and that moved the wire from +5V that should go to the neo pixel part to ground causing the short and the routing problem. As well a number of other parts were moved creating non straight lines. To avoid this problem you may want to lock the all the parts by clicking on them one at a time and clicking ā€œlock partā€ with that set you canā€™t move the part by accident (and need to unclick it if you want to move the part).

If both neo pixels connect at the same place you can probably only use a single capacitor at that point. The reason for the large capacitor on the neo pixel is that they draw a lot of current, and the current draw varies with time (as the individual clocks in the neo pixels drift in time). I would use separate wires from the power supply (which needs to be able to source the entire current drawn by all neo pixels being on at the same time because that will sometimes happen!). I would be tempted to put a 1 amp or higher schottky diode (for low diode drop) followed by a 100uf capacitor between the power supply and the circuitry other than the neo pixels. What can happen when the neo pixels all come on at once is that the 5V line will momentarily drop below 5v (the 1000uf capacitor is supposed to stop that but it may not be able to do so) and that can cause the mega to reset or otherwise malfunction sometimes which can be very frustrating to find. The shottky diode blocks the drop from the neopixel getting to the mega and the 100uf cap supplies power to the mega with a steady 5V until the power supply catches up again. Another alternative is two power supplies, one that supplies the mega and one that supplies the neopixels, but the first solution is cheaper and easier. Below is your sketch with the various lines straightened and the short removed and rewired to the neopixel correctly.

Chewie 2_fixed_3.fzz (122.9 KB)

Peter