3 ms·
Great to see people learning and designing PCBs themselves - it's a fun and rewarding hobby! There are a whole bunch of improvements I'd suggest with this part
by nippoo 6y ago
Great to see people learning and designing PCBs themselves - it's a fun and rewarding hobby!
There are a whole bunch of improvements I'd suggest with this particular design and article though: (also, doing six respins for a board this simple is a bit painful, and I'd encourage people to submit their layout to someone for a design review before going through this many iterations - I've reviewed things for friends in exchange for a pint of beer!)
- this board has no ground plane, and no return paths near the data traces - this will be an absolute EMI nightmare and also signal integrity will suffer. At very least, dedicate the bottom layer to ground (and flood-fill it) - the return path for digital signals (and anything above a few KHz) is directly below the signal path - see https://incompliancemag.com/wp-content/uploads/2017/04/1705_EC_fig6.png https://incompliancemag.com/wp-content/uploads/2017/04/1705_....
- (the clock design, in particular, is completely against ST's recommendations - there's no ground plane and traces running directly underneath!)
- panelisation: as others have mentioned, even for large-scale production runs, the PCB manufacturers will do a better job of panellising themselves, and can stack your boards in amongst other boards on the same panel if you're not taking up a whole panel.
- unless you've got a good reason to do it, having a serial programming interface with a serial/USB chip isn't the easiest way of doing it - exposing SWDIO/SWDCK/SWO to a suitable connector and using an ST-Link in-circuit programmer is generally an easier and more space-efficient way! They seem to have gone that way in the last couple of revisions.
There are a bunch of other things I'd probably do differently, but this is all to say - if you do decide to take up this hobby, please do get your designs looked at by someone knowledgeable, you'll learn a lot that way!
- lukevp 6y agoI’ve got a few designs planned over the next couple months that I’d love some help with. I am a software guy and my circuits “work” but are probably not the ideal designs. We’re talking single layer PCBs that I etched myself using a laser printer, an iron, and some acid... would love to see them be actual PCBs, but the complexity of my circuits is quite low. Any way I could get your contact info? My email is in my profile, would love to pick your brain on how I could improve, and send you some virtual coffee or something!
- SAI_Peregrinus 6y agohttps://old.reddit.com/r/PrintedCircuitBoard/ https://old.reddit.com/r/PrintedCircuitBoard/ is a good resource. Their FAQ has an excellent list of gotchas.
- johnwalkr 6y agoThis page is great! One thing to note is how little analysis work is required these days. One just needs to know basic things like Ohm's law, where to start, and how to read datasheets. But, it's missing 2 things: 1. Microcontroller selection. This can be a daunting task. Best to just pick one with good dev kits and community support. You can tailor the part number if you need more IO for a specific project. The only real choice to make is if you want/need to work in the low-power embedded realm (eg Arduino or STM32), or in higher-power/userspace realm (eg raspberry Pi or Beaglebone/Linux). 2. Rules of thumb for the design. You mentioned some great ones. I would add - use 4 layers unless you need more (and you will know if you do) - Put signals on the outer layers so you can access them for troubleshooting, unless you have a reason to have ground planes on the outer layers (you'll know if you do) - Use the internal 2 layers for ground and power. The keyword "polyfill" will let you know how to do this. - Don't try and make PCBs at home. It's so fast and cheap to order them. And a home-made one, even if you make it with a router instead of the printer/acid method, will not have a solder mask. You can easily spend 3 days troubleshooting. Watch movies for 3 days while you wait for your delivery, instead. - If you have any doubts, use a breadboard for prototyping. If you have confidence on your 3rd board design, skip the breadboard. - Put a hole in each corner, with a healthy clearance from any circuit to a fastener. At some point you will want to mount the PCB somewhere. - Put some spare IO on a connector if you have space - Use a barrel connector or USB for input power if you can. If you need more than 5V, USB-C at another voltage is trivial to add these days (as this page shows). It's a matter of when, not if, you mess up your settings on your bench power supply. - Use 2.54mm pin headers where you can instead of weird connectors - Ask yourself: Can I buy something that will work instead? - Invest in 3 kits: surface mount resistors, surface mount capacitors, through-hole resistors. eg: https://www.sparkfun.com/products/10969 https://www.sparkfun.com/products/10969 - Spend at least $100 on a soldering iron with temperature control