Eclipse defaults are different to lots of IDE’s we use on Windows, here’s how we fix eclipse… Open eclipse preferences: Menu > Window > Preferences General > Workspace > Build > Save automatically before build General > Keys To Upper Case – Ctrl + Shift + U To Lower Case – Ctrl + Shift + L […]
All posts by
Creating A New Project
Our Eclipse IDE resources here may well be old, we’ve switched over to using VSCode Resources https://github.com/espressif/idf-eclipse-plugin/blob/master/README.md NOTE: The esp-idf build system does not support spaces in paths to projects Create a project In Eclipse Menu > File > New > Project… Espressif > Espressif IDF Project Set the name and location (DO NOT USE […]
Terminal window
Pause the Terminal window CTRL+T then CTRL+Y Getting command prompt You may need to use CTRL + ] to end its current mode and get its command prompt first Getting “ESP-IDF Terminal” instead of powershell You need the “ESP-IDF Terminal”, if your open Terminal is Powershell, kill it and then use command prompt (CTRL_SHIFT+P) and […]
Installing ESP-IDF (Windows)
Note, if you are going to use Visual Studio Code then you can let its Espressif plugin handle installing ESP-IDF – see here Espressif guides https://docs.espressif.com/projects/esp-idf/en/stable/get-started/ Setting up a Windows PC to program the ESP32 Create the required GNU-compatible environment with toolchain (the programs to compile and build your applications) Download the Windows all-in-one toolchain from https://docs.espressif.com/projects/esp-idf/en/stable/esp32/get-started/windows-setup.html […]
I2C Pins
Pin assignment Both I2C interfaces are connected to pins via GPIO matrix, so you can select arbitrary IO pins for SDA and SCL. You just need to observe the constraints of each pin such as I/O capability (GPIO34 – 39 are input only so not suited!), bootstrapping function. See the series datasheet for your device […]
.IO Pins General
REMEMBER NOT ALL ESP32 PINS ARE INPUT/OUTPUT – SOME ARE INPUT ONLY!!!! ESP32 Pin List All of the pin fucntions, default state, etc: https://www.espressif.com/sites/default/files/1a-esp32_pin_list_en-v0.1.pdf Peripheral pins assignment See here Pull ups / pull downs Only pins that support both input & output have integrated pull-up and pull-down resistors. Input-only GPIOs 34-39 do not.
Programming Hardware
On many development boards with built-in USB/Serial the programming hardware is provided for you and software such as esptool.py can automatically reset the board into bootloader mode using it. However for production boards you may well not want to add components only required at programming time on the board itself. Off the shelf programming adapters ESP-Prog […]
Power
Power Consumption 3V3 power supply to ESP32: 80ma typ, must allow for 500mA min
IO Pins
IO Pins as outputs High-level output voltage: min 2.64V (0.8 x Vdd) Low-level output voltage: max 0.33V (0.1 x Vdd) High-level source current (PAD_DRIVER = 3): 40mA Low-level sink current (PAD_DRIVER = 3): 28mA
.Dual Core Overview
Many of the ESP32 modules use a dual core version of the ESP32 processor. This allows one of the cores to run the all the multitasking involved in updating the WiFi stack etc and the other for your main applciaiton carrying out all your data processing and IO. The two cores: Protocol CPU (PRO_CPU) Handles […]