ESP32 OLED Proposal Animation

Wiring Schematic

View full-size circuit ↗
LT

YOUR PROJECT LEARNING PATH

Build it with confidence.

Progress saves on this device
01

Project overview

Know what you’re building before you start wiring.

Create an ESP32-powered proposal animation featuring a galaxy particle effect, a forming heart, a decorative ring box, and a rising diamond ring on a 128×64 SSD1306 OLED display.

Follow this guide to wire the display, install the required libraries, upload the animation sketch, and explore cinematic transitions, particle effects, mechanical motion, and a typewriter-style proposal message.

Before you power up

Disconnect USB power before changing wiring, and connect the OLED to 3.3 V only if your specific display module supports that supply voltage.

PROJECT ROADMAP3 project stages
✓
Prepare your kitConfirm the components and tools
⌁
Assemble the circuitFollow the build steps in order
⌘
Upload and testCheck the output and resolve issues
Start the build
02

Components required

Gather these parts before you begin.

ESP32 Development BoardRuns the animation sequence and controls the OLED display through I²C communication.× 1
SSD1306 OLED Display (128×64)Displays the galaxy, heart, ring box, diamond, and animated proposal message.× 1
BreadboardProvides a convenient platform for positioning the display and organizing circuit connections.× 1
Jumper WiresConnect the OLED power, ground, SDA, and SCL pins to the ESP32 circuit.× 4
USB Data CablePowers the ESP32 and transfers the animation firmware from your computer.× 1
03

Build the project

Work through one focused step at a time. You can revisit any step whenever you need.

STEP 010 / 5 complete
BUILD STAGE 0120% of guide

Prepare the ESP32 and OLED

With USB power disconnected, position the ESP32 and SSD1306 OLED on the breadboard. Identify the display's VCC, GND, SDA, and SCL pins before starting the wiring.

Check the pin labels on your specific modules because their physical order can vary. Keep the connections accessible so you can inspect the circuit before applying power.

1 of 5
04

Software & tools

Install these before uploading the firmware.

Arduino IDEWrite, compile, and upload the ESP32 proposal animation sketch from your computer.
ESP32 Board PackageProvides ESP32 board definitions, compiler support, and firmware upload tools in Arduino IDE.
Adafruit GFX LibraryProvides graphics primitives for drawing particles, hearts, ring boxes, and animation elements.
Adafruit SSD1306 LibraryInitializes and controls the SSD1306 OLED display through its supported I²C interface.
USB-to-Serial DriverEnables computer communication when the ESP32 board requires a compatible USB-to-serial driver.
05

Expected output

Compare your build with the result described here.

FINAL CHECKPOINT

After uploading the sketch, the SSD1306 OLED should display an animated galaxy of particles that gradually forms a pulsing heart, followed by the transition to a decorative ring box.

The ring box should open, reveal a rising diamond ring with sparkle effects, and transition to the programmed proposal message using a typewriter animation. Verify the sequence against your sketch.

06

Troubleshooting & fixes

Choose the issue that best matches what you’re seeing.

01OLED Display Remains Blank
Try these checks

Verify OLED VCC and GND connections, then check SDA on GPIO 21 and SCL on GPIO 22. Confirm your module's I²C address and ensure the sketch initializes the display with the correct dimensions.

02Animation Graphics Appear Distorted
Try these checks

Confirm the Adafruit GFX and SSD1306 libraries are installed correctly. Review particle positions, drawing coordinates, display-buffer updates, and screen boundaries to identify graphics that exceed the 128×64 display area.

03Animation Stages Transition Incorrectly
Try these checks

Review the stage-duration constants and confirm animation state transitions occur in the intended order. Check elapsed-time calculations, easing functions, particle updates, and typewriter delays against the sequence defined in your sketch.

Let’s get your project working.

When you contact us, include the project name and the step where you got stuck.

Get project support