-
1CAD Design
![]()
![]()
![]()
The first step of this project was designing the complete enclosure and internal structure of Sentra. I created all the parts from scratch in Autodesk Fusion 360, focusing on clean curves, compact dimensions, proper component clearances, and easy assembly.
Since this camera is designed to be portable and battery-powered, I wanted the body to feel minimal, modern, and product-like rather than looking like a typical DIY electronics project, while keeping the overall design slim and clean.
For inspiration and reference during the design process, I also took ideas from this excellent project by Mukesh Sankhla https://www.instructables.com/Build-a-Voice-Controlled-AI-Assistant-on-ESP32-Usi/
I highly recommend checking it out as well — it’s a beautifully designed and well-documented build.
-
23D Printing
![]()
![]()
![]()
![]()
Once the CAD design was completed, the next step was printing all the enclosure parts. The design consists of three main printed components:
- Main Housing
- Top Cover
- Button Extension
For this build, I chose a gray PLA filament because it gives the camera a clean and modern product-like appearance while still being easy to print with high dimensional accuracy. PLA is a good choice for achieving smooth surface quality and maintaining the tight tolerances needed for proper assembly.
-
3Spekar Assembly
![]()
![]()
The next step was installing the speaker inside the enclosure. I first trimmed the speaker wires to a suitable length and added a little extra wire to make the final assembly easier and cleaner.
After that, I removed the adhesive backing from the speaker and carefully placed it into the dedicated mounting area inside the main housing. I applied a small amount of pressure to secure it properly in position.
-
4Battery Assembly
![]()
![]()
The next step was installing the battery into the enclosure. First, I soldered two wires to the battery terminals to make the power connection easier during the final electronics assembly.
The top cover was already designed with a dedicated battery compartment in Autodesk Fusion 360, so the battery fits neatly into place without wasting internal space. After positioning it inside the slot, I used a small amount of glue to secure it firmly.
-
5Charging Module Connection
![]()
![]()
![]()
The next step was connecting the battery to the charging module. First, I soldered the battery wires to the correct positive and negative terminals on the module, making sure the polarity was connected properly to avoid damaging the circuit.
After that, I soldered another pair of wires to the 5V output terminals of the charging module. These output wires will later be used to power the main ESP32-S3 board inside Sentra.
-
6Configure Code
Sentra Github Repositorie
![]()
Before uploading the code, you need to configure your Wi-Fi credentials and timezone inside the source Code. Simply replace the placeholder values with your own Wi-Fi network name and password:
#define WIFI_SSID "Your SSID" #define WIFI_PASS "Your Pass" #define TZ_OFFSET_SEC -28800 // UTC-8 Pacific Standard Time (PST)The timezone value is used for timestamps, recordings, and system time synchronization. You can change it depending on your region.
-
7Uploading Code
Before uploading, make sure the following board settings are selected correctly inside the Arduino IDE:
- Board: ESP32S3 Dev Module
- PSRAM: OPI PSRAM
- Flash Size: 16MB (128Mb)
- Partition Scheme: Huge APP (3MB No OTA / 1MB SPIFFS)
- USB CDC On Boot: Enabled
- CPU Frequency: 240 MHz
- Upload Speed: 921600
The PSRAM and Flash Size settings are especially important because Sentra uses large buffers for video streaming, SD recording, and real-time processing. Incorrect settings may cause crashes, boot loops, or camera initialization failures.
Once everything is configured, connect the ESP32-S3 board using a USB cable, select the correct COM port, and upload the code. After flashing successfully, open the Serial Monitor to view the device IP address and system status.
-
8Control Dashboard
![]()
To make Sentra feel like a complete smart product, we designed a modern web-based dashboard with a clean interface and real-time controls.
Simply open the dashboard, enter the camera's IP address, and connect instantly. It Designed with a modern and responsive layout, the interface works seamlessly across smartphones, tablets, and desktops, giving Sentra a polished and professional user experience.
You can view the live camera feed and monitor important information such as motion activity, battery level, ambient light, sound level, recording status, SD card usage, and night vision status in real time.
The dashboard also provides quick access to features like recording control, voice announcements, siren mode, and infrared lighting, making it easy to manage the camera from anywhere on your local network.
-
9ESP32 S3 Camera Assembly
![]()
![]()
The next step was installing the ESP32-S3 camera board into the main housing. I placed the board into the dedicated mounting position, and after positioning the board, I connected the speaker using its JST connector
The enclosure was designed to support standard screw mounting using 4 small screws for a secure installation. Since I did not have the screws available at the moment, I used a small amount of super glue to hold the board carefully in place for now.
-
10Charging Module Assembly
![]()
![]()
![]()
After preparing the charging module earlier, I carefully placed the module into its dedicated position and aligned the USB Type-C connector with the cutout on the side of the housing so the camera can be charged easily from outside.
Once the module was positioned properly, I connected the two 5V output wires from the charging module to the main board’s power input terminal, making sure the polarity was correct before powering the system.
The Spanner




















Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.