As you all know, Halloween is coming soon! This is one of the most fun and exciting festivals of the year. Everywhere you look, people are preparing for it, making creative costumesdecorating their homes with spooky and scary decorations, and designing strange props to wear or display. The whole atmosphere becomes playful yet a little creepy, which makes it so enjoyable.

Buy This 🛒: Tindie

By the way, Subscribe to my YouTube channel for more projects like this. I also update my upcoming projects on Instagram.

buy me a coffee! ☕: Donate

For me, Halloween is extra special because I am a maker. Whenever this season comes, my head fills up with dozens of new ideas for projects. Sometimes it’s decorations, sometimes it’s costumes, and sometimes it’s props. But this year, I reminded myself: focus on building one thing at a time. That way, I could create something more polished and meaningful instead of jumping from one idea to another.

The story of this project really began with one of my earlier builds. I uploaded an Uncanny Eye Pendant, and in the comments, someone suggested that I should try making a Trapped Soul Pendant. The idea immediately caught my attention. When I searched about it online, I found it both spooky and fascinating. That’s when I thought to myself: Why not take this concept further? Why not make the soul inside the pendant feel real, alive, and struggling to escape?

And so, my project was born: SoulCage – The Digital Trapped Soul Pendant. This pendant doesn’t just look scary; it contains animated souls inside. The soul is always moving, always trying to escape from the pendant. To make it even more interesting, there are actually two souls: one male and one female. By pressing the side button, you can switch between them. The male soul is aggressive and furious, he bangs at the glass as if he’s desperate to break out. The female soul is calmer, quiet, and patient, as if she is waiting for the right moment to be released by the owner. Together, they make the pendant feel alive in a creepy yet fun way.

The build itself is simple and easy, even for beginners. It is made from only a handful of components, almost like putting LEGO bricks together. The heart of the device is the Waveshare ESP32-S3 Round Display, which drives the animations of the souls. Everything is enclosed in a 3D-printed case that also holds the battery and a small switch. The switch works in two ways: it turns the device on or off, and it also lets you change which soul is shown inside the pendant.

So, what looks like just a small spooky accessory is actually a tiny digital device with personality and story. It’s wearable, fun, and guaranteed to get attention during Halloween.

Halloween is celebrated on October 31st every year. It started hundreds of years ago with the Celtic festival of Samhain, when people believed that on this night the boundary between the living and the dead became very thin. To protect themselves from wandering spirits, people would light bonfires and wear costumes. Over time, this tradition mixed with other cultures and became the modern Halloween we know today—filled with costumes, decorations, spooky fun, and of course, lots of candy!


Supplies

COMPONENTS:

TOOLS:

Waveshare ESP32-S3 Round 1.28-inch Display

The Waveshare ESP32-S3 LCD 1.28-inch board is a compact and powerful microcontroller module, perfect for wearable and portable projects. At its core, it uses ESP32 with built-in Wi-Fi and Bluetooth 5 for wireless connectivity. It includes 512 KB SRAM, 2 MB PSRAM, and 16 MB Flash memory for smooth performance. The standout feature is its 1.28-inch round IPS display with 240×240 resolution and rich 65K colors. Other highlights include a Type-C connector, lithium battery management, and a 6-axis motion sensor, making it versatile, low-power, and easy to integrate into creative digital projects.

CNC Metal Case

Waveshare also provides a CNC-machined metal case for the board. The case is designed with precise cutouts, giving a perfect fit for the 1.28-inch display and the Type-C port. The sleek black metal finish not only protects the device but also gives it a premium and professional look, making the pendant feel more like a finished product than just an electronic project.

3D Printed Back Cover

The CNC metal case provided by Waveshare is great, but it does not have space for a battery. To solve this, I designed and made a custom back cover for the case. This cover not only holds the battery securely but also gave me the freedom to add a hook at the top. With this hook, a pendant chain can be attached easily, so the user can wear the SoulCage comfortably around the neck. This small modification turned the electronic board into a true wearable accessory.

3.7V 950mAh Lipo Battery

For this project, I chose a 3.7V 950mAh battery, which fits perfectly inside the custom back cover. This battery provides a good amount of backup time, allowing the user to wear the pendant for hours without worrying about frequent recharging. In the market, there are many types of lithium batteries available in different shapes, sizes, and capacities. So depending on your design, you may find a battery that fits even better, with either lower or higher capacity, to match your specific needs.

Mini SPDT Slide Switch

mini SPDT switch is placed at the bottom of the 3D-printed back cover. The switch is designed to fit perfectly into a slot, so there’s no need for screws or extra mounting hardware—it simply slides into place and stays secure. This switch plays an important role in the pendant. It not only powers the device on and off but also allows the user to switch between the two trapped souls: the aggressive male soul and the calm female soul. This simple control adds a lot of interactivity to the pendant while keeping the design compact and user-friendly.

MX1.25 2P connector

The MX1.25 2P connector is used to connect the battery to the board. The Waveshare ESP32-S3 round display comes with a built-in 1.25 2P male connector, so the battery needs a matching female connector attached. This makes it easy to plug the battery directly into the PCB without soldering every time. Using the proper connector ensures a secure and reliable connection while also making the battery simple to replace or upgrade in the future.

Heat Shrink Sleeve Tube

Heat Shrink Sleeve Tube (1mm) is a thin plastic tube that shrinks tightly when heated, usually with a heat gun or the side of a soldering iron. It is commonly used in electronics to cover and insulate exposed wires or solder joints, protecting them from short circuits and giving a cleaner look. For this project, the 1mm size is perfect for small battery wires and connectors. It not only improves safety but also makes the overall build look neat and professional.

Designing the Custom Back Cover in Tinkercad

I designed a 3D-printed back cover for this project that fits perfectly with the CNC metal case. The design was created in Tinkercad, an easy-to-use online 3D design tool.

The back cover is made in such a way that the battery can snap-fit inside without the need for screws or glue. In the same way, I created a slot for the mini slide switch, so it can easily slide into place and stay secure, again with no extra mounting required. Finally, the back cover attaches to the CNC case using the original screws that come with the case, making the whole assembly neat and reliable.

STL with support : https://www.tinkercad.com/things/iuLhoR2B9iq-soulcage-with-support

STL without support : https://www.tinkercad.com/things/izTjHNzJxj2-soulcage-without-support

3D Printing the Back Cover

Printing Details:

Removing Original Back Cover

The original back cover of the CNC metal case for the Waveshare ESP32-S3 round display is made from a sheet of black acrylic. This cover protects the electronics and gives the case a smooth and professional finish. It is firmly mounted on the back of the CNC case with three small screws, which hold the acrylic plate securely in place.

Before replacing it with the custom 3D-printed back cover, we first need to remove this acrylic piece. Take a small screwdriver that fits the screws properly, using the wrong size may damage the screw heads. Slowly and carefully unscrew them one at a time. Don’t rush, and hold the case steady so that the display does not get scratched or damaged while you are working.

As you remove each screw, place it somewhere safe, like in a small container or on a magnetic screw pad. This is important because we will reuse these exact screws later when attaching the new back cover. If you lose even one screw, the back cover may not fit tightly, so keeping them safe right from the start saves you from trouble during reassembly.

Once the three screws are removed, gently lift the acrylic back cover off the case. You will now see the PCB, battery connector, and the inside of the CNC housing exposed. With the acrylic cover out of the way, The device is ready for the modifications.


Setting Up the TFT_eSPI Library

To run the graphics on the round LCD screen, we need the TFT_eSPI library. This library is designed to drive many different displays, so we must configure it properly to work with the Waveshare ESP32-S3 Round Display (No Touch). Follow the steps below to install and set it up.

1. Installing the Library

2. Setting Up the Library

#include <User_Setup.h>
#include <User_Setups/Setup303_Waveshare_esp32s3_round_no_touch.h>

That’s it! Now the library will use our custom setup file for pin configuration, and your display will work correctly with the SoulCage project.

Programming the Device in Arduino IDE

Now that the library is configured, we will program the device. This step verifies that all of our previous setup is correct and that the SoulCage display works as expected. Follow the instructions below carefully:

Github https://github.com/vishalsoniindia/SoulCage---The-Digital-Trapped-Soul-Pendant

Making Small Modifications to the PCB

At first, I thought putting the ESP32 into deep sleep mode would be enough to reduce current consumption down to about 10 µA. However, the PCB has several other components that continue drawing current even when the ESP32 is asleep, so the power usage never dropped as expected.

To solve this, I decided to add a switch that disconnects the main power supply of the PCB while still allowing the charging circuit to work. For this, I made a small cut on the EN pin of the ME6217C33M5G LDO regulator and wired it through the switch.

But this still did not fully solve the problem. When a USB cable was connected, the CH343P USB-to-serial chip continued converting 5V to 3.3V and supplying it to the same rail. This caused the display to flicker when the device was turned off but charging. To fix this, I also had to cut the V3 trace (pin 6) of the CH343P.

During testing, I found another source of unnecessary current draw. The voltage divider used to detect battery level was constantly consuming around 20 µA, even when the device was not in use. I simply removed resistors R4 and R7 (as shown in the image). After doing this modification, the standby current dropped significantly, down to about 1.5 µA.

Once these two cuts are made, the switch can completely disconnect power from the PCB without affecting charging, and the display will no longer flicker when the USB cable is plugged in.


Soldering the Mini SPDT Switch & Battery Connector

In this step, we will solder two important components: the mini SPDT switch and the battery connector. Follow the instructions carefully.

Soldering The Mini SPDT Switch

Soldering The Battery Connector


Testing

Once both the switch and connector are soldered:


Cleaning the 3D Print for Assembly

The 3D-printed back cover includes some support structures to ensure accurate printing. Before assembly, these supports need to be removed and the part cleaned.


Final Assembly

Now it’s time to assemble all the components so the SoulCage pendant is ready to use. Follow these steps carefully:

Once this is done, the device is fully assembled. we will do the final testing in the next step to confirm that everything is working correctly.


Using the Device

After completing all the previous steps, your SoulCage pendant is ready to use. Here’s how the device works and how to control it:

With these simple controls, you can enjoy the trapped souls animation and switch between the male and female souls whenever you like.


Current Test & Battery Life Prediction

To estimate how long the battery will last, I tested the device in two different states and used the Digi-Key Battery Life Calculatorfor predictions.

This means that after fully charging the battery, the pendant can be used comfortably all day without worrying about recharging. The combination of low standby current and moderate active current makes it very efficient for wearable use.


Improvements & Future Ideas

The SoulCage pendant is fully functional, but there’s always room to add more features and creativity. Here are some ideas for future upgrades:

These upgrades could make the SoulCage pendant even more interactive, personalized, and engaging for users while keeping it wearable and fun.

By the way, Subscribe to my YouTube channel for more projects like this. I also update my upcoming projects on Instagram.

buy me a coffee! ☕: Donate