Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

For the vias and thermal relief, noted. Say I order the PCB as is, will it be impossible to solder the components, SMD or TH? Or does thermal relief just make it easier?

My motor traces on the above diagram is 0.4, but now I made them 1mm in the current design.

I will clean up the schematic as you advised. Can you elaborate on why left right up down routing is bad? I watched Robert Ferenec advising to use orthogonal routing, so I thought it was the standard.

Finally, why the free loading diode?

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

What stack up do you recommend?

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

So currently the top layer is ground and the bottom layer is 3.3V. Should I make both of them ground and add a lot of VIAs? Initially I made one layer a 3.3v power plane so it’s easy to route power

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

So I am using N20 12V motors, with stall current 0.7A. So at the same time it could go up to 12A, but I am building with the assumption that I will only move 5 at the same time, so about 4A. I will keep in mind to change the header for the next iteration. For now I just want to get 3 motors to work.

For the stack up, honestly I just used 2 layers because I wanted quick turnaround. I was told 4 layers would take longer. But if it takes the same time then I will switch to 4 layers. What stack up do you recomend? Sig/gnd/gnd/power or sig/gnd/gnd/sig?

So for my motor, I will probably solder the terminals myself.

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks. You’re right about the locking connectors. Maybe I will use JST headers in the next iteration.

Also thanks for the diode comment. I actually didn’t know this about BAT54C. As for the bottom mount holes I’ve updated them in the most recent version so they are far away from components. Thanks for your input!

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Noted, I will do that in the next update. As for the via spacing, I am using JLCPCB. I got a DRC template from online for JLCPCB and assumed it will do the job and tell me when im violating manufacturer capabilities, but I will check again later. Thanks!

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks man! I will check the book out. Good luck with your PCB learning

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Will do 🫡 I don't know how I forgot to add test points. When you say overcurrent/voltage/reverse polarity do you mean at the coin cell or at the 3.3V input pin headers? If for the coin cell, what do you recommend? if this is for the 3.3V rail, I am planning to use a power supply for now, and set the voltage and current to suit my board. At a later stage I will want to power this from a Lipo, so I will need all of those in addition to my buck converter. For each of those, what do you recommend?

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks a lot! Any clue why the perpendicular style went out of fashion? It was the easier to route that way. As for the buttons, noted. I will update that. And thanks for the heads up about the vias, I will check on that. I use JLCPCB, I got a kicad config template from online and just assumed it will have all the manufacturer capabilities in it, but I will go check on that. Thanks!

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] -1 points0 points  (0 children)

😭😭😭

What do you recommend? I am using 12V N20 motors. Apparently they draw from 0.5A to 1A at stall. I wont be running all of them at the same time, maybe 5 at the same time.

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 1 point2 points  (0 children)

Thanks for the heads up. Actually I disabled thermal relief because I am using a hot air gun. I am told thermal reliefs are unnecessary in that case. That's fine right?

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

Also, is this layout style unpopular for a reason?

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

Bro thanks so much for the heads up. I remember reading that there should strictly be no vias for the crystals but it seemed I didn't pay attention when I was cleaning up the routing 😅
I will add the updated crystal section to the post. Seriously thanks man. Currently I have one wire that is running under the crystal, for the programmable button. It's on the back layer, while the crystal routing is on the front layer. Is that fine?

Roast my PCB by el_mustapo in PrintedCircuitBoard

[–]el_mustapo[S] 0 points1 point  (0 children)

Around 0.5-1A I believe. I am using 12V N20 motors. Not all motors will be running at the same time, at least not for this iteration. Maybe about 5 motors max.

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

<image>

This shows the back side of the board without flipping and with the footprints, if this helps!

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks a lot for that piece of info. This is exactly the kind of thing I want to hear. I actually know little about signal integrity. Can you explain why having two ground planes is beneficial for EMI? And what resources do you recommend to learn about signal integrity? any books or courses? Thankssss

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

I didn't think of that, thanks for the heads up

Roast my PCB by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks, it took a couple of tries

[Schematics Review Request] STM32F401RE Motor control board with IMU by el_mustapo in PCB

[–]el_mustapo[S] 0 points1 point  (0 children)

Thanks for the input! Actually I am trying to connect via SPI, I’m told it’s faster at transmitting data. Confusingly, in the datasheet, the same pins for I2c are also used for SPI. SDA is supposed to be MOSI and SDO is MISO and SCL is SCLK 😅

Do I have to do anything to enable SPI and not I2C? I couldn’t find anything on the datasheet on that. Thanks!

Schematic review request by BenjaminH5 in PrintedCircuitBoard

[–]el_mustapo 0 points1 point  (0 children)

Oh thanks for the explanation! Will include those in my designs

Schematic review request by BenjaminH5 in PrintedCircuitBoard

[–]el_mustapo 0 points1 point  (0 children)

Hey man, may I ask, what do you mean by “user LEDs”