Beginner PCB review - Page 1
Forum section: electronics / general

author: PCBEE
author_rank: Contributor
timestamp: December 09, 2019, 02:15:10 pm
content: Hello all,I'm new to the forum and also pretty new to electronics. Would be great to get some feedback on my first PCB.The PCB is for a low power battery powered device that will periodically send sensor data (BME280) from inside a beehive to a nearby slave device over ESP-NOW. The schematic / design is based on Kevin Darrah's Trigboard. It uses a TLP-5111 timer to control a voltage regulator, that will in turn power on an ESP-12S.This is the design so far:-Dimensions: 30mm x 47.7mm.-Double sided board with ground planes on both sides.-No DRC or net errors in the software.-All caps and resistors are 0805.Not sure about:-Via stitching of the ground planes (enough? too much? places where they are definitely needed?)-BME280 placement, I know it's better to put VIAs around it, and isolate it more, however, was wondering if this is needed since the device only wakes up once every 20 minutes and hopefully that means the board won't heat up much).-Other major flaws / things that could've done better.Very open to feedback since I don't have many friends interested in electronics with whom I can discuss this sort of stuff.Thanks a lot!Ramon

author: Pseudobyte
author_rank: Frequent Contributor
timestamp: December 09, 2019, 02:30:51 pm
content: Cosmetically if you care about your silkscreen, it looks like a lot of it is too close to sm reveal. Depending on what fab house you use a bunch of it could get blown away. Similarly you have some silk labeling your header, I am not sure how tall that is or what the stroke width is, but if it is too small the fab house won't even put it on the board. Also that PPAD on your esp isn't connected to anything. Is it suppose to be grounded?If you want me to be nit-picky I can but I generally don't like to do that to beginners.

author: PCBEE
author_rank: Contributor
timestamp: December 09, 2019, 02:52:32 pm
content: @PseudobyteThanks for the quick reply! Definitely appreciated.-Good catch on the ESP PPAD. Fixed it by connecting it to the ground plane.-Silk screen definitely needs work, I'm going to redo that for almost everything. I used a standard library header that had the rectangle silk screen. I'll remove that since it's unnecessary. Will also look at the minimum sizes from JLCPCB and update everything to match their specifications.Feel free to be nitpicky, as long as it's constructive and I can make things better I'm all for it. Especially when it will improve stability / performance. Also if I'm doing some stuff that is just considered bad practice I'd rather learn ASAP than keep doing it.What do you think of the VIA stitching from a functional standpoint?Thanks again! Much appreciated!

author: Ice-Tea
author_rank: Super Contributor
timestamp: December 09, 2019, 02:59:38 pm
content: How do you plan to mount it? With a washer and/or screw you can damage the solder mask and short out what is underneath. Probably not a huge deal for the ground planes underneath it but you're running a few traces pretty close too..

author: PCBEE
author_rank: Contributor
timestamp: December 09, 2019, 08:32:59 pm
content: @Ice-TeaWas planning on mounting it in some wooden enclosure with some screws, possibly with some rubber washer in between. However, I agree, the top right corner especially is quite close. Might be able to reroute those traces or increase the dimensions slightly. For my intentions (in beehive) adding half a CM wouldn't make that much of a difference.Thanks for your feedback!

author: chrisl
author_rank: Regular Contributor
timestamp: December 09, 2019, 09:28:06 pm
content: I would double check to make sure U4 pin1 indicator is placed correctly. Looks like it is placed at the pin8.Also you may want to move the pin 1 indicator for U2 out so it can bee seen even with the component placed.This is a simple board so not a big deal but for a huge complicated board debugging you want to know if parts are placed correctly by just looking at them.

author: mariush
author_rank: Super Contributor
timestamp: December 09, 2019, 10:57:41 pm
content: There's lots I would doRotate U4 90 degrees so those traces go towards the bottom of the boardA lot of those resistors and capacitors could be rotated 90 degrees and have all pads in one single line (R9, C8, C5, R5, C4, C9 are all on same trace ... why not have straight thick trace , and use more of that area near the logo, that's fillI'd leave a bit more room in top right corner around that hole, for screws or whatever.I'd rotate Q1 to the right so that the connection between Q1 and Q2 is shorter. The R6 can be below q1 and q2, making more room for those traces by the header.R7 and R8 can be rotated 90 degrees to the left and pushed down a bitI'd push JP1 closer to the edgeI wouldn't separate those two traces out the connector at that angle. I'd have just one trace coming out then curving at 45 degrees and up, or just move R2 and R3 and C7 down and have that trace just horizontal directly to the leftU2 can go downCareful about ground fills and empty "islands" of copper (see middle pin of U1 and that trace which cuts that while ground or whatever it is. If you move U2 lower and R1 lower, then you can have that trace from R1 to U1 below the ground tab of that U1 chip.Do something about that sliver of copper with lots of vias under text that says SCL and GND and 3.3vMove r11 and d1 on the other side, leave just buttons and leds on that side or whatever you have there. PLenty of room to move the parts.i wouldn't have those long traces running diagonally under the esp cutting all that ground fill ... maybe go directly down and when you're a few mm above the pads, do a 45 degree and go to the pads?

author: PCBEE
author_rank: Contributor
timestamp: December 09, 2019, 11:07:15 pm
content: @chrislU4 is actually correct, although I agree that it's counter intuitive that pin 1 starts there.The U2 tip is definitely true. Even with simple boards, I'd rather get into good habits from the start!Thanks!

author: mariush
author_rank: Super Contributor
timestamp: December 09, 2019, 11:52:21 pm
content: Here's a mockup ... give it a thought ... click to zoom

author: ebclr
author_rank: Super Contributor
timestamp: December 10, 2019, 07:34:53 am
content: Why use a timer, instead you can use the ULP coprocessor,https://docs.espressif.com/projects/esp-idf/en/latest/api-guides/ulp.html

author: PCBEE
author_rank: Contributor
timestamp: December 10, 2019, 02:21:44 pm
content: @marisuhThanks a lot that is REALLY helpful! I'll definitely go over it and change it up. Can immediately see that your mockup makes a lot of sense. Feels way more organised. I guess I got a bit hung up on having all the resistors and caps in organised columns and rows, which actually made routing the traces more difficult.@ebclrThat is a valid point and definitely also a good way of doing it. However, the TPL5111 uses only 50nA vs. 5µA of the ESP32 in hibernation mode. Since this device will be sleeping the vast majority of the time, I thought that would be an easy way to save battery life. Since this thing will be in the broodnest of a beehive, the longer I can go without changing batteries, the better (although it may be overkill).

author: SiliconWizard
author_rank: Super Contributor
timestamp: December 11, 2019, 08:53:11 pm
content: Quote from: PCBEE on December 10, 2019, 02:21:44 pmIf the ESP32 can't do better than this, it definitely makes sense.Cute logo by the way, and long live our bees!

author: PCBEE
author_rank: Contributor
timestamp: December 12, 2019, 03:22:44 pm
content: @SiliconWizardYeah I thought so too.Haha thanks! Just wanted some personality on the first board I ever made! Long live the bees for sure! Colonies are overwintering right now, so hopefully they're doing well!

author: PCBEE
author_rank: Contributor
timestamp: December 12, 2019, 03:58:31 pm
content: Before I made this thread I had already ordered some boards in an enthusiastic mood and realised that I made a couple of (dumb) mistakes. Then I fixed those and posted here to get some feedback to do better on my next version. I'd still like to show how the original boards turned out. The silkscreen actually came out better than expected. Only the text near the headers (P3) and the jumper (JP1) turned out to be unreadable, although slightly bigger would still be better for most things.Also turns out the non-connected pads on the JST connector weren't actually pads in the library item I used, and I messed up with the ground fill in general (islands).Still amazed at how small everything is, and realising it could be way tinier still if optimised.

author: HwAoRrDk
author_rank: Super Contributor
timestamp: December 15, 2019, 09:06:49 am
content: Quote from: PCBEE on December 12, 2019, 03:58:31 pmIf you're talking about the type of JST surface-mount connectors I think you are, then yes, those corner pads aren't electrically connected, but instead are solderable anchor points so that the pins don't take all the strain. Can't imagine why the library part didn't have windows in the solder mask for those pads (unless that's something you changed).Were it not that the boards have other mistakes, you could have just scraped the solder mask off those pads and used them as intended.(Or just soldered the connectors on with only the pin pads, and make a mental note to beverygentle when connecting/disconnecting...)

author: Feynman
author_rank: Regular Contributor
timestamp: December 15, 2019, 09:32:52 pm
content: Some components don't have a Pin 1 indication (e.g. U1) or the indication is hidden, if the component is fitted (U2).Concerning JP1: It seems a little odd that in a footprint for a jumper (?) two pads are already connected in copper. Hard to tell w/o schematic, of course. Anyhow, even if two adjacent pads are on the same net, maybe you don't want to connect them the shortest way possible since it might look like a unintentional solder brigde when inspecting the board.Otherwise, decent work. If seen much worse stuff as "first boards", including mine

author: PCBEE
author_rank: Contributor
timestamp: December 16, 2019, 06:46:05 pm
content: @ HwAoRrDkThe library part was made by some random user (not official EasyEda system library). I've exchanged it for one that has the correct unconnected solder pads. Good solutions though for if the board didn't have other mistakes!@Feynman, thanks for the compliment! Agreed on the pin indicator, have changed that in the updated version. Like to have it as clear as possible, even with simple boards.The JP1 solder connection was made by me on purpose. That jumper sets the I2C adress for the BME280. I wanted it to be standard connected to VCC, but have the possibility to cut the trace and connect it to ground if needed. Not sure if there's better options to do that?Thanks for the feedback guys!

author: mariush
author_rank: Super Contributor
timestamp: December 16, 2019, 09:36:07 pm
content: Quote from: PCBEE on December 16, 2019, 06:46:05 pmUse a 3 pin header. connect the trace to center pin, VCC on top pin , Ground on bottom pin. User now can move jumper between two pins to alternate between ground and vcc.There are surface mount headers with 0.1" spacing... here's an example:https://www.digikey.com/product-detail/en/sullins-connector-solutions/NREC003SABC-M30RC/S1013EC-03-ND/2775131There's also surface mounted right angle connectors, if you want low height and maybe less risk of jumpers getting lost...ex:https://www.digikey.com/product-detail/en/harwin-inc/M20-8890345/952-3232-ND/6565716(you can get longer lengths and just cut segments of 3)Another option is adding a slide switch :https://www.digikey.com/products/en/switches/slide-switches/213?FV=-8%7C213&quantity=10&ColumnSort=1000011&page=1&pageSize=25Another thing I saw which works well, is just having two half circle pads with a couple mm of separation between the half circles. Simply add a blob of solder to create a short between those half circles.Works well if you gold plate the pads.Or use a 0603 / 0805 0 ohm resistor...

author: yedos
author_rank: Newbie
timestamp: January 06, 2020, 04:03:03 pm
content: nice to use

author: PCBEE
author_rank: Contributor
timestamp: April 08, 2020, 10:07:18 am
content: Wanted to show everyone the result. Finally got it all soldered and it seems to work (can read the sensor, but still have to modify the code a bit).Not the prettiest solder job (first board, but the next few will be cleaner for sure).You guys really helped me a lot! Wasn't able to use all the tips, but definitely feel like i made huge improvements on the design! So thanks again all!

author: Warhawk
author_rank: Frequent Contributor
timestamp: April 10, 2020, 08:07:54 am
content: Congratulations, it looks quite nice. Practice makes perfect!

author: PCBEE
author_rank: Contributor
timestamp: April 11, 2020, 03:13:20 pm
content: @Warhawk Thank you!Did cheer a bit prematurely, but definitely hooked on the hobby. Most of it is working, timer interval works nicely, get good sensor readings, only the voltage divider isn't behaving as expected.ESP8266 accepts 0-1v on A0 so I'm trying to scale 4.2v down using a 49.9k resistor for R7 and a 10k one for R8. Somehow I get 2.2v at the pin and at the voltage divider, which I find a bit baffling as R8 / (R8+R7) * Vin =(10 / (10+49.9)) * 4.2 = 0.7 v.Just measured everything with a multimeter which gives me a reading of 3.9v as input before R7. The voltage drop across R7 is 1.7 leading to the 2.2v at the A0 pin and between the middle of the divider. I must be overlooking something simple.Double checked the resistors values (written on them), but not sure how likely it is to get a resistor that's off in value, I've ordered from China (LCSC). Guess I'll swap it out just to see. The other two I checked from the reel seem to be fine though, so I'm assuming I did something wrong in the design.

author: PCBEE
author_rank: Contributor
timestamp: April 11, 2020, 08:08:16 pm
content: Just desoldered the resistors of the voltage divider, checked them with multimeter and they're both good.Resoldered them, now it suddenly works as expected. Not sure what happened, the solder joints for those specific resistors actually looked good to me on close up before.

author: Warhawk
author_rank: Frequent Contributor
timestamp: April 14, 2020, 09:57:45 am
content: What is your solder mask expansion?https://electronics.stackexchange.com/questions/12600/what-is-the-purpose-of-solder-mask-expansionSometimes, when the solder mask opening is too big, it causes problems when signal traces shorts to GND pours.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: April 21, 2020, 04:24:17 pm
content: I know it's late, but still, some thing's I'd do differently...I would use more empty PCB area around the antenna. It looks kind of minimal.It's much better to use a continuous GND plane instead of stitching small pieces of GND planes together with via's. A continuous GND plane is hard to do on a 2 layer board, and often a reason to use a more expensive 4 layer board.It can be better to use extra via's in signal traces to keep the GND plane more continuous.For High speed signals (which this PCB probably does not have) The Loop area between a trace, and it's return current path is everything.The return current does not necessarily go through the GND plane (although that is the easiest). For High speed signals, mostly high frequency stuff is important. All decoupling capacitors act as shorts, and return paths for currents may as well go through the Vcc power plane as through the GND power plane.In some cases you may want to add decoupling capacitors between the GND plane and the Vcc plane just to create a small loop area for high speed signals. This is a compromise in how far you can push it. At some time you need to go to a 4-layer board.Also, why not just use the Wemos D1 Mini (clone)? There are lots of nice breakout boards for this and it also has an USB connector for firmware updates.You may want to consider to add the D1 Mini footprint to your design so you can use the add-on boards for the D1 Mini.