PCB Production Doubt

:Hi everyone!

First at all let me introduce myself: My nickname is Namirie and I’m from Spain. I would like to categorize myself as an electronic and technology lover and selflearner.

Few years ago a business idea came to my mind and few months ago I started to develop it (COVID lockdown was great for this).

In my project I would like to have some arduino stuff implemented on it so I started practicing and reading info on internet about electronics, 3d printing, prototyping… So suddenly I decided to move from prototyping to manufacturing. Downloaded Fritzing and I started doing some basic stuff with breadbords and schematics. Few days ago the idea of PCB making came to my mind and this is where my doubts appeared.

For this particular project I´m using 4 MFRC522 RFID readers that communicate with each other and Arduino using SPI bus, after lot of hours triying I managed to get the 4 readers working at the same time. This is my schematics:

I know that it seems to be a little bit messy but let me explain it to you: Basically, there is an arduino nano connected to 4 RFID readers, PSU is connected directly to a voltage regulator to supply 5v to arduino and 3,3v directly from PSU to MFRC522 Readers GND and 3,3v Pins. I`m sure some of you will ask me why im not using level shifers for the SCK, SDA, MOSI and MISO pins when Arduino supply 5v over them, the reason is that after several tries i figured up that some of them can work properly without the level shifters so I´m avoiding using them. Also, as you can see in the schematics im using RJ45 connectors to wire up the readers in a more convenient way.

Despite the other components in there I dont want you to lose your time with more details, my main doubt is making this schematics in PCB:

First problem i found is that as Im managing paralel connections the wiring was a nightmare so i adapted it to a 2 layers PCB and some jumpers between them when i couldnt avoid crossing wires.

After several hours triying it out, i finally managed to get a “well done” PCB, Im still a beginner so i wanted to ask you if the following PCB is actually good to send to the factory or you guys expertices would change something on it.


EDIT: Seems like new users only can upload 1 image and 2 links… /sad.

Please note that first image is both layers, the second one is just the first layer and the last image is from the last layer in PCB.

I know it has been a long post but i wanted to give you guys as much detail as possible. Thanks for reading, for your time and patience. Any help would be appreciated.

Thanks in advance and kind regards,

The pcb above looks to have problems with overlapping traces (although it isn’t clear to me if both sides of the board are shown in the images). Your best bet for help would be to upload the frtizting sketch (the .fzz file) via the upload button (7th icon from the left in the reply menu.) With the sketch one of us can have a look at your pcb and provide suggestions. It is usually possible with creative routing to eliminate the jumpers (but not always.)

Peter

You don’t usually use jumpers with 2 sided PCB, you usually use a via.

When the routing gets complex / tight enough, sometimes you need jumpers as well. That effectively gives you a third (and more) layer to work with. I had a case where adding 2 jumpers meant I could use standard trace sizes, instead of dropping down to 12mils to get the routing to work within the board size constraints.

Hello everyone who answered,

Fist let me thank you all for your hard efford and help on this.

I read carefully every answer to understand it and make it happen.

Blockquote
The pcb above looks to have problems with overlapping traces (although it isn’t clear to me if both sides of the board are shown in the images). Your best bet for help would be to upload the frtizting sketch (the .fzz file) via the upload button (7th icon from the left in the reply menu.) With the sketch one of us can have a look at your pcb and provide suggestions. It is usually possible with creative routing to eliminate the jumpers (but not always.)
Peter

Thanks Peter, I’m attaching it right now, thanks for the suggestion.heimdallRunes.fzz (62.3 KB)

Blockquote
You don’t usually use jumpers with 2 sided PCB, you usually use a via.

THanks Old_Grey, I checked up the video you linked, I did not know what VIAS were, seems interesting. However I just rechecked my PCB triying to sustitute Jumpers to VIAs and it seems like it is not possible due to my layout, every jumper “jumps” both layers at the same time. Maybe I’m Wrong, if this is the case would yo please tell me how to improve it? Thanks.

Thanks everyone for your hard help, I’ll keep checking this post to update you guys too.

Regards,

The Arduino Nano is a 5V board. VIN is to an on board voltage regulator. The way I read your circuit, and the notes on the breadboard view, the power regulator board you are using outputs 5V. That will not work to connect to VIN. You need to either connector your 9V input to the Nano VIN, or connect the 5V out from the board to the Nano 5V pin. The schematic and part do not show it, but I assume (that the 2 output “-” lines are ground, and are connected together.

Here is an alternate sketch (without the above problem fixed). Since you were not using the breadboard for connecting any wires, I deleted it. The schematic view, I reorganized, than replaced a bunch of the wires with power, ground, and net label parts. It should make it a lot easier to follow. The PCB view now has one possible trace routing that does not need any jumper wires. There are still quite a lot of vias to handle the common bus connections between the rj45 parts. This could be made a lot smaller. Down to about a third the current size without getting parts too close together, or getting fancier with the routing. This is not an optimized routing. I was trying to keep it ‘clean’, to make it easy to follow, while getting rid of the jumpers. So I avoided running running top traced right on top of bottom traces, which would make it harder to follow where they went. The main ‘trick’ is to (mostly) run the bottom traces left to right, and the top traces from top to bottom. A sort of grid. vias connect those as needed to get across other traces.
heimdallRunes-2.fzz (55.8 KB)

There is no rules how many times one traces can go up and down with vias, ie, you space the traces and go under one trace, then up between the two traces, and over the next trace. That being said, if you laid it out well you shouldn’t need to, ie like microMerlin’s sketch. Vias have the advantage they are no extra work and cheaper, so they are more popular than jumpers on 2 sided PCBs.

Traces don’t have to be straight to other pins, you can weave them where ever. This what it took me to make this single sided.

microMerlin - Are the ratsnest between the pins of the MP1584EN supposed to be there.

In this implementation yes. That is handled by the expected (assumed) internal connection between the negative (ground) pins. I expect that the MP1584EN part should really have a bus, maybe 3 or 4 of them. I did not go looking for a data sheet for it.

Hello Everybody,

Thanks very much microMerlin for your hard efford on this, and sorry for the late reply but I have been busy triying to understand everything before posting here.

I took your example (which looked much better than my project by the way) and analized it carefully to find examples.

In fact, Regarding the 5v from Voltage regulator to VIN in NANO it was a mistake, I did not know that Arduino Nano (I´m used to use UNO) had also an inboard voltage regulator. Now, im using 5V pin to connect it.

About the Voltage Regulator what I found is that both (in and out) pins are connected: GND and Vout, it doenst matter which pin I use i get the same V output and same GND. Can you please explain me the utility on those second pins in the voltage regulator?

After several tries and making the PCB as my own challange I deleted everything and started over again taking your PCB and schematics as example to be followed. Now I rearanged components and traces using VIAs and seems to be a lot better. Im attaching it again so maybe you can give me your opinion about it after the changes. Your help was HUGE for me in this case.

One more doubt: When using VIAS and ordering the PCB do I have to solder between holes of those VIAS to actually connect to the trace on the other side of the board?heimdallRunes.fzz (56.7 KB)

Edit: Also, thinking about PSU and power consumption, I guess due to the paralel Nano + voltage regulator maybe I’ll have problems? My psu is a wall socket 9v/1A.

Thanks in advance,

Properly manufactured vias from a PCB manufacturer have copper plated holes so don’t need solder in them, but you can solder them if you want.

Your SCH view has junctions in the wrong places and the 3.3V and 5V are on top of traces.
Not that it matters in such a simple circuit, but in PCB new designs use 45º corners instead of 90º. For neatness use the grid snap and make distance between traces more equal.
Something like this

Watch part 2 and 3

Check your design before getting it manufactured or it will come back wrong. Watch part 3

Look up the datasheet for that 3.3V regulator and look for a recommended/application circuit, because regs usually have caps on the pins.

I have not found a datasheet for the MP1584EN switching power supply board. I have found information that there are multiple manufacturers, so information is really needed for the specific case to be accurate. However, the datasheet for the MP1584EN chip (not the board) shows a single vin, single vout, single ground. Which leads me to believe that that the 8 terminals on the board are actually only 3 different electrical connections. I expect that the 2 in- and 2 out- are all hooked together as gnd, and the 2 in+ are hooked together, and the 2 out+ are hooked together. Which matches the description of what you found.

Assuming that is true, the part file should reflect that by using 3 bus definitions. The extra terminals on the board are useful in cases where multiple wires needed to soldered on, but if you are putting it on a breadboard, only one of each bus is really needed. Or the breadboard can explicitly connect the common pins together.

For the project, the effect of all that is that there is no needed to route traces on the pcb around each other for the out- connectors. They are (SHOULD be) effectively the same pin. Connect the traces to which ever is most convenient, including only using one of the pins, and/or adding a trace between them.

Vias will not need any soldering. There are connected through to both sides of the board when the pcb is manufactured.

The total project can not exceed the power that can be supplied by the board. Connecting the board 5V to Nano VIN would cause problems because the nano would not actually get the 5V it needs internally. That internal regulator needs at least an extra half volt input to regulate properly. Specs say at least an extra volt. Leaving Nano VIN open, and connecting Board 5V to Nano 5V is not a problem. The “parallel” is not a problem.

On the schematic view, the normal convention puts the power symbols at the top, and ground at the bottom. You put them both at the bottom, with is easiest here. However, you can make that look at bit better. The power label parts can be flipped and rotated like other parts. If you flip the 3.3V (v++) parts at the bottom, they will connect better to the rj45 jacks, and the label ends up below instead of across the connecting wire. The same can be done for the 5V power on the KY41 header, allowing the schematic layout to be simplified. Labels should be moved, so that they do not conflict with the wire traces. Whereever that is practical. With the expected pin connections (and your test results) the power supply part of the schematic (and pcb) can be simplified.

On schematic view, traces are routed for clarity. On the pcb, when practical, they should be run more directly, with fewer corners. I doubt that the signal frequencies being used for this will cause problems, but with higher frequencies sharp (90°) bends are to be avoided. They can cause signal loss and RFI (radio frequency interference).

The pcb can be shrunk some more. I believe your main constraint/goal for the board, is to have the 4 rj45 jacks lined up for easy access. The rest is very flexible. In my previous version, I was deliberately not moving any of the parts (changing the layout), was not overlapping top and bottom traces to keep the routing more visible, and mostly keeping bottom traces horizontal and top vertical. Removing those constraints leads to a more compact board. I have stayed with a 0.05 grid size for this. The trace spacing (hand therefore parts) could be tighten more by reducing that further, and still stay within the constraints needed by design rules checks, and the needs of the pcb manufacturing houses, allowing the board to be a little smaller still. Which can be important when they charge by the area of the board. Even moving some of the silkscreen labels can help.

Here are a couple more variations to use for examples. To better view the pcb traces, toggle the display between “Both Layers”, “Bottom Layer”, and “Top Layer”. Using “Bottom Layer” seems to best to view everything at once. The top layer is dimmed (partly transparent), but routing is still visible. If you switch to “View from below”, that reverses, with the “Top Layer” showing everything.

heimdallRunes-3.fzz (56.1 KB)
heimdallRunes-4.fzz (58.6 KB)

Hello Everybody Again,

Sorry for the late reply but I have been really busy practicing all I learnt with you guys, thanks very much for your help.

After some nice try-error processes I found out how to work “properly begginner level” with fritzing. So, I have made my project a little bit bigger and found some new issues (of course, why not?) and I think it is regarding power consumption on the Nano.

Let me explain it to you shorter way:

Now I attached an ESP8266 module using TX-RX pins (I don’t want to use WeMos here), bridging some pins and connecting them I managed to send AT commands via Serial communication to a remote server (Mosca server, actually). So far so good, I added a 5v Led Strip (which contains 16 leds by the way) but as far as I knew the power consumption of those was going to be too much for the PSU used in this project.

I’m Still using 9v wall socket adapter ( 1A) becouse i didnt have anything more powerfull in terms of consumption. So I decided to place another Voltage Regulator + 9v wall socket to feed the led strip. When tried on breadboard (Just the LEDs, nothing else connected) it works like a charm. As soon as I connect the 4 MFRC522 everything starts to fail, so my guess is that I dont have enough current for this project at the moment, but I dont know why since im using 2 different 9V 1A PSU for my needs, only sharing GND between them.

Attached my new Fritzing Project practicing all the tips you guys gave me, maybe you can help me out again with this and find out whats the problem here.

Thanks in advance and kind regards,heimdallRunes.fzz (103.1 KB)

Assuming the parts are wired up as shown on the schematic view, I do not see anything to cause the symptoms you describe. Try putting an ammeter inline on the plus side of the regulator board output. Either one at a time or both at once, to see what that actual current draw is. Or on the input side, to see what is being pulled from the 9V PSUs.

Your breadboard view is not wired very well. All but the 5V power and (one) ground wires to the nano are shown connecting directly to the pin on the nano. Connecting to the pins on the breadboard itself is more usual, and matches the normal way to breadboard the circuit.

Connections are not made in the breadboard view by ending a wire on top of the middle of another wire. The wires are insulated, and only make a circuit connection at the ends and bend points. That is why the ends of the many of the wires, and what looks like (but is not) a connection between wires are shown as red. They are not connected to anything. That is also why there are multiple ratsnest lines (dashed lines) between the RJ45 connectors. They are not actually connected together in the breadboard view, but because they are connected in the schematic (and pcb) views, the breadboard view shows where it expects a wire.

Temporarily moving one of the middle RJ45 connectors up or down will make those more visible. Moving the part like that also shows that only the yellow wire is actually connected to the rest of the circuit. The yellow wire ‘stretches’ to maintain the connection. The rest ‘move’, because the second end is not connected to anything where they visually end. The left end RJ45 also has the red, black, green, purple, and blue wires connected properly. The right end RJ45 also has the white wire connected properly.

The breadboard view should have wires in (exactly, or very close to) the same places as your physical breadboard project, even if the routing is different. Ending at a part pin, or on the breadboard as appropriate.

To help with breadboarding ESP01 (and similar) boards, I created a (physical and Fritzing) part to use as an adapter. I created several versions using different resources. First was a pair of long lead 0.1in headers, with carefully bent legs, then using a couple of 2x3 long pin headers, and finally using a 2x4 90° header. Here is a 2x3 version of the Fritzing part. 2 are needed to connect the ESP01 to a breadboard.

2x3_100mil_header_to_300mil_dip_adapter.fzpz (3.3 KB)

An older 2x10 version was previously posted in Part Submit. Here it is again.

2-by-10-header2dip.fzpz

And an image series of the progression creating the physical part from a 90 degree header.

Using something like that make the breadboard (both physical and in Fritzing) much cleaner.

Hi All,

Thanks microMerlin, i read your answer few weeks ago but I dindt want to annoy you again, instead, Im Using everything that you are teaching me to make my own ideas and projects.

I have been practicing a little bit with fritzing and now I think i’m starting to understand everything a little bit better.

Regarding the esp8266 connector, I chose to not use your part since this is just some testing I’m doing with it and the esp8266 will be placed into female headers when the PCB arrives from China (very similar to the one you posted). Thanks for all the information!!

I saw all the ratsnests over the rj45 connectors in the breadview, the fact is those rj45 wires are soldered togheter outside the breadboard in my prototype project, so joining them in the breadboard (as you said, thats the correct way to do it) wont match with my real breadboard at the moment.

I started to make this project a little bit bigger, first, I added capacitors to the led Strip to avoid voltage spykes and a resistor on the data line to shine them a little bit lower.

Also (and this is where my new question comes up), I added 2.1mm Barrel Jack connectors to the PCB so I can 3d print a case for the whole project and feed it from there. My doubt is the next one:

As you can see here: heimdallRunes.fzz (117.9 KB)

The Jacks have the center power+ pin, and the other ones are GND for an arduino as far as I researched, so I connected both (-) pin to the (-) pin in both voltage regulators. After that, both voltage regulators are commond grounded as well as the Nano. You will be able to see some ratsnets from the jack connectors becaouse I was waiting your answer on this doubt: Should I place the (-) pin from the PSU to the commond ground of the whole circuit or its Ok to leave it this way??

Many thanks in advance, specially microMerlin, Im learning a lot from you.

NOTE: The 1uf Capacitor is actually a 1000uF 8mm Dia Cap, but I wanst able to find the proper part in fritzing or internet.

The breadboard view can be wired that way too. Run (breadboard view) wires from one RJ45 to the next, chaining the common pins together, then from one end of the chain, connect to the breadboard. Effectively, connect the wires in breadboard view as close as practical to your physical breadboarding layout. The routing of the breadboard view wiring can be cleaned up to make viewing easier, but the wire ends should match ‘reality’. Makes it much easier to see if the Fritzing document and test project are in sync.

The parts library capacitor can go up to 999µF. That is not in the drop down list, but you can manually edit the value in the capacitance box.

I suspect that the Fritzing part for the voltage regular board has not been created quite correctly. See my reply to Old_Grey about the extra rats nest line, and my later comment about the research for a datasheet.

The result of that, is that the individual in and out “-” pins are all shown (in the part) as separate, but in reality, (I expect) they are all connected together internally in the board. If that is true, then it does not matter which “-” you connect to. They will all be connected to “common” ground when any one of them is. I would just connect the - pins (one or both) of each jack to a ground symbol, and connect the (IN -) pins of each regulator board together, then to ground, the same as was done for the (OUT -) pins. Once the assumption about them being wired together internally was confirmed, I would have created the schematic view for that board with a single gnd (-) pin (on the bottom). I would have shown it (in schematic view) the same as the standard 3 terminal voltage regulator. That is the way it functions.

Note that the 2 “-” pins on the barrel jack are really a switch. They are connected together when nothing is plugged in, and open when the power plug is inserted. Typically used to disconnect internal power when going to external. Or just to turn off a “battery in use” indicator light. Connecting them together works fine for here.

Extra note: “R1” has a problem. The rats nest line shows a short across it. A symptom of placing wires in multiple views (one case reversed), then deleting them in odd orders. Currently I do not see a wire in any view that should generate that rats nest line. The internal state for that part in the sketch is messed up. Usually that can be fixed by deleting the part, which also cleans up of the wire(s) that Fritzing thinks still exists, then add the resistor again. Connect it in one view first, then use the generated ratsnest lines in the other views to rotate and connect it the right way around.

Hi microMerlin,

Once again, thanks for your fast and good answer. In fact, I’ll take consideration on your toughts about the breadboard view. Checked up again my wiring and in the breadboard view the resistor was not properly connected, but once on PCB was showing ok (but with the ratsnest on it due to the error), deleteing and placing it again fixed the issue as you said.

Regarding the capacitor, I tried manually changing it but it doenst allow me. I can change it to several values but not a 4 number digit, or at least i coundt manage to do it.

Changed the wiring over the MP1584EN voltage regulators using just 1 pin instead of “bridging” both pins in schematics if the board is already bridged by default. One question for you about this: What happens if on the PCB i wire up those pins? As far as I can imagine nothing will change, right? They are already connected internally so adding a trace between them won´t change their behaiviour?

Regarding the Jack connectors, my main doubt is not clear yet. Should I wire the 2 (-) pins to the GND of the arduino or wiring it to the voltage regulator already shares ground with the main circuit?

To be clear, Will the circuit the way it is displayed at the moment work? Next week I’ll Receive some rj45 Cat6 UTP cables with much shorter lenght to avoid noises on the MFRC522 and didn’t try the circuit as displayed yet, also, 2.1 Jack barrels are on their way from China and I dont have them with me at the moment.

Thanks!! You are such a great teacher by the way.

Limited to 3 digits, but “999” is close enough to “1000” for something like this. As before, the “real” value will be used, but that gets closest to the real value, and is odd enough to cause a reminder that the real value is different.

Right.

IF the assumption they are wired together on the regulator board is correct, then connecting to only the - on the regulator board is fine. Just verify that assumption before relying on the answer.

If noise is the main consideration a large«r» value of C3 may not be the best choice. Larger values are normally better at filtering ripple, but capacitors have a frequency response curve too, that varies for different type (technologies) and values. A smaller, non-electrolytic capacitor in parallel, or several in different places in the circuit, can improve the noise rejection. Watch this video for some background. Likely not an issue for this case, but something to keep in mind.

Hi again microMerlin:

Right, It was my mystake i didnt read well when you said “999µF”, already changed it, thanks.

Also, checked up again the MP1584EN board regulator, it doenst matter which pin I place my voltimeter, the output is the same (regulated 5v) so we can assume and confirm that both IN(+) and OUT(+) / IN(-) and OUT(-) are connected togheter.

Now I understand that the 2.1 Jack grounds connected to the IN(-) pin of the voltage regulator will be enough to commond ground the circuit.

You are great, thanks again!!! Hope that I didnt annoy you too much with this. Now I’ll order the PCB lets see how it works.

EDIT: Regarding the capacitor and noises, in this circuit the capacitor is placed for the LED strip to avoid power spykes. I was refering to the noises created by the wires on the MFRC522 readers and the lenght of the RJ45 cables that I have been using (Too long, creating interferances in SPI). Anyway, I’ll check the video to learn a little bit more.

You may want to post the final .fzz file for one of us to have a look over for you for problems and/or check the geber output of the sketch with a gerber viewer outside of Fritzing as there are some bugs in the gerber export code which don’t show up in Fritzing. The gerbers are what the board will look like, not necessarily what you see in Fritzing pcb view!

Peter

with long pins both can be bent at 90 degrees and remain the same. They sell them on aliexpress

Conector Hembra de 8 Pin Dobles (Socket Header)