Hey guys,
I need advices for the design of my PCB. Could you please tell me if this is enough for me to use my bare ESP32. I've added switches for RESET and BOOT, plus pin sockets for communication with the ESP32 (RX and TX). Note that I already have a USB-to-UART TTL. Also, there are a few GPIOs connected to different stuff but this is not important here.
I took infos at different places but I just wanted to double check with you if this is fine to you.
I thought it would be enough. It was just to check the switches and to know if I will be able to communicate with my ESP32. Please tell me what do you need.
Except for the GPIO0 (BOOT), 1 (TX) and 3 (RX), I've already tested the rest with an ESP32 NodeMCU (and mini D1 ESP32) and it seems to be fine for me.
It make it difficult for you, as you have to press boot and reset manually.
If you buy one with DTR and RTS, you can program your esp without press manually and at the right moment the buttons.
You have the reset signal on an output that generates a pwm at beginning (see link on first post). This will reset your lora many times on each start (400 resets on 1 second). It will probably work, but is not what you want and maybe you get strange effects. You are using the wroom module, right?
Yes, I have the ESP32 WROOM.
oh I see. So do you suggest to plug the BOOT to another GPIO like the 25? I think it's a good idea to get the one with DTR and RTS. I will draw another scheme and show it to you if you don't mind.
Ive searched trough the documentation and its little confusing..
Btw, there is EN pin on my classic wroom dev.board, and I have to insert 10uF between EN pin and gnd, to be able to flash the chip. You used the EN pin for reset, so I guess it`s not the same pin?
I noticed you have a pin for Battery level. If you are planning on using a LiPo battery you are going to need a voltage divider circuit to read the voltage on the battery. The pins on an ESP32 are only 3.3v tolerant. A LiPo is going to be a lot higher. Also, the ESP32 is notorious for really only being able to read up to 3.0V reliably. So, you'll want to divide your circuit to something lower than that. I'd recommend using two, matching, high value resistors. Then you just have to multiply by 2.
Yes Ryan. No worries about that. I put a voltage divider with 2 x 220k. I just wanted to focus on the ESP32 part here (switches and UART communication)
Thanks MrBurnette. I've seen this one too. It helped me to start and develop my final Dev board. I added a few capacitors...
Sorry. I didn't mean that you should move the boot pin. The ESP need the boot pin (GPIO0) and the EN-pin to start in programming mode.
I mean all other pins. You are connecting the Lora-rst pin to the GPIO14. This pin generates a PWM on boot. I don't know what the frequency (1kHz?) is. Do you really want to reset your LoRa module 1000 times on each boot?
If it is ok, you can leave it on GPIO14.
I would not use the first 15 GPIO if possible. Also for future projects.
Of course: boot, RX, TX are ESP-IOs. They must stay there
Where did you got the Wroom component on this schematic? pin15 and pin38 are missing (GND).
You might not have a issue with the current setup, but there could potentially be circumstances when you want the LoRa registers (and hence setup or received packets) to survive a boot\reset\power down.
And whatever pin is used for NRESET, you would of course need to checking in a breadboard mock-up that nothing 'odd' happened to the chosen pin if deep sleep etc were used.
You're both right. I will definitely change that. Actually, I just followed instructions from randomnerdtutorials.com.
So I guess I should also change DIO0 (IO2), DIO1 (IO4) and NSS (IO5).
No worries, they are not there in the symbol of KiCad, but they are present in the footprint. And both grounded.
I only tested the LoRa Ra-02 433MHz (which has the uFL connector) with the ESP32 NodeMCU (or the mini D1 ESP32). Never the RFM95 868 with a bare ESP32. And it was with these exact pin nb.