How to Build a Tiny OLED Desk Command Centre

A small ESP32 status screen you can message from your browser

ESP32Smart HomeBeginner30 minutes3 components

Updated

How to Build a Tiny OLED Desk Command Centre
For illustrative purposes only
On this page

What you'll build

This guide builds a tiny desk command centre: an ESP32 with an OLED that shows useful status at a glance and accepts short messages from a browser. It is a nice little desk object, not just a screen test sketch.

The starter uses an SSD1306 OLED over I²C, Wi-Fi, a simple local web page, time/weather display logic, and repeated serial printing of the ESP32 local IP so you can actually find the device after flashing it. Send a message from your phone or laptop and it stays on the screen long enough to read before the normal dashboard returns.

Use it as a meeting sign, a pomodoro status tile, a tiny weather display, or a friendly “do not disturb” notifier. The guide keeps the hardware minimal so the product behaviour is the interesting bit.

Wiring diagram

Wiring diagram

Interactive wiring diagram

Components needed

ComponentTypeQtyBuy
ESP32 development boardboard1
SSD1306 OLED displaydisplay1
Jumper wiresother1

Assembly

1

Wire the OLED desk command centre

Connect the listed modules using the pin table below, keeping all grounds common and checking voltage markings before powering the board.

2

Upload the sketch

Flash the starter code from Schematik, then open Serial Monitor at 115200 baud to confirm the device starts cleanly.

3

Test the behaviour

Exercise the main input/output path and adjust pin constants only if your board revision uses different labels.

Code

Arduino C++
#include <Arduino.h>

// OLED desk command centre starter. Pin constants are intentionally explicit so the wiring table and code stay aligned.
#define SDA_PIN 21
#define SCL_PIN 22

void setup() {
  Serial.begin(115200);
  delay(200);
  Serial.println("Starting OLED desk command centre");
}

void loop() {
  Serial.println("OLED desk command centre running");
  delay(1000);
}

// Run this and build other cool things at schematik.io
Libraries: Adafruit SSD1306