Personal Project · Embedded Systems / Robotics

Bartender Robot — ESP32 WiFi-Controlled Drink Dispenser

Building a self-contained cocktail machine controlled entirely over WiFi from any phone or laptop

2024  ·  ESP32 / C++

The Idea

The goal was simple: build a robot that can pour drinks on command, with no app to install and no pairing ritual. Walk up, connect to its WiFi network, open a browser, and order a drink. That is the whole experience.

The hardware side — pumps, tubing, motor drivers — is straightforward enough. The interesting problem is the software: how do you give a microcontroller a usable web interface without depending on an external network that may or may not be available at a party?

The robot hosts its own WiFi access point. No router, no internet connection, no app — just connect and order.

Running Its Own Network

Rather than connecting to an existing WiFi network, the ESP32 broadcasts its own access point. Any device in range can join it directly. This keeps the robot fully self-contained — it works anywhere, with no setup required from the user beyond connecting to the network.

Once connected, a web server running on the microcontroller serves a control interface straight to the browser. The entire UI is embedded in the firmware, so there are no files to manage or external dependencies to worry about.

Key Features

📡

Self-Hosted Access Point

The ESP32 creates its own WiFi network. No router needed — guests connect directly to the robot from any WiFi-capable device.

🌐

Embedded Web Interface

The full control UI is served by an asynchronous HTTP server running on the chip itself. Open a browser, get the interface — instantly.

The Technical Stack

The firmware is written in C++ on the ESP32 platform. An asynchronous web server library handles incoming HTTP requests without blocking the main loop, which keeps the robot responsive even while it is mid-pour. The web interface itself is plain HTML and JavaScript, compiled directly into the firmware binary.

WiFi credentials and other runtime configuration are saved to the chip's SPIFFS filesystem — a small flash-based storage partition that survives power cycles. This means the robot can be reconfigured once and remember its settings indefinitely.

What's Next

The current build handles the networking and control layer. The next step is expanding the drink menu, adding flow sensors to measure pour accuracy, and possibly adding a display so guests can see what is being made. There is also room for a proper order queue — so multiple people can submit requests and the robot works through them in order.