CloudBox : Your Private Cloud Companion.

by SUCHIR2004 in Circuits > Wireless

201 Views, 19 Favorites, 0 Comments

CloudBox : Your Private Cloud Companion.

☁️ CloudBox | Battery-Powered DIY Cloud Storage Using ESP32-C6 | Multi-User Local NAS with OLED
ChatGPT Image Jun 18, 2026, 12_41_13 AM.png
WhatsApp Image 2026-06-17 at 6.52.30 PM.jpeg
WhatsApp Image 2026-06-17 at 6.52.18 PM (1).jpeg
WhatsApp Image 2026-06-17 at 6.52.37 PM.jpeg

CloudBox – Your Personal Cloud.

Nowadays, cloud storage services have become an essential part of our digital lives. However, monthly subscriptions are getting more expensive, and many people are concerned about the privacy and security of their personal data. Commercial NAS (Network Attached Storage) systems offer a private alternative, but they are often costly, consume more power, and can be difficult to set up and maintain.

To solve this problem, I created CloudBox – a battery-powered, portable local cloud storage system that is affordable, simple to build, and easy to use. CloudBox allows users to upload and store files securely over a local Wi-Fi network without relying on the Internet. Multiple user accounts can be created, while an administrator panel provides complete control over users and system settings.

CloudBox is more than just a storage device. It features a built-in OLED display that shows the IP address, time, date, and system information. A DHT11 sensor continuously monitors temperature and humidity, while RGB NeoPixel LED can be controlled either through the web dashboard or by using a capacitive touch switch. These LEDs also allow CloudBox to function as a bedside night lamp.

The web interface provides useful information such as total storage usage, number of registered users, current temperature and humidity, and the server IP address for easy access. Despite its compact size, CloudBox delivers features that are often unavailable even in many commercial storage solutions.

Powered by a rechargeable battery and TP4056 charging module, CloudBox can operate independently for 1–2 days and can be easily recharged when needed. Housed inside a custom 3D-printed enclosure, it is a complete all-in-one solution that combines private storage, portability, and smart features into a single device.


Supplies

ChatGPT Image Jun 17, 2026, 10_20_03 PM.png


Electronics

  1. ESP32-C6-LCD-1.47 Development Board × 1
  2. 4 GB MicroSD Card × 1
  3. 0.96" OLED Display (SSD1306, I2C) × 1
  4. DHT11 Temperature and Humidity Sensor × 1
  5. TTP223 Capacitive Touch Sensor Module × 1
  6. WS2812B NeoPixel LEDs × 1
  7. Tactile Push Button × 1
  8. Slide Switch × 1
  9. TP4056 Li-ion Battery Charging Module × 1
  10. 3.7 V Rechargeable Li-ion Battery × 1
  11. Male and Female Header Pins
  12. Jumper Wires

Mechanical Components

  1. Custom 3D Printed Enclosure
  2. 3D Printed Top Cover

Tools Required

  1. Soldering Iron
  2. Solder Wire
  3. Wire Cutter and Stripper
  4. Hot Glue Gun (Optional)
  5. Computer with USB Type-C Cable

Software

CloudBox Web Installer

The firmware can be installed directly from the browser without requiring Arduino IDE.

Web Installer:

https://suchir2004.github.io/ESP32C6-STORAGE-BOX/

Optional Development Tools

  1. Arduino IDE
  2. ESP32 Board Package for Arduino

Libraries Used

  1. LovyanGFX
  2. WiFi Library
  3. WebServer Library
  4. SPI Library
  5. SD Library
  6. FS Library
  7. DHT Sensor Library
  8. Wire Library
  9. Adafruit GFX Library
  10. Adafruit SSD1306 Library

Prepare the MicroSD Card and Flash the ESP32-C6

VID20260616222815-ezgif.com-optimize.gif
Screenshot 2026-06-17 142712.png
Screenshot 2026-06-17 140957.png
Screenshot 2026-06-17 141012.png
Screenshot 2026-06-17 141026.png
Screenshot 2026-06-17 141036.png
Screenshot 2026-06-17 141042.png
Screenshot 2026-06-17 140645.png
Screenshot 2026-06-21 214945.png
Screenshot 2026-06-21 214951.png
Screenshot 2026-06-21 215002.png

Before assembling CloudBox, we first need to prepare the storage and install the firmware onto the ESP32-C6.

1. Format and Insert the microSD Card

CloudBox uses a microSD card to store user files. Before inserting the card into the ESP32-C6, format it to FAT32 using your computer.

After formatting, insert the microSD card into the microSD slot on the ESP32-C6-LCD-1.47 board.

2. Put the ESP32-C6 into Boot Mode

To allow the firmware to be installed, the ESP32-C6 must first enter boot mode.

  1. Press and hold the BOOT button on the ESP32-C6.
  2. While holding the button, connect the board to your computer using a USB Type-C cable.
  3. Release the button after the connection is established.

The board is now ready for flashing.

Note: If no COM port appears on your computer, install the appropriate USB driver (CP2102 or CH340).

3. Open the CloudBox Web Installer

Open the CloudBox Web Installer using Google Chrome or Microsoft Edge:

https://suchir2004.github.io/ESP32C6-STORAGE-BOX/

No additional software is required.

Alternatively, advanced users can upload the firmware manually using the provided main.ino file through Arduino IDE.

4. Connect to the ESP32-C6

Click the Connect button.

A popup window will appear displaying the available COM ports.

Select the COM port corresponding to your ESP32-C6 and click Connect.

5. Install the Firmware

After connecting, two options will appear.

Select:

Install ESP32-C6 Storage Box

A new window will open.

  1. Check the Erase Device option.
  2. Click Next.
  3. Click Install.

The web installer will automatically flash all the required firmware files onto the ESP32-C6.

After a few minutes, the installation will complete and your CloudBox will be ready to use.

There is no need to install Arduino IDE, libraries, or any other software—only the USB driver and a supported browser are required. 😄😄😄

3D Print the Enclosure

WhatsAppVideo2026-06-17at10.51.33PM-ezgif.com-optimize.gif


Before assembling the electronics, we first need to manufacture the enclosure that will house all the components of CloudBox. The enclosure was designed to provide a compact and portable form factor while allowing easy access to the display, sensors, battery, and charging port.

For this project, I used transparent filament to give the enclosure a unique appearance and to allow the NeoPixel LEDs to create a pleasant glow effect when used as a night lamp.


Printing the Parts

Download the attached .stl files and slice them using Bambu Studio or your preferred slicer.

Recommended Print Settings

  1. Material: PLA (Transparent)
  2. Layer Height: 0.20 mm
  3. Infill Density: 15%
  4. Infill Pattern: Grid
  5. Wall Loops: 2
  6. Top Surface Layers: 4
  7. Bottom Surface Layers: 4
  8. Supports: Enabled (Touching Build Plate)
  9. Build Plate Adhesion: Brim (Optional)
  10. Nozzle Temperature: 210°C
  11. Bed Temperature: 60°C
  12. Print Speed: Default Bambu Labs Settings in my case it is 100%.

After printing, remove any support material and verify that all openings align properly with the components, including:

  1. ESP32-C6-LCD-1.47 board
  2. OLED display
  3. DHT11 sensor
  4. TTP223 touch sensor
  5. Push button
  6. Slide switch
  7. TP4056 charging module
  8. Battery compartment

Once all the printed parts have been cleaned and checked, we are ready to begin assembling the hardware inside the enclosure.

Downloads

🔧Connect All the Components

connection.png
Screenshot 2026-05-24 143707.png
Screenshot 2026-06-18 001143.png
Screenshot 2026-06-18 001156.png
Screenshot 2026-06-18 001333.png
Screenshot 2026-06-18 001455.png
Screenshot 2026-06-18 001521.png
Screenshot 2026-06-18 001539.png
Screenshot 2026-06-18 001822.png


Now that the enclosure has been printed, it's time to wire all the components together according to the wiring diagram and connection tables provided above.

Important: Before making any connections, ensure that the slide switch is in the OFF position to prevent accidental shorts or damage to the components.
💡 Note: For better understanding, you can also refer to the connection diagram shown above. It serves as a visual guide for connecting all the components correctly.

Battery and Power Connections

CloudBox is powered by a rechargeable 3.7 V Li-ion battery and a TP4056 charging module.

Battery → TP4056

BatteryTP4056 Pin

  1. Positive (+) -> B+
  2. Negative (-) -> B-

TP4056 → Slide Switch → ESP32-C6

Connection Destination

  1. TP4056 OUT+ -> One terminal of Slide Switch
  2. Other terminal of Slide Switch -> 3V pin of ESP32-C6
  3. TP4056 OUT- -> GND pin of ESP32-C6

This arrangement allows the entire CloudBox system to be turned ON and OFF using the slide switch.

OLED Display

OLED Pin -> ESP32-C6 Pin

  1. SDA -> GP0
  2. SCL -> GP1
  3. VCC -> 3.3V
  4. GND -> GND

DHT11 Sensor

DHT11 Pin -> ESP32-C6 Pin

  1. Data / OUT -> GP3
  2. VCC -> 3V
  3. GND -> GND

TTP223 Touch Sensor

TTP223 Pin -> ESP32-C6 Pin

  1. I/O (Signal) -> GP2
  2. VCC -> 3V
  3. GND -> GND

Push Button

Push Button Pin -> ESP32-C6 Pin

  1. Terminal 1 -> GP9
  2. Terminal 2 -> GND

NeoPixel LEDs

NeoPixel Pin -> ESP32-C6 Pin

  1. DI (Data In) -> GP12
  2. VCC -> 3V
  3. GND -> GND

The GP12 pin is located on the right-side header of the Waveshare ESP32-C6 board.

Test the Circuit

After completing all the wiring:

  1. Double-check every wire using the wiring diagram and connection tables above.
  2. Verify that there are no loose wires or short circuits.
  3. Turn the slide switch to the ON position.
  4. Ensure that all components are receiving power and operating correctly.

Check that:

  1. ✅ ESP32-C6 powers on.
  2. ✅ OLED display lights up.
  3. ✅ Temperature and humidity readings are shown.
  4. ✅ NeoPixel LEDs turn on.
  5. ✅ Touch sensor responds correctly.
  6. ✅ Push button cycles through the OLED screens.
  7. ✅ The battery powers the entire system properly.

😊 Once everything has been tested successfully, turn the slide switch OFF again.

The electronics are now fully tested and ready to be installed inside the 3D-printed enclosure in the next step.

🔩Assemble the Components Inside the Enclosure

IMG20260616232223.jpg
IMG20260616232230.jpg
IMG20260616224604.jpg
IMG20260616225010.jpg

With all the components tested and working properly, it is now time to install them inside the 3D-printed enclosure.

Start by placing each component in its designated position inside the enclosure. Arrange the ESP32-C6 board, OLED display, DHT11 sensor, TTP223 touch sensor, slide switch, push button, TP4056 charging module, battery, and NeoPixel LEDs according to the design of the enclosure.

Once you are satisfied with the placement, secure the components using either:

  1. Super Glue
  2. Hot Glue Gun

Both methods work well and help keep the components firmly in place. Make sure not to apply excessive glue, especially around the connectors, buttons, and charging port.

😊 Tip: A hot glue gun is recommended because it is easier to remove components later if modifications are needed.

Verify Everything Again

Before closing the enclosure, turn the slide switch ON and perform one final check to ensure that all the components are functioning correctly.

Verify that:

  1. ✅ ESP32-C6 powers on properly.
  2. ✅ OLED display is working and changing screens with the push button.
  3. ✅ Temperature and humidity readings are displayed correctly.
  4. ✅ TTP223 touch sensor responds properly.
  5. ✅ NeoPixel LEDs illuminate and can be controlled.
  6. ✅ Battery and charging module are operating correctly.
  7. ✅ The CloudBox web interface is accessible.

After confirming that everything is working as expected, turn the slide switch OFF.

Close the Enclosure

Finally, place the 3D-printed lid on top of the enclosure and secure it properly.

🥳 Congratulations! Your CloudBox hardware assembly is now complete and ready for everyday use.

📶 Configure Wi-Fi and Access CloudBox

WhatsApp Image 2026-06-17 at 6.52.24 PM.jpeg
Screenshot 2026-06-17 233607.png
Screenshot 2026-06-17 233712.png
Screenshot 2026-06-17 233731.png
Screenshot 2026-06-17 233809.png
Screenshot 2026-06-17 233818.png
Screenshot 2026-06-17 234122.png

📶 Step 5: Configure Wi-Fi and Access CloudBox

After assembling the hardware, it's time to connect CloudBox to your Wi-Fi network.

First Boot

When CloudBox is powered on for the first time, it automatically creates a Wi-Fi hotspot with the following credentials:

  1. Wi-Fi Name (SSID): ESP-MEDIA
  2. Password: 12345678

Connect your smartphone, tablet, or computer to this hotspot.

Open the Wi-Fi Setup Page

After connecting to the hotspot, open your preferred web browser and navigate to:

192.168.4.1

A Wi-Fi configuration page will appear.

From this page:

  1. Select your home Wi-Fi network.
  2. Enter the Wi-Fi password if required.
  3. Click the Connect button.

Automatic Reboot

After submitting the Wi-Fi credentials, CloudBox will automatically reboot and connect to the selected Wi-Fi network.

Once connected, the IP address assigned by your router will be displayed.

You can view the IP address in several ways:

  1. 📟 On the OLED display by switching screens using the push button.
  2. 🖥️ On the built-in TFT display of the ESP32-C6-LCD-1.47 board.

Access CloudBox

Open a web browser on any device connected to the same Wi-Fi network and enter the IP address displayed on the OLED or TFT display.

This will open the CloudBox web interface, where you can:

  1. Upload and manage files.
  2. Create multiple user accounts.
  3. Access the administrator panel.
  4. Monitor temperature and humidity.
  5. Control the NeoPixel LEDs.
  6. View storage usage.
  7. Monitor the number of registered users.
  8. Check the current date and time.

🥳 Congratulations! Your portable CloudBox is now connected to your local network and ready to use.

☁️ Accessing CloudBox and Exploring Its Features

Screenshot 2026-06-17 234707.png
Screenshot 2026-06-17 234739.png
Screenshot 2026-06-17 234755.png
Screenshot 2026-06-17 234839.png
Screenshot 2026-06-17 234931.png
Screenshot 2026-06-17 234958.png
Screenshot 2026-06-17 235005.png
Screenshot 2026-06-17 235016.png
Screenshot 2026-06-17 235022.png
Screenshot 2026-06-17 235036.png

Now that CloudBox is connected to your Wi-Fi network, you can access it from any device connected to the same network by entering the IP address displayed on the OLED or TFT display.

CloudBox provides two types of access: Admin Panel and User Accounts.

👨‍💼 Admin Functions

The administrator has complete control over the device and can:

  1. Delete user accounts whenever required.
  2. Synchronize the date and time from the Internet.
  3. Select and set any color for the NeoPixel LEDs.
  4. Monitor the total number of users.
  5. View storage usage.
  6. Manage the overall system.

👤 User Functions

Before accessing CloudBox, users need to create an account.

Creating an account only requires:

  1. Username
  2. Password of the user's choice

After signing in, users can:

  1. Upload files.
  2. Download files.
  3. Manage files stored in their own account.
  4. View image previews directly in the browser.
  5. Preview videos without downloading them.

Each user only has access to their own files, ensuring privacy and security.

🔒 Secure Storage

All files and user information are securely stored on the SD card inside CloudBox. To further enhance privacy, the data stored on the SD card is encrypted and can only be unlocked using the corresponding username and password.

Since everything remains inside the device and on your local network, no third party or cloud provider can access your personal data. Each user's files are isolated from other users, ensuring complete privacy.

Not even the administrator has access to the files stored inside a user's account. Only the owner of the account, using the correct username and password, can view, upload, or download their files.

This makes CloudBox a secure and private alternative to conventional cloud storage services while giving users full ownership and control over their data.

👥 Multi-User Support

CloudBox supports multiple users.

You can add as many users as your storage capacity allows.

For this project, I used a 4 GB microSD card formatted as FAT32, but CloudBox supports larger capacities as well:

  1. Up to 32 GB using FAT32 format.
  2. 64 GB to 1 TB using exFAT format.

This means you can easily expand the storage according to your needs.

🥳 Congratulations! You have successfully built your own portable personal cloud storage system.

CloudBox combines private file storage, multi-user support, environmental monitoring, RGB lighting, battery-powered portability, and an intuitive web interface into one compact device—all without requiring an Internet connection for daily use.

🎉 Conclusion and Future Advancements

WhatsApp Image 2026-06-17 at 7.22.12 PM.jpeg
WhatsApp Image 2026-06-18 at 12.59.32 AM.jpeg

🎉 Step 7: Conclusion and Future Advancements

Conclusion

As we have seen throughout this project, building a personal cloud storage system does not have to be expensive or complicated. With a few affordable components and an ESP32-C6, we were able to create CloudBox — a portable and battery-powered local cloud storage system packed with useful features.

CloudBox supports multiple users, file upload and download, image and video previews, environmental monitoring, RGB lighting, and an administrator panel, all inside a compact 3D-printed enclosure. Since all data remains on the device and is encrypted, users maintain complete ownership and privacy over their files without relying on third-party cloud providers.

This project shows that a simple microcontroller and an SD card are enough to create a practical, secure, and easy-to-use local cloud solution for homes, schools, and small teams.

🚀 Future Advancements

You may have noticed that the TFT display on my ESP32-C6-LCD-1.47 board is unfortunately damaged. Because of this, I decided to use an external OLED display to bring this project to life. I currently do not have a replacement display 😔, but I hope you understand.

Despite this limitation, CloudBox works exactly as intended, and I am happy to share it with the maker community. In future versions, I would love to improve the project even further by adding more features and refining the hardware.

Some future improvements I have in mind include:

  1. 📱 Using a single display for a cleaner and more compact design.
  2. 👆 Replacing the current interface with a touch screen for navigation and additional functions.
  3. ☀️ Making CloudBox solar-powered for completely standalone operation.
  4. 🌐 Enabling secure access from anywhere in the world through the Internet.
  5. 📲 Developing dedicated Android and iOS applications.
  6. 🛡️ Adding two-factor authentication (2FA) for improved security.
  7. 📸 Automatic backup of photos and videos from smartphones.
  8. 🔄 Synchronization and backup between multiple CloudBox devices.
  9. 💽 Supporting larger storage devices such as SSDs and USB drives.
  10. 🧠 AI-powered file organization and search.
  11. 🏠 Integration with Home Assistant and other smart home platforms.
  12. 🌙 More advanced RGB lighting and night lamp effects.
  13. 🔋 Larger battery support for longer runtime.

CloudBox is only the first version, and there are many exciting possibilities ahead. I hope to continue improving it and eventually turn it into a powerful self-hosted cloud platform that gives users complete ownership and control over their digital data.

🥳 Thank you for following along and supporting this project. I hope CloudBox inspires others to build their own private, affordable, and secure cloud storage systems.

CloudBox – Your Personal Cloud, No Internet Required.