
#Frogger porting kit how to
Learn how to use interrupts with the ESP32: Learn more about SPI communication protocol with the ESP32 using Arduino IDE: ESP32 SPI Communication: Set Pins, Multiple SPI Bus Interfaces, and Peripherals (Arduino IDE) InterruptsĪll GPIOs can be configured as interrupts. Learn more about I2C communication protocol with the ESP32 using Arduino IDE: ESP32 I2C Communication (Set Pins, Multiple Bus Interfaces and Peripherals) SPIīy default, the pin mapping for SPI is: SPI If you want to use other pins when using the wire library, you just need to call: Wire.begin(SDA, SCL) When using the ESP32 with the Arduino IDE, the default I2C pins are: The ESP32 has two I2C channels and any pin can be set as SDA or SCL. Learn how to use ESP32 PWM with Arduino IDE: ESP32 PWM with Arduino IDE I2C

Learn how to use the RTC GPIOs to wake up the ESP32 from deep sleep: ESP32 Deep Sleep with Arduino IDE and Wake Up Sources PWM The following GPIOs can be used as an external wake up source. These RTC GPIOs can be used to wake up the ESP32 from deep sleep when the Ultra Low Power (ULP) co-processor is running. The GPIOs routed to the RTC low-power subsystem can be used when the ESP32 is in deep sleep. There are 2 x 8 bits DAC channels on the ESP32 to convert digital signals into analog voltage signal outputs. View source Digital to Analog Converter (DAC)

You’ll get a behavior similar to the one shown in the following figure. You need to keep that in mind when using the ADC pins. You’ll probably won’t be able to distinguish between 0 and 0.1V, or between 3.2 and 3.3V. The ESP32 ADC pins don’t have a linear behavior.
#Frogger porting kit code
You can also set the resolution of your channels on the code and the ADC range. This means that you can get analog readings ranging from 0 to 4095, in which 0 corresponds to 0V and 4095 to 3.3V. The ADC input channels have a 12-bit resolution. So, if you’re using Wi-Fi and you’re having trouble getting the value from an ADC2 GPIO, you may consider using an ADC1 GPIO instead. Note: ADC2 pins cannot be used when Wi-Fi is used. The ESP32 has 18 x 12 bits ADC input channels (while the ESP8266 only has 1x 10 bits ADC). These are the GPIOs that can be used as ADC and respective channels: Learn how to use the touch pins with Arduino IDE: ESP32 Touch Pins with Arduino IDE Analog to Digital Converter (ADC) Those internal touch sensors are connected to these GPIOs: The capacitive touch pins can also be used to wake up the ESP32 from deep sleep. These pins can be easily integrated into capacitive pads and replace mechanical buttons. So they can detect variations induced when touching the GPIOs with a finger. These can sense variations in anything that holds an electrical charge, like the human skin. The ESP32 has 10 internal capacitive touch sensors. So, don’t use these pins in your projects: However, these pins are connected to the integrated SPI flash on the ESP-WROOM-32 chip and are not recommended for other uses. GPIO 6 to GPIO 11 are exposed in some ESP32 development boards. They can’t be used as outputs, so use these pins only as inputs: These pins don’t have internal pull-up or pull-down resistors. GPIOs 34 to 39 are GPIs – input only pins. GPIOĬontinue reading for a more detail and in-depth analysis of the ESP32 GPIOs and its functions. The pins highlighted in red are not recommended to use as inputs or outputs. The ones highlighted in yellow are OK to use, but you need to pay attention because they may have an unexpected behavior mainly at boot. The pins highlighted in green are OK to use. The following table shows what pins are best to use as inputs, outputs and which ones you need to be cautious.

Additionally, there are pins with specific features that make them suitable or not for a particular project.
