ESP32: Difference between revisions

No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 2: Line 2:


==Annoyances==
==Annoyances==
* There are plenty of SMT MOSFETs that will work with the ESP32, but the only through-hole MOSFET I've found that works a damn off  its 3.3V output is the (pricey!) Infineon [https://www.digikey.com/en/products/detail/infineon-technologies/IRLZ44NPBF/ IRLZ44N].
* There are plenty of SMT MOSFETs that will work with the ESP32's 3.3V 20 mA outputs...
** but the only through-hole MOSFET I've found that works a damn is the (pricey!) Infineon [https://www.digikey.com/en/products/detail/infineon-technologies/IRLZ44NPBF/ IRLZ44N].
** the [https://www.infineon.com/cms/en/product/power/mosfet/n-channel/irlb8721/ IRLB8721] also works well
* The ADC is known to be nonlinear and generally not great.
* The ADC is known to be nonlinear and generally not great.
* Devkits with an onboard RGB LED often need a bridge soldered between two points on the board before the LED will function (possibly to avoid accidental eye damage; it's pretty bright).


==Boot modes==
==Boot modes==
Line 16: Line 17:
Let's have an example.
Let's have an example.


Consider the [https://www.espressif.com/en/products/socs/esp32-c6 ESP32-C6] family of SoCs ([[https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf datasheet]). Each includes a unicore RISC-V running at up to 160 MHz. They are available in QFN40 and QFN32 SMD packaging. The QFN40 package (the true ESP32-C6) has no onboard flash. The ESP32-C6FH<i>x</i> and ESP32-C6FN<i>x</i> in QFN32 packaging sport <i>x</i> MB of flash, supporting High and Normal temperatures, respectively. SoCs consist of the CPU, RAM, EEPROM—all of the ICs necessary for the ESP32-C6 feature set. The F[HN]x SoCs lack GPIO10, GPIO11, GPIO14, SPICS0, SPIQ, SPIWP, VDD_SPI, and SPIHD, but gain SDIO_CLK and SDIO_CMD, for 30 vs 24 exposed pins.
Consider the [https://www.espressif.com/en/products/socs/esp32-c6 ESP32-C6] family of SoCs ([https://www.espressif.com/sites/default/files/documentation/esp32-c6_datasheet_en.pdf datasheet]). Each includes a unicore RISC-V running at up to 160 MHz. They are available in QFN40 and QFN32 SMD packaging. The QFN40 package (the true ESP32-C6) has no onboard flash. The ESP32-C6FH<i>x</i> and ESP32-C6FN<i>x</i> in QFN32 packaging sport <i>x</i> MB of flash, supporting High and Normal temperatures, respectively. SoCs consist of the CPU, RAM, EEPROM—all of the ICs necessary for the ESP32-C6 feature set. The F[HN]x SoCs lack GPIO10, GPIO11, GPIO14, SPICS0, SPIQ, SPIWP, VDD_SPI, and SPIHD, but gain SDIO_CLK and SDIO_CMD, for 30 vs 24 exposed pins.


[[File:esp32c6mini.png|thumb|The ESP32-C6-MINI-1 and -1U have the same pinout.]]
[[File:esp32c6mini.png|thumb|The ESP32-C6-MINI-1 and -1U have the same pinout.]]
Line 36: Line 37:


==Product line==
==Product line==
===ESP32-S3===
* Dualcore XTensa LX7 at 240 MHz
* WiFi 4 (IEEE 802.11n), 2.4 GHz only with [[Bluetooth|BLE5]]
====Devkit notes====
* Powering via 5V USB is recommended.
* Voltage on GPIO47 and GPIO48 is only 1.8 (V<sub>SPI</sub>), unlike the other pins (3.3, V<sub>DD</sub>).
* Some devkits require the two RGB pads to be shorted before their WS2812 RGB LED can be used
** I suspect this is because the WS2812 can damage the eyes if looked at directly? Unsure.
** Version 1.0 of the DevKitC had the WS2812 on IO48; Version 1.1 has it on IO38.
===ESP32-C6===
* WiFi6 (IEEE 802.11x), 2.4 GHz only
** [[Bluetooth|BLE5]], Zigbee, Matter, Thread, LR-WPAN (IEEE 802.15.4)
* 2 ADCs (but one of them is used by the radio)
* RISC-V at 160 MHz, low power RISC-V at 20 MHz, 512KB SRAM
* Temperature sensor
===SoCs===
As of 2024-12:
As of 2024-12:
===SoCs===
 
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 132: Line 152:
|}
|}
===Modules===
===Modules===
As of 2024-12:
{| class="wikitable sortable"
{| class="wikitable sortable"
|-
|-
Line 563: Line 585:
|-
|-
|}
|}
==ESP32-S3==
The ESP32-S3 is a fantastic little update to the classic ESP32. Some notes:
* Powering via 5V USB is recommended.
* Voltage on GPIO47 and GPIO48 is only 1.8 (V<sub>SPI</sub>), unlike the other pins (3.3, V<sub>DD</sub>).
* There are no default I<sup>2</sup>C pins. All GPIOs can be used with either of the two controllers with no penalty.
* Some devkits require the two RGB pads to be shorted before their WS2812 RGB LED can be used
** I suspect this is because the WS2812 can damage the eyes if looked at directly? Unsure.
** Version 1.0 of the DevKitC had the WS2812 on IO48; Version 1.1 has it on IO38.


==External links==
==External links==