4
\$\begingroup\$

I want to make a simple PCB with the following components:

  • 1x CO₂, humidity and temperature sensor - SCD40 (Qwiic) from Sparkfun
  • 1x 1.3 inch OLED display I2C SSH1106 from AZDelivery
  • 1x TinyS3 (ESP32-S3 board) from Unexpected Maker

The OLED display is always on and shows the measured value of the SCD40 sensor on the screen.

The ESP32-S3 board outputs 3.3V and acts as the master.

The design for the PCB looks like this:

PCB Design

The trace width for VCC is 2mm and the remaining traces have a width of 0.5mm. The PCB was made in EasyEDA.

Questions:

  1. Is the general design of this PCB good? What would you change?
  2. Are the widths of the traces ok? Should I make them bigger or smaller?
  3. Can any problems occur if I use this PCB with the components in action?
  4. Any more general tips?
\$\endgroup\$
2
  • 1
    \$\begingroup\$ Don't forget to place decoupling capacitors for every device, at least ... nearest supplies pins. \$\endgroup\$
    – Antonio51
    Aug 26, 2022 at 14:35
  • 1
    \$\begingroup\$ Be aware that OLEDs suffer from burn-in after a few hundred hours. Best not to display static image/text on them. Or implement a screen saver. \$\endgroup\$
    – polwel
    Aug 26, 2022 at 21:39

5 Answers 5

4
\$\begingroup\$

Is the general design of this PCB good? What would you change?

First thing to consider is that power delivery come from both pins \$ 3V3 \$ and \$ GND \$, so they must both have thick traces.

You can "pour" copper on your layer and attach it to ground or 3v3 like shown below in a generic layer:

enter image description here

(source : https://commons.wikimedia.org/wiki/File:PCB_copper_pour_thermal_pads.png)

Since you have only 2 layers you can put the 3V3 on your top layer and GND in your bottom layer or vice versa.

You should not put copper below the ESP antenna because it will suck some of magnetic field (depending on how high the ESP board is from the your PCB.)

I would recommend not pouring copper in this area marked in pink:

enter image description here

There must be tutorials on how to do that in EasyEDA as I haven't used it myself.

Now that there aren't any power traces, the SDA and SCL traces can be routed without vias (which is a good thing for high speed signals, but you're not concerned.) You're not obliged to route SDA and SCL in the same layer since they are not coupled. SCL can go on the bottom layer for example.

Are the widths of the traces ok? Should I make them bigger or smaller?

It depends on what signals you're routing. In your case you have nothing to worry about. Remember that you pay basically for removing the copper from the layers, so if you have no constraints feel free to make your traces as thick as you want.

Can any problems occur if I use this PCB with the components in action?

Too general of a question.

Any more general tips?

  1. Placement of the components is the first and most important step in designing a PCB. If you want to design a PCB with more than few components, you should think hard about their placement, it will save you time in routing.
  2. Don't route a signal with too many vias. Two vias at maximum and if you can't do it, you should reconsider the placement of the components or using more layers (four layer and six layer boards have become cheap.)
\$\endgroup\$
4
\$\begingroup\$
  1. This is too general question. I would say make the bottom copper as the GND layer and pour copper on it.

  2. Make the traces as small as possible, limited by the current you want to draw. There are many online calculators for trace width depending on the current you want it to carry. Another consideration of the trace width, is the impedance of the trace. Should the impedance be 50 ohms? 90 ohms? this depends on the data being carried (USB data lines need 90 ohms impedance for example). Again, there are online calculators for this.

  3. Too general question again. What kind of problems you refer to?

  4. Just double check everything, is every connection going where it should?

\$\endgroup\$
4
\$\begingroup\$

Definitely pour copper on the bottom and connect it to the GND net. I don't think you need anything fancy, the bypass caps and multilayer boards are on the modules.

I would also consider mounting the sensor under the display or on the other side of the PCB, just to make it more compact and sleek.

Consumption of the OLED is quite low (11mA claimed) and 17mA for the sensor board, so extra dissipation in the S3 regulator (which is in a DFN4 package with claimed thermal resistance of about 200°C/W) is not too bad, so I think you are okay- only 10°C extra temperature rise, but do not for a second believe that the "700mA" figure in the datasheet.

Thermal considerations will limit the maximum regulator current (including the S3 radio etc.) to much less than that. It's too bad they couldn't use the smaller chip scale package which has much better thermal performance.

As with any PCB, double and triple check the connections by going back to the original datasheets, and check that the hole diameters are correct. Having too-small holes is a real pain. Also, you might want to consider mounting holes.

P.S. Also check that the pull-up resistors for the I2C are present and not too high in value, and if there are more than one set present on the various modules, that the parallel combinations are not too low in value.

\$\endgroup\$
3
\$\begingroup\$

Your PCB should work without any modification.

I am not expert but I can make a few comments.

For the routing:

  • The 3.3V trace is very large and your GND is very thin. That is not the usual way. Your power consumption should be very small so the wire doesn´t need to be too large. If you want to be convinced, just calculate the value. There is small calculator in KiCad, for example.
  • The copper is free on the PCB so I would keep the copper for GND and I would have the bottom layer filled with copper, too, for GND.
  • I would try my best to avoid the vias. You have unnecessary vias.

If you plan to use the antenna of the ESP32, I would place the antenna in a corner of the PCB.

\$\endgroup\$
1
  • \$\begingroup\$ Assuming GND is kept on the bottom layer, you can easily run the whole thing with no vias at all: 3V3 stays the route it's in, SCA stays where it is, but doesn't need to jump over GND or SCL, and SCL routes down, left, then up. No vias required. \$\endgroup\$
    – ArmanX
    Aug 27, 2022 at 2:47
0
\$\begingroup\$

Are you in a hurry? Otherwise it’s very educational to design your own board! Just take some Adafruit models like the Huzzah as your example.

If you want/need to stick with this design, make the bottom layer GND. Route power in 20 mils, signals 6 mils. In general it’s wise to route GND under the signal trace, a fill will be very convenient.

Add decoupling capacitors (like 22uF) as close as you can to Vdd/3.3V of the oled and SCD40.

Don’t forget pull up resistors on the sda/scl lines, close to the ESP board.

I think you should avoid routing under the ANTenna. One of the design rules for ESP32 is: keep the Antenna region free from traces, polygon and fill. Keep the antenna close to the board edge.

This is an informative link: https://www.signalintegrityjournal.com/blogs/12-fundamentals/post/1207-seven-habits-of-successful-2-layer-board-designers

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.