ESP32: Difference between revisions
Jump to navigation
Jump to search
Line 45: | Line 45: | ||
== ESP32-D0WDQ6 chip == | == ESP32-D0WDQ6 chip == | ||
* Xtensa® 32-bit LX6 microprocessors. The internal memory includes: | |||
* 448 KB of ROM for booting and core functions. | |||
* 520 KB of on-chip SRAM for data and instructions. | |||
* 8 KB of SRAM in RTC, which is called RTC FAST Memory and can be used for data storage; it is accessed by the main CPU during RTC Boot from the Deep-sleep mode. | |||
* 8 KB of SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode. | |||
* 1 Kbit of eFuse: 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including flash-encryption and chip-ID. | |||
* 8 MB or 4 MB QSPI SRAM or Flash (this is the 4 Mbyte flash on the WROOM module?) | |||
== WROOM module == | |||
* Recommended OS is FreeRTOS with LwIP | * Recommended OS is FreeRTOS with LwIP |
Revision as of 11:09, 28 March 2020
= General information and links
Adafruit HUZZA32
- https://en.wikipedia.org/wiki/Adafruit_Industries
- Adafruit HUZZAH32 – ESP32 Feather Board, https://www.adafruit.com/product/3405
- based on ESP-WROOM-32 module, uses ESP32-D0WDQ6 chip, https://en.wikipedia.org/wiki/ESP32
- board available from DigiKey quantity "hundreds" ~CAD$35
- USB power connector
- connection for external 3.7 V battery, charged from USB
- serial IO 3.3V RX+TX
- 1x SPI (where is the rest?)
- 1x I2C (where is the rest?)
- 7 GPIO top, shared with 2 DACs and 6 ADCs
- 7 GPIO bottom, shared with 7 ADCs and other functions
- everything is 3.3V, *NOT* 5V safe
- there is ADC1 and ADC2, not clear what it means, ADC voltage range not clear
- ADC1 or ADC2 cannot be used with Wifi (this is unclear)
- ESP32 SD card interface not connected
- ESP32 serial IO connected to USB via USB-serial-bridge chip (the best I can tell)
- power is USB with battery backup, one header pin provides regulated 3.3 V power to user (available current not clear, maybe 250 mA), battery voltage is on A13
- suggested use with Ardiuno BSP (not mongoose OS)
- module schematic: https://cdn-learn.adafruit.com/assets/assets/000/041/630/original/feather_schem.png?1494449413
ESP-WROOM-32 module
- ESP32 chip is a very basic microcontroller, CPU is done by same people who did MIPS CPUs.
- ESP32 is supported by "Mongoose OS", familiar with it as we already use the mongoose web server from same people.
- general page: https://www.espressif.com/en/products/hardware/modules
- product page: https://www.espressif.com/zh-hans/esp-wroom-32/resources (in Chineese)
- data sheet: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_cn.pdf (in Chineese)
- module data sheet: https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32_datasheet_en.pdf (English)
- chip data sheet: https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf
Information from the data sheets:
ESP32-D0WDQ6 chip
- Xtensa® 32-bit LX6 microprocessors. The internal memory includes:
- 448 KB of ROM for booting and core functions.
- 520 KB of on-chip SRAM for data and instructions.
- 8 KB of SRAM in RTC, which is called RTC FAST Memory and can be used for data storage; it is accessed by the main CPU during RTC Boot from the Deep-sleep mode.
- 8 KB of SRAM in RTC, which is called RTC SLOW Memory and can be accessed by the co-processor during the Deep-sleep mode.
- 1 Kbit of eFuse: 256 bits are used for the system (MAC address and chip configuration) and the remaining 768 bits are reserved for customer applications, including flash-encryption and chip-ID.
- 8 MB or 4 MB QSPI SRAM or Flash (this is the 4 Mbyte flash on the WROOM module?)
WROOM module
- Recommended OS is FreeRTOS with LwIP
- Wifi 802.11 b/g/n (802.11n up to 150 Mbps), at 2.4 GHz
- Bluetooth v4.2 BR/EDR and BLE specification
- power 3.3 V, 80 mA typical, up to 500 mA, 1100 mA max
- pins connected to internal SPI flash: SCK/CLK, SDO/SD0, SDI/SD1, SHD/SD2, SWP/SD3 and SCS/CMD
- pins MTDI, GPIO0, GPIO2, MTDO, GPIO5 are ”GPIO_STRAPPING" set the boot mode
- pins IO12, IO13, IO14, IO15 are JTAG (this is not clear)
Information from adafruit: https://www.adafruit.com/product/3405 and https://learn.adafruit.com/adafruit-huzzah32-esp32-feather
- 240 MHz CPU, 520 kbytes SRAM, Wifi, Bluetooth, 4 Mbyte flash, interface for SD card. - 3x UART - 3x SPI - 2x I2C - 12 ADC inputs - 2 DAC - more goodies - everything is 3.3V, *NOT* 5V safe