ESP32 OLED Love Language
Wiring Schematic
View full-size circuit ↗
YOUR PROJECT LEARNING PATH
Build it with confidence.
Project overview
Know what you’re building before you start wiring.
Create an ESP32-powered OLED message display that uses I²C communication and character-by-character typewriter animation to present an engineering-inspired love message on a compact 128×64 SSD1306 screen.
Follow this guide to wire the display, configure the required libraries, upload the sketch, and customize message text, typing speed, alignment, and pauses between animated message pages.
Disconnect USB power before changing wiring, and connect the OLED to 3.3 V only if its specific module supports that supply voltage.
Components required
Gather these parts before you begin.
Build the project
Work through one focused step at a time. You can revisit any step whenever you need.
Position the Board and OLED Display
With USB power disconnected, position the ESP32 and SSD1306 OLED on the breadboard. Identify the display's VCC, GND, SDA, and SCL pins.
Check the pin labels on your specific modules before wiring. Keep the display and jumper wires accessible so connections can be inspected easily.
Connect Power and Ground
Connect OLED VCC to the ESP32 3.3 V output and OLED GND to ESP32 GND, provided the display module supports 3.3 V operation.
Inspect both connections before applying power. Confirm the power and ground pins are not reversed and that no exposed wires can short together.
Connect the I²C Data Pin
Connect the OLED SDA data pin to ESP32 GPIO 21. This connection carries display commands and text data from the microcontroller to the OLED.
Trace the jumper wire from end to end and confirm SDA reaches GPIO 21. Do not confuse the data pin with the clock connection.
Connect the I²C Clock Pin
Connect the OLED SCL clock pin to ESP32 GPIO 22. The clock line synchronizes data transfers between the ESP32 and the display module.
Check that SDA and SCL reach their intended pins and that power remains disconnected while you inspect the completed circuit.
Upload and Test the Animation
Install the required libraries, select your ESP32 board and serial port in Arduino IDE, then compile and upload the verified love-message animation sketch.
Confirm that the OLED initializes and displays characters progressively. If the display stays blank, check the I²C address, pin assignments, wiring, and library configuration.
Software & tools
Install these before uploading the firmware.
Expected output
Compare your build with the result described here.
After uploading the sketch, the SSD1306 OLED should initialize and display the engineering-inspired message using a typewriter effect, revealing each character progressively across the configured message pages.
Check that text remains within the 128×64 display boundaries and that pauses allow each page to be read. Typing speed and page transitions should follow the timing values in your sketch.
Troubleshooting & fixes
Choose the issue that best matches what you’re seeing.
01OLED Display Remains Blank
Verify OLED VCC and GND connections, then check SDA on GPIO 21 and SCL on GPIO 22. Confirm the module's I²C address and ensure the configured display resolution matches your 128×64 OLED.
02Typewriter Animation Does Not Work
Inspect the typeWrite function and confirm its character loop advances through the message. Verify that the display buffer is refreshed after drawing characters and that the required graphics libraries are installed correctly.
03Text Timing Feels Incorrect
Check the typing delay passed to the typeWrite function and review the pauses between message pages. Adjust these values gradually, then upload the sketch again to verify the intended animation speed.