Quaddle is a beginner-friendly, Wi-Fi-controlled quadruped robot powered by an ESP8266 or ESP32 microcontroller. Designed to be the "world's simplest" robot dog, it utilizes a 1-DOF (Degree of Freedom) design per leg, eliminating the need for complex inverse kinematics or heavy mathematics. Quaddle hosts its own built-in web interface and also includes an optional Android app, allowing you to control it seamlessly from any device.
- Features
- Repository Structure
- Bill of Materials (BOM)
- Circuit & Wiring
- 3D Printing & Assembly
- Software Installation
- Usage & Control
- Interfaces
- Simple Hardware: Uses only 4 micro servos (SG90) and common, affordable components.
- Wi-Fi Control: Fully controlled via a lightweight, mobile-friendly web interface hosted directly on the ESP.
- Dedicated Android App: Includes a pre-built Android APK (
Quaddle.apk) for dedicated smartphone control. - No App Required: Works on any device with a modern web browser via its IP address.
- Easy Assembly: Fully 3D printable chassis with snap-in designs for the servos and components.
- Pre-programmed Animations: Includes actions like moving, turning, waving, sitting, and tail shaking!
Quaddle/
├── QuaddleCode/ # Arduino source code (C++) for the ESP8266/ESP32.
├── Quaddle_STL/ # 3D models (STL files) and Blender source files for printing the robot.
├── QuaddleApp/ # Android application APK for controlling the robot.
├── codeDirectWifi_v1.ino/ # Alternative Wi-Fi code (Direct AP mode).
├── SchematicPro.png # Circuit diagram for wiring components.
└── README.md # Project documentation.
| Component | Description / Specification |
|---|---|
| Microcontroller | NodeMCU (ESP8266) or ESP32 Development Board |
| Actuators | 4x SG90 Micro Servos |
| Power | 3.7V LiPo Battery (18650 or similar) |
| Charging Module | TP4056 Module with Battery Protection |
| Voltage Regulation | 5V Step-Up (Boost) Converter (for servos & ESP) |
| LEDs | 2x LEDs (for Quaddle's "eyes") |
| Capacitor | 1500µF or similar (placed on servo power line to smooth startup current spikes) |
| Switch | SPDT Slide Switch |
| Hardware | Jumper wires, small screws for servos |
Here is the general schematic representation to help you connect all the components correctly:
| Component | ESP Pin | Notes |
|---|---|---|
| Front Left Servo | D1 |
|
| Front Right Servo | D2 |
|
| Back Left Servo | D3 |
|
| Back Right Servo | D4 |
|
| Left Eye LED | D7 |
Connect with appropriate current-limiting resistor. |
| Right Eye LED | D8 |
Connect with appropriate current-limiting resistor. |
Note: Ensure the servos are powered directly from the 5V boost converter output, NOT from the ESP's 3.3V logic pins. Connect the common ground!
All necessary 3D models are located in the Quaddle_STL folder.
- You can print individual parts or use the provided
all_in_one_quaddleSTL files. - Recommended Settings: 0.2mm layer height, 15-20% infill, PLA or PETG. No supports required for most parts.
- Check the original Blender (
.blend) files included if you wish to modify the design.
-
Install the Arduino IDE.
-
Install the ESP8266 or ESP32 board manager in the Arduino IDE.
-
Open
QuaddleCode/QuaddleCode.inoin the Arduino IDE. -
Locate the Wi-Fi configuration section at the top of the code and update it with your network credentials:
const char* ssid = "YOUR_WIFI_SSID"; const char* password = "YOUR_WIFI_PASSWORD";
-
Connect your ESP board via USB.
-
Select the correct board (e.g., NodeMCU 1.0 (ESP-12E Module)) and COM port from the Tools menu.
-
Click Upload to compile and flash the firmware.
- After a successful upload, open the Serial Monitor in the Arduino IDE.
- Set the baud rate to
115200. - Press the RST (Reset) button on the ESP board.
- Wait for it to connect to your Wi-Fi network. Once connected, it will display an IP Address (e.g.,
192.168.4.1). - Ensure your phone or PC is connected to the same Wi-Fi network.
- Open a web browser and navigate to the displayed IP address.
- You will see the Quaddle control interface. Enjoy driving your robot!
(If the robot remains idle for 3 minutes, it will automatically play a "shake tail" animation!)
Control Quaddle directly from any browser! The web interface is lightweight and mobile-friendly:
If you prefer a native application, a pre-compiled Android App is provided.
- Navigate to the
QuaddleAppdirectory. - Download and install
Quaddle.apkon your Android device. - Open the app, configure it with your ESP's IP Address, and start controlling Quaddle!


