Please review my ESP12 schematic - Page 1
Forum section: electronics / beginners

author: PimmerNL
author_rank: Newbie
timestamp: April 11, 2025, 07:25:17 pm
content: This is my first post on the forum.I studied electronic engineering, but life had other plans, and I ended up not working in that field.Recently, I picked up the hobby again and just completed my first schematic in over 20 years.As I’m a bit rusty, I’d really appreciate it if you could review the attached schematic.It’s for a LED clock using SK6812 LEDs, controlled by an ESP-12.It also includes a CH340C to program it via USB using the Arduino IDE.I’d be grateful if you could take a close look at the CH340C and how it's connected to the ESP-12F, including the booting and flashing circuitry.If I’ve posted this in the wrong section, please let me know.Thanks

author: pcprogrammer
author_rank: Super Contributor
timestamp: April 12, 2025, 06:06:25 am
content: Welcome to the forum.First of all, you picked up the worst possible methodology of drawing schematics. I'm surprised no one else jumped on it, but maybe because the schematic is hard to read they passed on it. Here on the forum there is a preference for using wires instead of labels and left to right signal flow for as far as possible. I had to adjust to this too after many years of absence of the field. Sometimes it is unavoidable to use labels, so a balanced mix should be chosen.Why the wires or busses, because it makes it easier to follow the signal paths and lowers the risk of missing a connection. With the labels one has to search for all the belonging connections and that makes it difficult to read the schematic.Also the boxes to separate the parts clutter more than they help. For instance the USB-C connector is part of the USB to serial section and can be directly coupled to the CH340 with wires instead of labels. To have the flow from left to right both parts should be swapped in the x direction with the USB connector on the left of the CH340.Seehttps://www.eevblog.com/forum/microcontrollers/suggest-a-microcontroller-for-a-diy-pcb-watch/msg5847741/#msg5847741for an example of bad and herehttps://www.eevblog.com/forum/microcontrollers/suggest-a-microcontroller-for-a-diy-pcb-watch/msg5849577/#msg5849577for the same circuit with wires.I'm not familiar with the ESP12F module so can't comment on the reset and flash setup you created.Another issue is that the schematic image provided is not complete, and it is also preferable to not use the inline image option unless really needed. There are still members with slow internet and prefer to click on an image to enlarge it when they please and not have to wait for a page to be loaded due to large inline images.For better feedback, I advice you to first cleanup the schematic and post it here. Also change the name of the thread to "Please review my ESP12 schematic" for more views.

author: PimmerNL
author_rank: Newbie
timestamp: April 12, 2025, 12:02:12 pm
content: Thanks pcprogramer!I changed the schematic, so here update schematic.There are in total 85 SK6812 leds connected in series, I did not add them to the screenshot as the image gets really big.

author: xvr
author_rank: Frequent Contributor
timestamp: April 12, 2025, 01:10:28 pm
content: Connect V3 and Vcc of CH340And what is purpose of IO15? Should it reset ESP12 or do something else?

author: PimmerNL
author_rank: Newbie
timestamp: April 12, 2025, 02:06:32 pm
content: Quote from: xvr on April 12, 2025, 01:10:28 pmThanks, changed it.Quote from: xvr on April 12, 2025, 01:10:28 pmGPIO15 should be low during boot, I found this on other reference schematics and in the datasheet.

author: PGPG
author_rank: Frequent Contributor
timestamp: April 12, 2025, 04:15:47 pm
content: Quote from: pcprogrammer on April 12, 2025, 06:06:25 amThis is from yesterday. I was looking today for interesting threads to read but don't remember seeing it. I sometimes thing that some threads are not always shown to me.I'm sure that in past (few months ago) I answered one question and next day was interested if there is any reaction and was looking, looking and couldn't find the thread. Then next day it was once more easy to find.Quote from: pcprogrammer on April 12, 2025, 06:06:25 amI don't know what was the previous title but may be because of title I didn't looked inside..Quote from: PimmerNL on April 12, 2025, 12:02:12 pmI agree with all pcprogrammer comment but will add some my:1. With schematic you jumped from one extreme to the other. This schematic is much, much easier to be read and it is ok. The other way (I use) is to put all controller driven signals into a bus (if you want it be more clear you can have several buses). That way you have less wires at schematic and signals get their names (when designing then PCB you see them at pads and tracks) but someone (not being a schematic author) have much easier task with labels as he need not to search whole schematic for other label occurrences but can only search along bus so area to look is much smaller making a task much easier.2. Some resistors have inside their symbol value and some reference. This generates information noise. For example R12/R470. Is it 12 ohm or 470 ohm resistor?3. I use k in resistor value in a point position for kilo-ohm resistors, and never use R there. So your R4.7K = my 4k7.4. For ohm resistors not needing point in value I express value as number only. So R220 = 220. So for R12/470 it is clear that R12 is reference and 470 is value.5. R I use only for small resistors needing point in their ohm value. Like 8R2. As no reference starts from number it can't be mixed by anyone.6. Connecting GPIO12 and 13 wia swithces to GND has nothing in common with U1 so it should have its own GND symbol. This wire at first moment looks like some additional connection between U5 and U1.7. U2 should never had input on the right and output on the left as now it has.8. U4 should not have GND at top and VCC at bottom. It is the effect of you trying to make everything with wires.I have shown one my schematic at KiCad forum (intentionally hard to read, as it is commercial product) to give you a preview of what my schematics look like.https://forum.kicad.info/t/build-schematics-using-kicad/48848/3Just think of what I have written and decide what you will follow and what not - your choice.

author: pcprogrammer
author_rank: Super Contributor
timestamp: April 12, 2025, 06:35:33 pm
content: The second issue of your schematic is much better, but I concur with PGPG. There are still issues, like the not following left to right signal flow. It is not always possible, but in this case easy enough to do.If a symbol does not allow you to make the schematic the way you would like it, it is always an option to add your own symbol for it. This way you can avoid things like crossing wires in the way you have them now, with the 45 degree slants. A lot of symbols are nowadays drawn as the chip packages are, which is crap, especially for parts like opamps or logic IC's, where the right symbols give much more information about the intent of the schematic. Functional grouping is a much better way to do it. Like having the different ports of a MCU in separate sections on one side, and power supply, control and clock signals on the other side.The VCC on top and GND on bottom is also a common practice and makes reading a schematic easier. On PGPG his point 6, I do not agree. It is perfectly fine to use a single ground symbol to connect multiple parts of the schematic, but I would have placed it at the end of the line near the battery, avoiding the cross section with the dot, or at the beginning with the switches rotated 90 degrees.Another thing that makes it a bit dodgy is the wires passing through the center of the decoupling capacitors between the LED's. When printed in black and white it is not clear what the intention is.With 85 of these LED's you might run into problems when the device is connected to a computer. I'm not sure what the CH340 power request is in it's descriptor and if computers bother to actually limit the current for USB2.0 devices.Another issue with the LED's might be that the ESP12 output level is to low to be seen as a high level. A proper level converter might be needed. Check the datasheet of the LED's you are using.

author: PGPG
author_rank: Frequent Contributor
timestamp: April 13, 2025, 12:53:08 am
content: Quote from: pcprogrammer on April 12, 2025, 06:35:33 pmI agree with you provided the GND line is under these multiple parts and not signals going from one part (at half of its height) are connected to GND that is under the next part but not under the first part. But these are really not very important details.I sometimes bend my own rules myself when I have limited space in the schematic.

author: PimmerNL
author_rank: Newbie
timestamp: April 13, 2025, 02:50:23 pm
content: Thanks for all the replies!There's a lot I need to relearn, and in engineering, different styles aren't always just good or bad.Quote from: pcprogrammer on April 12, 2025, 06:35:33 pmI changed approach, removed the CH340 circuit from the schematic and will use header and external programmer. So USB is now only used for power. And is simplifies matters a lot.Quote from: pcprogrammer on April 12, 2025, 06:35:33 pmMinimum high level voltage is 2.7V for the latest version SK6812 Leds, older datasheets indeed have 3.4V stated.

author: pcprogrammer
author_rank: Super Contributor
timestamp: April 13, 2025, 06:22:11 pm
content: Quote from: PimmerNL on April 13, 2025, 02:50:23 pmProbably a smart move. Simplifies things and removes uncertainties.Quote from: PimmerNL on April 13, 2025, 02:50:23 pmThe one I found indeed stated 3.4V. Always best to check and make sure.