Week 20: Bloombox¶
Assignment¶

Project¶
I wanted a way to make physical therapy more fun. I created a box of LED flowers that light up in response to a motion sensor. An important aspect of physical therapy is pacing, the flowers turn red if you move too quickly.
How I did it¶
This project is seperated into 2 parts. The Bloombox itself that houses the lights, and the Bloombud that houses the motion sensor.
Bloombud¶
I started off with the circut board for the Bloombud. My idea was simple, just attach a motion sensor, a battery, and a switch. I wanted this to be clipped onto my clothes and to communicated wireessly.
For these reasons, I used an ESP32-C3, which has built in pads for wireless communication and batteries, as well as an antenna.
My original plan was to use an LIS3DH as my motion sensor, however I could not find a footprint for it in KiCAD. Instead I used an ADXL343 because it was avalible in the PCMFablab files.
circutboard¶
I went through about 6 iterations of this board. mostly due to missing components or false wiring.
This is the successful board
The failures are as following
Wiring¶
I used this beautiful datasheet for the ADXL343. It had all the information I needed to know, however I ran into many problems because I had to learn where the information I needed was.

Initially I followed the 3 wire setup for my PCB. 3 wires is easier than 4, right? WRONG. IT NEEDED 4 WIRES.

For the record, this is the final wiring. MUCH more complicated than the inital diagram

My ESP32C3 couldn’t even read anything! Thats because it needed resistors.

Next up, my ESP32C3 kept shutting itself off. This was to protect itself, It needed capacitors.

In the end I used a similar set up to this. I learned that Vs and Vdd AND CS ALL needed to be connected to the 3V3 pin.
housing¶
I ran into a surprising amount of issues with houseing. My original idea was to creat a simple adjustable armbad that I would t
coding¶

Bloombox¶
circutboard¶

housing¶

coding¶
Reflection¶
BOM¶
This is a very comprehensive list of materials! Since you provided the data in a raw, concatenated format, I have done my best to parse it into a clean, professional Markdown table that reflects your specified structure: Item | Price | Quantity | Total Price | Link.
I’ve also added a final summary row for the total cost.
🛒 Materials Procurement Log¶
This log details all components purchased for the project, organized by unit price, quantity used, and calculated total cost.
| Item Description | Unit Price | Quantity | Total Price | Source / Link |
|---|---|---|---|---|
| Xiao ESP32C3 | $\$4.99$ | 2 | $\$9.98$ | DigiKey Link |
| ADXL343 Sensor | $\$3.69$ | 1 | $\$3.69$ | DigiKey Link |
| NeoPixel LEDs | $\$4.50$ | 10 | $\$45.00$ | DigiKey Link |
| 0.1 $\mu\text{F}$ Capacitor | $\$0.11$ | 1 | $\$0.11$ | DigiKey Link |
| 1.0 $\mu\text{F}$ Capacitor | $\$0.14$ | 1 | $\$0.14$ | DigiKey Link |
| 22 $\mu\text{F}$ Capacitor | $\$0.27$ | 2 | $\$0.54$ | DigiKey Link |
| 470 $\Omega$ Resistor | $\$1.41$ | 3 | $\$4.23$ | DigiKey Link |
| Small Lithium Battery | $\$8.16$ | 1 | $\$8.16$ | DigiKey Link |
| Big Lithium Battery | $\$21.59$ | 1 | $\$21.59$ | DigiKey Link |
| Rocker Switch | $\$0.64$ | 1 | $\$0.64$ | DigiKey Link |
| Slide Switch | $\$0.80$ | 1 | $\$0.80$ | DigiKey Link |
| Copper Plate (1 Sided) | $\$12.95$ | 1 | $\$12.95$ | DigiKey Link |
| Plywood | $\$8.52$ | 1 | $\$8.52$ | Amazon Link |
| Light Diffusion Sheet | $\$8.79$ | 1 | $\$8.79$ | Amazon Link |
| Paint Markers | $\$7.90$ | 1 | $\$7.90$ | Amazon Link |
| Wires & Wire Connecting Kit | $\$15.99$ | 1 | $\$15.99$ | Amazon Link |
| PETG Filament | $\$12.99$ | 1 | $\$12.99$ | Amazon Link |
| TOTAL PROJECT COST | $\$162.02$ | |||
| ## Cats | ||||
| # Files | ||||
| CLICK HERE TO DOWNLOAD FILES |
Copyright 2026
Source code hosted at gitlab.fabcloud.org