Skip to main content

MicroPython

This chapter contains the following sections. Please read as needed:

MicroPython Getting Started Tutorials​

New to ESP32 MicroPython development and want to get started quickly? We have prepared a general introductory tutorial ESP32 MicroPython Getting Started for you.

Setting Up Development Environment​

1. Flash MicroPython Firmware and Configure Thonny​

Please refer to the Set Up MicroPython Development Environment to flash the MicroPython firmware.

2. Other Tips​

Example​

The MicroPython example programs are located in the Demo Package. Most demos are written based on the Pico-Sensor-Kit-B. For a better user experience, our firmware includes a built-in .py file that wraps the discrete GPIOs into pins ordered according to the Pico pin layout. The source code is as follows:

from micropython import const
D0 = const(11)
D1 = const(12)
D2 = const(13)
D3 = const(14)
D4 = const(15)
D5 = const(16)
D6 = const(17)
D7 = const(18)
D8 = const(33)
D9 = const(34)
D10= const(35)
D11= const(36)
D12= const(37)
D13= const(38)
D14= const(39)
D15= const(40)
D16= const(42)
D17= const(41)
D18= const(1)
D19= const(2)
D20= const(4)
D21= const(5)
D22= const(6)
D26= const(7)
D27= const(8)
D28= const(9)

A1= const(7)
A2= const(8)
A3= const(9)

RGB_PIN= const(21)
USB_ADC= const(3)
DemoBasic Description
01_GPIOBlink and Key Examples
02_PWMFade and Siren Examples
03_UARTUART Example
04_SD_I2CI2C-OLED and I2C-SCAN Examples
05_SPIDriving the Pico-LCD-1.3 Example
06_ADCADC Example
07_RGBLighting Up the Onboard RGB LED
08_SYSFLASH-SIZE, RAM-SIZE, RTC, SLEEP, and WDT Examples
09_WIFIScanning for Surrounding Wi-Fi Networks

01_GPIO​

Example Description​

  • Demonstrates the use of GPIO input and output.

Hardware Connection​

  • Insert the ESP32-S3-Pico into the Pico-Sensor-Kit-B.
  • Connect the development board to the computer
  • The LED module on the Pico-Sensor-Kit-B (connected to D10) blinks at a frequency of 1 second.

Key Operation Result​

  • Read the KEY module on the Pico-Sensor-Kit-B (connected to D3).
    • If a low level is detected (key pressed), toggle the state of the LED module (connected to D10).

02_PWM​

Example Description​

  • Demonstrates the use of PWM.

Hardware Connection​

  • Insert the ESP32-S3-Pico into the Pico-Sensor-Kit-B.
  • Connect the development board to the computer

Fade Operation Result​

  • The BUZZER module on the Pico-Sensor-Kit-B (connected to D12) outputs a PWM signal at a frequency of 1000 Hz, with the duty cycle increasing or decreasing between 0% and 100%.

Siren Operation Result​

  • The BUZZER module on the Pico-Sensor-Kit-B (connected to D12) outputs a PWM signal with a duty cycle of 30%, and the frequency increases or decreases between 600 Hz and 1400 Hz.

03_UART​

Example Description​

  • Demonstrates the use of UART.

Hardware Connection​

  • Connect GP11 and GP12 on the ESP32-S3-Pico together.
  • Connect the development board to the computer

UART Operation Result​

  • GP11 and GP12 on the ESP32-S3-Pico are used as UART TX and RX pins, respectively, to perform a UART echo test.

04_I2C​

Example Description​

  • Demonstrates the use of I2C.

Hardware Connection​

  • Insert the ESP32-S3-Pico into the Pico-Sensor-Kit-B.
  • Connect the development board to the computer

I2C-OLED Operation Result​

  • The OLED module on the Pico-Sensor-Kit-B displays text and graphics via I2C communication.

I2C-SCAN Operation Result​

  • The ESP32-S3-Pico configures D8 and D9 in I2C mode, scans for I2C modules on the Pico-Sensor-Kit-B, and outputs their corresponding I2C addresses.

05_SPI​

Example Description​

  • Demonstrates driving an LCD screen via the SPI interface.

Hardware Connection​

  • Insert the ESP32-S3-Pico into the Pico-LCD-1.3 expansion board.

  • Connect the development board to the computer

The LCD module is connected using the default SPI pins.

Pico-LCD-1.3 Operation Result​

  • Successfully drives the Pico-LCD-1.3 module and displays test content.

06_ADC​

Example Description​

  • Demonstrates the ADC analog sampling function.

Hardware Connection​

  • Use USB_ADC, A1, A2, and A3 as ADC inputs.

  • Connect the development board to the computer

ADC Operation Result​

  • Sequentially reads the voltage values from USB_ADC, A1, A2, and A3.

  • Outputs the corresponding sampled data via the serial port.

07_RGB​

Example Description​

  • Demonstrates RGB LED control.

Hardware Connection​

  • Use the onboard RGB LED.

  • Connect the development board to the computer

RGB Operation Result​

  • The RGB LED continuously changes colors and cycles through displays.

08_SYS​

Example Description​

  • Demonstrates system-related functions, including FLASH, RAM, RTC, SLEEP, and WDT.

Hardware Connection​

  • Use only the ESP32-S3-Pico development board.

  • Connect the development board to the computer

FLASH-SIZE Operation Result​

  • Outputs the remaining FLASH space.

RAM-SIZE Operation Result​

  • Outputs RAM usage and remaining space.

RTC Operation Result​

  • Sets the RTC time and continuously reads the RTC value in a loop.

SLEEP Operation Result​

  • Configures the ESP32-S3 for deep sleep for 10 seconds and automatically resets.

WDT Operation Result​

  • Enables the watchdog timer and waits for it to trigger a reset.

09_WIFI​

Example Description​

  • Demonstrates the Wi-Fi scanning function.

Hardware Connection​

  • Use the onboard Wi-Fi of the ESP32-S3-Pico.

  • Connect the development board to the computer

Scan Operation Result​

  • Scans for surrounding Wi-Fi networks and outputs relevant information.