From 4d598db41d1380358ad8b2178a26504ddca497a6 Mon Sep 17 00:00:00 2001 From: roc-ket-cod-er Date: Thu, 31 Jul 2025 18:43:28 -0400 Subject: [PATCH 1/3] Create ESP32.md --- app/views/guides/ESP32.md | 99 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 app/views/guides/ESP32.md diff --git a/app/views/guides/ESP32.md b/app/views/guides/ESP32.md new file mode 100644 index 00000000..00fea38b --- /dev/null +++ b/app/views/guides/ESP32.md @@ -0,0 +1,99 @@ +# How to make an ESP32 based dev board + +Written by: Madhav Garg + +Halo! This is a guide on how to make an ESP32 based board. + +## Step 1: Chose a chip. + +Personally, I would chose an ESP32 module, and that too one on JLCPCB that can be assembled with their standard assembly tool + +So far, I have only found 2 ESP32 modules that fit this catagorie. + +1. ESP32-WROOM-32D-N16 + +2. ESP32-S3-MINI-1 N4H2 + +Personally, I would recomend the MINI, because it has a whole lot more GPIO, is smaller, and has more mixed performance. + +## Step 2: Schematics + +If you are using the MINI, I would suggest following the following schematics: + +First of all, you need decoupling, as shown here: + +image + +Next up, you need an interface. You can chose either MicroUSB or USB-C, and I have schematics for both. If you want MicroUSB, you can use this: + +image + +And for USB-C, the one I recomend, you can use this one: + +image + +It should be noted that I have use ESDs, electro-static protection diodes, and although they are not strictly nessasary, they can be useful. + +One last thing you need, is an LDO. + +Personally, I rather like the NCP1117DT33G, as shown in the following schematic: + +image + +However the official carrier board uses the following setup: + +image + +An advantage of the NCP is that it can accept upto 20V input, and thus has a very wide application voltage. + +One thing to note here is that you need to chose a sufficiently capable size for capacitor C4, as it may be experiencing a higher than rated voltage. Generally, when looking for a capicitor that can handle low voltage, ie 3.3V an 0402 is ok, but for higher voltages like 12V, I recommend an 0603, and even higher voltages should have 0805s or bigger. + +A side note, using higher capacity capacitors, ie 10uf meanse that they can handle a lower voltage. ie 10uf 0402 --> 6.3V, 100nf 0402 --> 50V! + +## Step 3: Layout + +Finally, you should lay them all out. It is essential that you have the board either hanging off, with the antenna part not having any copper underneath it, or not having any board. + +keepout_3D + + You can see the 2 different kinds of keepouts here <\sub> + +![images](https://github.com/user-attachments/assets/cb37ad2c-5d28-41f6-bd8f-2ec5f959deae) + + the keepout dimensions <\sub> + +Basically, don't do this: + +image + +Wifi can get messed up by metal, and having the board so close is definitely not following the shown keepout dimensions. + +And that's about it. I'll leave the wiring part up to you, but normally you should keep the decoupling capacitors (C1 & C2 in the first schematic) as close as possible two the chip. + +## Step 4: User features. + +The board as it is right now will work, but it will be a pain to debug and use fully. + +Thus, I recommend adding a few quality of life imporvements + +### 1. Add buttons. + +That means that you should have one button that shorts ESP_RST + +image + +to ground, and one that shorts IO0 to ground. + +image + +You can also add some debouncing capacitors to make them work more predictably, as shown. +### 2. LEDs + +LEDs never hurt. (except for power consumption) + +So, I would suggest throwing them in wherever you feel like there is a chance the board is at fault, to make sure everything is good, ie after the regulator: + +image + +That's it, and well if you need you can contact me on slack (@madhav) + From 0b98402ce44ea6822fa279451a569fa6eeb4820c Mon Sep 17 00:00:00 2001 From: roc-ket-cod-er Date: Thu, 31 Jul 2025 19:01:34 -0400 Subject: [PATCH 2/3] Update ESP32.md --- app/views/guides/ESP32.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/app/views/guides/ESP32.md b/app/views/guides/ESP32.md index 00fea38b..4e1c38f3 100644 --- a/app/views/guides/ESP32.md +++ b/app/views/guides/ESP32.md @@ -70,6 +70,10 @@ Wifi can get messed up by metal, and having the board so close is definitely not And that's about it. I'll leave the wiring part up to you, but normally you should keep the decoupling capacitors (C1 & C2 in the first schematic) as close as possible two the chip. +Another thing is that the USB line should preferably have matched impedance. RaspberryPi.com explains it pretty good on chapter 2.4.1 of this guide: https://datasheets.raspberrypi.com/rp2040/hardware-design-with-rp2040.pdf + +Basically, if you are using a 1mm thick board and you use 0.8mm wide tracks on USB DP/D+ and DM/- lines, with a gap of 0.15mm between them, you'll get the ideal differencial impedance of 90 ohms. + ## Step 4: User features. The board as it is right now will work, but it will be a pain to debug and use fully. @@ -96,4 +100,3 @@ So, I would suggest throwing them in wherever you feel like there is a chance th image That's it, and well if you need you can contact me on slack (@madhav) - From 93cc94e3d83a450d3a2aa073a82463dd5f81ad7c Mon Sep 17 00:00:00 2001 From: roc-ket-cod-er Date: Thu, 31 Jul 2025 19:49:20 -0400 Subject: [PATCH 3/3] Create Finding-Example-Schematics.md --- .../guides/Finding-Example-Schematics.md | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 app/views/guides/Finding-Example-Schematics.md diff --git a/app/views/guides/Finding-Example-Schematics.md b/app/views/guides/Finding-Example-Schematics.md new file mode 100644 index 00000000..c315ca42 --- /dev/null +++ b/app/views/guides/Finding-Example-Schematics.md @@ -0,0 +1,39 @@ +# Finding Example Schematics + +By: Madhav Garg + +When you go design something, you are very likely to come across some part, or some item that you absolutely need, but have no way of wiring up. So now what do you do? + +Well, you could go through the entire datahseet, looking for the item you need, but that can take a long time. A very, very long time. Take a look at [this datasheet](https://datasheets.raspberrypi.com/rp2350/rp2350-datasheet.pdf)!\ +It has over 1300 pages! + +### Stratagy 1: +You could try CTRL+F, but in such massive datasheets, it might be hard to find what you need. Just checking for the number '90' gives me over 100 entries!\ +image\ +Now thats bad and all, but don't worry, there is hope + +### Stratagy 2: Schematics + +Most of the time you go look for information about a component, its because you just want the ideal schematic, and most manufactureres know that. They often put an example at somepoint of the datahsheet: + +image + +image + +A protip is just to CTRL+F for "layout", "schematic" or "typical application" + +### Stratagy 3: Google. + +Often, if you just Google "xxx Schematic" or "xxx Example" you will get something of use. For example, the first image when I Google "RP2040 example schematic" is the following, a perfectly ok schematic! + +image + +### Stratagy 4: Adafruit. + +Often, my first go to stratagy is to find a similar item on Adafruit. If that substitute chip will work, I'll just use it and adopt Adafruit's schematic. + +For example, if I like their [lipo charger circuit](https://www.adafruit.com/product/4410), I can just Google the product name followed by github, and voila! you can find the schematic! + +image + +And that's all I have for you! Any questions can be directed to @madhav on slack.