Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PCB Design Suggestions and Questions #1

Open
CDFER opened this issue Feb 9, 2025 · 2 comments
Open

PCB Design Suggestions and Questions #1

CDFER opened this issue Feb 9, 2025 · 2 comments

Comments

@CDFER
Copy link

CDFER commented Feb 9, 2025

First off, thanks for creating this open source DCC base station! I've been reviewing the design and have some suggestions that might help improve performance and reduce production costs.

PCB Layer Suggestions

  • The design could potentially be simplified to a 2-layer board since the inner layers aren't currently used for traces
  • Consider extending the F.Cu ground plane under the ESP32 module (pins 1 and 38) to improve WiFi performance (a full gnd plane would be even better)
  • Adding thermal reliefs for small passives connected to large planes would help reduce the chance of tombstoning during assembly

Component Suggestions

  • The 6.3V 47μF X5R ceramic capacitors on the 5V rail might need review:
    • They likely derate to <30% of rated capacitance at 5V
    • X5R has significant temperature derating compared to X7R
  • Consider using more JLCPCB standard/preferred parts for common components (diodes, capacitors, LEDs) to reduce assembly costs
    • This would reduce the cost of loading the extended feeders needed during assembly
    • I maintain a JLCPCB KiCad library that might be helpful for part selection

Safety and Usability

  • An E-stop button could be a valuable safety feature
  • The reset button could benefit from labeling
  • Adding a specific open source license would help clarify how the design can be reused (I'd love to make my own version)

Would be happy to elaborate on any of these points or help implement changes if you're interested.

@precap
Copy link
Contributor

precap commented Feb 23, 2025

Hello, thank you for your detailed comments.

The design could potentially be simplified to a 2-layer board since the inner layers aren't currently used for traces

The inner layers are absolutely required for cooling the DRV8874, and are specified to be 1oz copper for our DCC-EX listed vendors.

Consider extending the F.Cu ground plane under the ESP32 module (pins 1 and 38) to improve WiFi performance (a full gnd plane would be even better)

I will keep it in mind for the next revision

Adding thermal reliefs for small passives connected to large planes would help reduce the chance of tombstoning during assembly

C107, C108, C211 could be adjusted a bit, any others sit in places where high current (C104, C106) or low impedance (C204) is required. In any case we have not heard of any problems of the sort yet.

The 6.3V 47μF X5R ceramic capacitors on the 5V rail might need review:

Capacitor derating is not news to me. There seems to still be enough capacitance on the 5V plane, and if there wasn't, changing to a different part with the same behavior would not do much, the solution would be to simply place more of them.
Note that on the EX-Motorshield, where there is 7V2 regulated, we use C45783, a 22u 25V cap in its place. That one would have a -60% derating at 5V (results in 8.8uf), while the 47u 6V3 has -70%(->14.1uf), so the current part is already as good as it gets in a 0805 package if i only look at basic parts.

Consider using more JLCPCB standard/preferred parts for common components (diodes, capacitors, LEDs) to reduce assembly costs

The ESP32 module forces the board to always be "Standard PCBA", where the arming cost is the same for all component types.

An E-stop button could be a valuable safety feature

Yes, but in the DCC-EX system it is supposed to be a separate module connected to an IO port or over i2c. Which of course means we probably should go and provide a standard solution at some point.

The reset button could benefit from labeling

True

Adding a specific open source license would help clarify how the design can be reused

Seems like an oversight that nothing is there. I will talk to @FrightRisk about adding something. It should end up being very similar to the licensing of the EX-Motorshield

@CDFER
Copy link
Author

CDFER commented Feb 23, 2025

The inner layers are absolutely required for cooling the DRV8874, and are specified to be 1oz copper for our DCC-EX listed vendors.

I have found in the past that inner layers are rather ineffective for radiating heat, maybe swaping the traces from the bottom copper layer to the inner 2 layer and a full GND plane on the bottom could be better but no worries, whatever works 👍

C107, C108, C211 could be adjusted a bit, any others sit in places where high current (C104, C106) or low impedance (C204) is required. In any case we have not heard of any problems of the sort yet.

Yeah tombstoning is much less common than it used to be in the old days, if you don't have any issues then no need to worry I'm just nit picking.

The ESP32 module forces the board to always be "Standard PCBA", where the arming cost is the same for all component types.

C701341 is avaliable for Economic PCB assembly and I can't find any other parts that don't supports economic PCB assembly in the current design.

Thanks for all your hard work :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants