The author of this repository (information, scripts, code) take no responsibility for your use or misuse (or any damage to your devices)! Respect the law in your country/location/area! The information included at this repository is for educational purposes only!
Depending on your
ESP32
microcontroller device, sensors and environment you may need to adapt values for GPIO pins. The important values are defined as constants after imports. Many of the examples also run on theESP8266
,RP2040
/Pico
or other MicroPython compatible devices, you have to adjust the pins!
If you do not yet own an ESP32 microcontroller or are unsure about your circuit, on wokwi or Tinkercad you can test mostly all scripts and simulate your circuit/code inside the browser.
- 001 - Introduction
- 002 - Frozen Code
- MicroPython frozen code
- (code example) Frozen code
- MicroPython frozen code
- 003 - Board information
- Board tutorial
- (code example) ESP32 board information
- (code example) ESP32 disc space and memory information
- Board tutorial
- 004 - WLAN
- WLAN tutorial
- (code example) Access point scanner
- (code example) Simple station mode
- (code example) Open access point mode
- (code example) WPA access point mode
- WLAN tutorial
- 005 - Bluetooth Low Energy
- Bluetooth Low Energy tutorial
- (code example) BLE scanner
- (code example) Own BLE service
- Bluetooth Low Energy tutorial
- 006 - GPIO basic
- GPIO basic tutorial
- (code example) Blink a single LED
- (code example) Blink a single LED with PWM
- (code example) Blink a single LED with Timer
- (code example) Fade a single LED with PWM
- (code example) Heartbeat a single LED with PWM
- (code example) Change RGB LED color
- GPIO basic tutorial
- 007 - Sound
- Sound tutorial
- (code example) Create single tone (Passive piezo buzzer)
- (code example) Create different tones (Passive piezo buzzer)
- (code example) Play a song (Passive piezo buzzer)
- DFRobot Player Mini (DFR0299)
- (code example) Next/previous track
- Sound tutorial
- 008 - Motor
- Motor tutorial
- (code example) Control servo via duty
- (code example) Control servo via duty_ns
- (code example) Control servo via duty_u16
- (code example) Control servo via angle
- Motor tutorial
- 009 - NeoPixel
- NeoPixel tutorial
- (code example) NeoPixel basics
- (code example) NeoPixel morse code
- NeoPixel extended
- (code example) NeoPixel Matrix example
- (code example) NeoPixel Matrix icons
- (code example) NeoPixel Matrix bounce
- NeoPixel tutorial
- 010 - More introduction
- Package management
- I2C helper tutorial
- (code example) I2C scanner
- 011 - Displays
- OLED Display tutorial (SSD1306)
- (code example) I2C OLED basics (SSD1306)
- (code example) I2C OLED date/time and fonts (SSD1306)
- (code example) I2C OLED icons (SSD1306)
- LCD Display tutorial Nokia 5110 (PCD8544)
- (code example) SPI LCD Nokia 5110 basics (PCD8544)
- OLED Display tutorial (SH1106)
- (code example) SPI OLED basics (SH1106)
- LCD Display tutorial (ESP32-S2 LCD 096 inch)
- (code example) LCD basics (ST7735s)
- OLED Display tutorial (SSD1306)
- 012 - Network
- Network tutorial
- (code example) Time synchronisation with NTP
- (code example) DNS resolve
- (code example) HTTP status
- (code example) REST API
- (code example) HTML webserver
- Network extended
- (code example) Toggle LEDs via Website
- (code example) Control NeoPixel from AdafruitIO
- Network tutorial
- 013 - Human interaction
- Human interaction tutorial
- (code example) Button (Polling)
- (code example) Button (Interrupt Handler)
- (code example) Button (Interrupt Handler and Debounce)
- (code example) Potentiometer
- (code example) Potentiometer and OLED (SSD1306)
- (code example) Joystick (XY + Button)
- (code example) RFID read (RC522 13.56 MHz)
- (code example) Matrix Keypad
- (code example) Control LED by capacitive touch
- Human interaction extended
- (code example) Move crosshair via joystick (SH1106)
- Human interaction tutorial
- 014 - Sensors
- Sensor tutorials
- (code example) Temperature/Humidity sensor (DHT11/DHT22)
- (code example) PIR sensor (HC-SR501)
- (code example) Ultrasonic sensor (HC-SR04)
- (code example) Light/Shadow detection with LDR (Photo resistor)
- (code example) IR Flame detection
- Sensor extended
- (code example) Measure environment decibel (MAX9814 - SSD1306)
- (code example) Obstacle Detection (Laser Sensor - SSD1306)
- (code example) Light Barrier (ALLNET: B18 - Pushover)
- (code example) Environment Sensing (Bosh: BME680 - Web Server)
- (code example) Measure Distance (Pimoroni: VL53L1X - SSD1306)
- (code example) Temperature via WebBLE (Allnet: B38 Temp. Sensor)
- Sensor tutorials
- 015 - Games
- Game tutorials
- (code example) Crazy Car Racer (SSD1306)
- (code example) Space Invaders (PCD8544)
- (code example) Pong (NeoPixel Matrix)
- (code example) Snake (SH1106)
- (code example) Mini Slot (SSD1306)
- (code example) Human attack Aliens (SSD1306)
- (code example) StarFighters (SSD1306)
- (code example) Tic-Tac-Toe (SH1106)
- Game tutorials
- 016 - Firmware
Most modules (e.g. driver, fonts and etc.) listed here, are copies from other repositories! The content/code is not always revised by me. Please check if there are more recent versions available.
Topic | Link for this repository | Original source |
---|---|---|
Font | freesans20 | GitHub |
Font | vga bold 16x16 | GitHub |
Display | Writer | GitHub |
OLED Display (I2C/SPI) | SSD1306 | GitHub |
OLED Display (I2C/SPI) | SH1106 | GitHub |
LCD Display (SPI) | PCD8544 | GitHub |
LCD Display (SPI) | ST7789 | GitHub |
LCD Display (SPI) | ST7735s 0.96 LCD | - |
LCD Display (SPI) | ST7735s 3.5 Pico LCD | - |
Sensors | BME680 | GitHub |
Sensors | Vl53L1X | GitHub |
NeoPixel | NeoPixel-Matrix | - |
BLE | BLE Advertising | GitHub |
RFID | MFRC522 | GitHub |
Sound | DFPlayer Mini | GitHub |