ESP32 OLED Drawing Pad V1

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.

Build an ESP32-powered wireless drawing pad that lets you create freehand artwork through a browser interface and display it in real time on a 128×64 SSD1306 OLED.

Follow this guide to wire the display, install the required software, connect to the OLED-Draw Wi-Fi network, and use the browser canvas to draw, adjust brush size, and clear artwork.

Before you power up

Disconnect USB power before changing circuit connections, 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 BoardHosts the Wi-Fi access point, web server, WebSocket communication, and drawing logic.× 1
SSD1306 OLED Display (128×64)Displays the artwork received from the browser drawing canvas.× 1
BreadboardProvides a convenient platform for positioning the OLED and organizing circuit connections.× 1
Jumper WiresConnect the OLED power, ground, SDA, and SCL pins to the ESP32.× 4
USB Data CablePowers the ESP32 and uploads the drawing-pad 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

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

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

1 of 5
04

Software & tools

Install these before uploading the firmware.

Arduino IDEWrite, compile, and upload the ESP32 drawing-pad sketch from your computer.
ESP32 Board PackageProvides ESP32 board definitions, compiler support, Wi-Fi functionality, and firmware upload tools.
Adafruit GFX LibraryProvides graphics functions for drawing pixels and lines on the OLED display.
Adafruit SSD1306 LibraryInitializes and controls the SSD1306 OLED through its supported I²C interface.
Web Server and WebSocket LibrariesProvide the browser interface and real-time bidirectional communication required by the drawing application.
05

Expected output

Compare your build with the result described here.

FINAL CHECKPOINT

After uploading the sketch, the ESP32 should start the OLED-Draw Wi-Fi access point and initialize the OLED display with connection information for accessing the browser drawing interface.

Open the configured interface on a connected phone or computer, draw on the canvas, adjust the brush size, and clear the artwork. Verify that drawing changes appear on the OLED as intended.

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 the display's I²C address and initialization settings, and verify that the module supports the selected supply voltage.

02OLED-Draw Wi-Fi Network Is Missing
Try these checks

Check the serial-monitor output for startup or Wi-Fi access-point errors. Confirm that the sketch successfully starts the access point and that your device is searching for OLED-Draw. Restart the ESP32 and wait for initialization to finish.

03Browser Drawing Does Not Reach the OLED
Try these checks

Confirm that the browser connects to the correct interface and that WebSocket communication is established. Check the drawing-command handler, canvas-to-display coordinate scaling, pixel-buffer updates, and OLED refresh function to identify where drawing updates stop.

Let’s get your project working.

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

Get project support