DarwinBox: a Pocket Human Evolution Display Using ESP32-C3

by SUCHIR2004 in Circuits > Microcontrollers

178 Views, 2 Favorites, 0 Comments

DarwinBox: a Pocket Human Evolution Display Using ESP32-C3

ChatGPT Image May 1, 2026, 02_14_07 PM.png
DarwinBox | ESP32 OLED Human Evolution Animation (Make It History Project)
Video Project 51.gif
Video Project 5.gif

Before history was written, evolution had already begun.

In the Victorian era, Charles Darwin introduced a theory that reshaped humanity’s understanding of its own existence.

From the first spark of life to the rise of humans, evolution is a story written over millions of years—too vast to witness, yet fundamental to who we are.

DarwinBox captures this journey and compresses it into seconds.

Using a compact OLED display and an ESP32-C3 supermini, this device transforms Darwin’s groundbreaking idea into a living animation—bridging centuries of scientific thought with modern embedded technology.

A story of life, evolution, and progress—now held in the palm of your hand.

Supplies

IMG_20260501_130025.jpg

Electronics

  1. ESP32-C3 SuperMini
  2. SSD1306 OLED Display (0.96", I2C)
  3. TP4056 Charging Module (with protection)
  4. 3.7V 400mAh Li-ion Battery
  5. Slider Switch
  6. Jumper wires
  7. 6 x (M2 x 4mm) screws - (2 x for slidder switch and 4 x for back cover mounting)

Software

  1. Arduino IDE

Mechanical

  1. 3D Printed Enclosure (STL provided)
  2. Screws (small size)

Tools

  1. Soldering iron
  2. Solder wire
  3. USB Type-C cable
  4. 3D printer (or printed parts)

Setting Up Arduino IDE and ESP32 C3

Screenshot 2026-05-01 174215.png
Screenshot 2026-05-01 174737.png
Screenshot 2026-05-01 174754.png
Screenshot 2026-05-01 175030.png
Screenshot 2026-05-01 175049.png
Screenshot 2026-05-01 173707.png
Screenshot 2026-05-01 173801.png
Screenshot 2026-05-01 173848.png
Screenshot 2026-05-01 173903.png
Screenshot 2026-05-01 173918.png
Screenshot 2026-05-01 175220.png
Screenshot 2026-05-01 175348.png
Screenshot 2026-05-01 175417.png
Screenshot 2026-05-01 175706.png

🔌 1. Connect the Board

Connect the ESP32-C3 SuperMini to your laptop/PC using a USB Type-C cable.

📥 2. Download the Code

Download the project files from GitHub:

👉 https://github.com/Suchir2004/HUMAN_EVOLUTION

  1. Download the ZIP file
  2. Extract it on your computer
  3. Open the main.ino file in Arduino IDE

⚠️ Make sure main.ino and frames.h are in the same folder.

⚙️ 3. Set Up ESP32 Board

  1. Open Arduino IDE
  2. Go to File → Preferences
  3. In Additional Board Manager URLs, paste:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json

  1. Click OK

📦 4. Install ESP32 Boards

  1. Go to Tools → Board → Boards Manager
  2. Search for ESP32
  3. Install ESP32 by Espressif Systems
  4. Wait until installation is complete

📚 5. Install Required Libraries

Go to Library Manager and install:

  1. Adafruit SSD1306
  2. Adafruit GFX

🧠 6. Select Board & Port

  1. Go to Tools → Board → ESP32C3 Dev Module
  2. Go to Tools → Port → Select your port. (Example: COM3, COM4, etc.)

▶️ 7. Upload the Code

  1. Click the Upload button
  2. Wait until it shows “Done Uploading”

💡 If upload fails:

  1. Press and hold the BOOT button
  2. Then click upload again

✅ Done!

Your ESP32-C3 is now programmed and ready.

3D Printing the Enclosure

VID20260420163929.gif
Video Project 5 1 1.gif
Video Project 5 1 1 1.gif

To make the project compact and portable, a custom 3D-printed enclosure is used.

📥 Download STL File

Download the enclosure files (STL) provided in this project.

🖨️ Print Settings

You can use the following settings for best results:

  1. Material: PLA
  2. Layer Height: 0.2 mm
  3. Infill: 15–20%
  4. Supports: Not required (or minimal if needed)
  5. Print Speed: Standard (50–60 mm/s)

🧩 Parts to Print

  1. Main Body (with OLED cutout)
  2. Back Panel (bottom case)


Circuit Connections

Screenshot 2026-05-01 185229.png
IMG20260421204601.jpg
IMG20260421202332.jpg
IMG20260421204908.jpg
IMG20260421204525.jpg
IMG20260421205325.jpg
IMG20260421204849.jpg
IMG20260421205748.jpg
IMG20260421205758.jpg
IMG20260421205752.jpg

In this step, we will connect all components including the OLED display, battery, charging module, and ESP32-C3.

🧠 Overview

The system has two main parts:

  1. Display (OLED via I2C)
  2. Power system (Battery + TP4056 + Switch)

📺 OLED Connections (SSD1306)

Connect the OLED to ESP32-C3:

  1. VCC → 3.3V
  2. GND → GND
  3. SDA → GPIO (as defined in the code, GPIO8)
  4. SCL → GPIO (commonly GPIO9)

💡 Make sure SDA and SCL match your code pins.

🔋 Power Connections

Battery → TP4056

  1. Battery + → B+
  2. Battery – → B–

TP4056 → ESP32

  1. OUT+ → Switch → ESP32 VIN (or 5V)
  2. OUT– → ESP32 GND

🔘 Switch Connection

  1. Place the switch between TP4056 OUT+ and ESP32 VIN
  2. This allows you to turn the device ON/OFF

⚠️ Important Notes

  1. Double-check polarity before powering
  2. Do not connect battery directly to ESP32
  3. Use TP4056 for safe charging
  4. Keep wires short and neat for enclosure fitting

Assembly

Video Project 5 1 1 1 1.gif
Video Project 5 1 1 1 1 1.gif
Video Project 5 1 1 1 1 1 1 1.gif
IMG20260421204538.jpg
IMG20260421204534.jpg

In this step, all components are assembled into the 3D-printed enclosure to create a compact and portable device.

🧱 1. Install the OLED Display

Insert the OLED display into the front cutout of the main enclosure, ensuring it sits flush and properly aligned.

🔘 2. Mount the Slider Switch

Insert the slider switch into the designated side slot and securely fasten it using two M2 screws.

🧠 3. Position the ESP32-C3

Place the ESP32-C3 module inside the enclosure behind the OLED display, ensuring sufficient clearance and no stress on the pins.

🔋 4. Secure the Battery

Place the 3.7V battery in the allocated space and fix it using double-sided tape to prevent movement.

⚡ 5. Install the TP4056 Module

Position the TP4056 charging module near the enclosure opening, aligning the USB port for easy access. Secure it using adhesive or mounting support.

🔌 6. Arrange the Wiring

Organize all wires neatly within the enclosure, keeping them short and avoiding overlap with the display area.

🧪 7. Perform a Test Run

Before closing the enclosure, power the device and verify:

  1. OLED display turns on
  2. Message is displayed
  3. Animation runs smoothly

🔩 8. Close the Enclosure

Carefully place the back cover onto the enclosure, ensuring no wires are pinched, and secure it using screws.

You now hold the story of human evolution in the palm of your hand.

Conclusion

When the device is powered ON using the slider switch:

  1. The OLED display lights up
  2. A short message about Charles Darwin is displayed for a few seconds
  3. The screen transitions into an animated sequence
  4. The animation shows the progression from primitive life forms to humans
  5. The sequence loops continuously

Human evolution is the earliest chapter of history—long before civilizations, technology, or written records existed. It is the story that defines who we are.

Inspired by the work of Charles Darwin, DarwinBox transforms this vast and complex journey into a simple, visual experience. What once unfolded over millions of years can now be observed in just a few seconds on a compact OLED display.

By combining Victorian-era scientific discovery with modern embedded technology, this project bridges the past and the present—making a foundational concept of biology accessible, interactive, and engaging.

In a world driven by rapid innovation, remembering the origins of life gives deeper meaning to progress itself.

A small device—telling the greatest story ever lived.


“This project was created as part of the Make It History Contest.”