01 · Concept & Motivation

✦ How It Started?

For many children, nighttime can feel unfamiliar, vulnerable and sometimes even frightening. When the lights go out, ordinary objects can seem different, shadows become larger and the comfort of daytime disappears. This idea emerged from a personal experience with my younger sister, who often felt uneasy when the lights were turned off.

Watching those moments made me wonder whether a lamp could become more than a source of illumination. Could it create a sense of presence? Could light itself become a companion during those quiet moments before sleep?

✦ Project Proposal

Somnia is an interactive ambient lamp designed to provide companionship during nighttime moments through light, holographic visualization and intuitive interaction. By combining digital fabrication, embedded electronics and programming, the project creates a calming environment where light becomes both functional and experiential.

✦ Inspiration & References

The project was inspired by kinetic product design, atmospheric lighting installations, calm technology concepts and Pepper's Ghost holographic systems. Existing references often separate movement from emotional interaction, so this project aims to integrate both into a single cohesive object.

Moodboard
02 · Initial Sketches & Form Development

✦ Initial Sketches & Form Development

Multiple sketches and iterations were developed to explore the relationship between the holographic system and the overall emotional language of the lamp. The final direction evolved toward a soft mushroom-like silhouette with illuminated floating rings and a holographic central structure.

Initial sketches
03 · What Will You Design?

✦ What will you design?

All physical and electronic components are designed from scratch. The following elements were developed during the project:

Enclosure
  • Lamp outer structure
  • Mushroom-inspired form
  • 3D printed parts
Holographic Chamber
  • Acrylic reflector 45°
  • Display housing
  • Laser cut base
⚡︎
Electronics
  • Custom PCB
  • Touch interface
  • WiFi web interface
✴︎
Lighting
  • NeoPixel system
  • Color modes
  • Diffuser dome
04 · Interaction Logic

✦ Interaction Logic

The interaction system was designed to provide a simple and intuitive experience. Through touch and WiFi connectivity, users can control the lamp's lighting and holographic effects, allowing the different visual subsystems to work together as a unified ambient experience.

● OFF ✦ SINGLE TOUCH TTP223 touch sensor ● ON ✦ NEOPIXELS WS2812B ring · pin D6 → Activates on power on → Default: warm white → Ambient ring lighting ✦ Single tap cycles mode cycles color mode ● 1. White light ● 2. Warm light: yellow→orange ● 3. Cool light blue→purple ✦ HOLOGRAM GC9A01 + acrylic mirror → Always active when ON → Pepper's Ghost visual effect → Rotating animation → Image floats in mirror ✦ WIFI CONTROL Web interface → Change LED color & mode → Change hologram animation → Open from phone browser ○ TURN OFF Single touch while ON → LEDs turn off → Display turns off → Returns to OFF state ● OFF
✦ Final Project

Interaction Logic

The lamp operates through two states: OFF and ON. A touch on the TTP223 sensor activates the NeoPixel lighting, holographic display, and WiFi interface. Additional touches cycle through three lighting modes, while the GC9A01 display continuously generates animations for the Pepper's Ghost holographic effect.

05 · 3D Design & Enclosure

✦ Modeling the Enclosure

The enclosure was designed in OnShape / Shapr3D. The mushroom-inspired form references soft organic shapes while maintaining structural rigidity. The lamp is composed of three stacked sections: the upper translucent dome (diffuser), the central holographic chamber, and the lower base (electronics compartment).

:D EXPLODED VIEW
Dome · NeoPixel ring · Structural rings · 45° Reflector · GC9A01 display · Base + PCB
.DOME — top view render

Translucent Dome

PLA in vase mode. Wall thickness 0.8mm for optimal light diffusion without hot-spots.

.CHAMBER — section view

Holographic Chamber

Cylindrical cavity with matte-black interior to eliminate light bleed. GC9A01 sits below facing upward.

.BASE — bottom view

Electronics Base

Laser-cut MDF with PCB mounting points and cable routing channels.

✦ 3D Print Settings

Printer: Bambu Lab — PLA / PETG filament

Layer height: 0.2mm standard · 0.12mm detail (dome)

Infill: 15% gyroid (rings) · Vase mode (dome)

Supports: None — all parts designed support-free

📸 PRINTED PARTS PHOTO — all 3D printed components laid out before assembly

✦ Design Reflection

"The first dome print came out opaque — too thick. Iterating down from 1.2mm to 0.8mm wall thickness gave the right diffusion without losing structural integrity. The mushroom silhouette wasn't planned — it emerged from stacking the ring cross-sections."

06 · Laser Cutting

✦ Cutting the Reflector

Two components were produced on the laser cutter: the acrylic 45° reflector that creates the Pepper's Ghost effect, and the MDF structural base ring. Both were designed in KiCad as 2D profiles and exported as DXF for the Epilog / Trotec workflow at Fab Lab Puebla.

. LASER CUT FILES — KiCad DXF export
Acrylic reflector outline + MDF base ring with mounting holes
📸LASER IN OPERATION — acrylic sheet

Acrylic Reflector

0.5mm transparent acrylic. Low power / high speed to avoid edge melting. Bent to 45° with heat strip.

📸FINISHED PIECES — reflector + MDF base

MDF Base

3mm MDF. Cutouts for PCB standoffs, cable routing, and USB-C power inlet. Sealed with matte black spray.

✦ Process Reflection

"Getting the acrylic reflector angle right took three test cuts. The 45° angle needs to be exact — even 2° off visibly shifts the projected image out of alignment with the chamber center."

07 · Electronics & Custom PCB

✦ Designing the Custom Board

The custom PCB was designed in KiCad and milled on the Roland SRM-20 at Fab Lab Puebla. The board routes all connections from the XIAO ESP32-C6 to the four subsystems: GC9A01 display (SPI), NeoPixel ring (single wire), TTP223 touch sensor, and 5V power rail.

. KICAD SCHEMATIC — full circuit schematic
ESP32-C6 + GC9A01 + WS2812B + TTP223
. PCB LAYOUT — KiCad copper pour + traces + component placement

✦ Pin Mapping — XIAO ESP32-C6

Component Signal XIAO Pin GPIO Notes
GC9A01 DisplaySCL / CLKD8-SPI clock
GC9A01 DisplaySDA / MOSID10-SPI data
GC9A01 DisplayCSD7-Chip select
GC9A01 DisplayDCD5-Data / command
GC9A01 DisplayRSTD6-Reset
NeoPixel RingDIND3-WS2812B data in
TTP223 TouchSIGD2-Digital input
NeoPixel RingVCC5V rail-External 5V 2A
GC9A01 / TTP223VCC3.3V-From ESP32-C6 reg
.PCB MILLING — Roland SRM-20 in progress
.FINISHED PCB — soldered board with all components

✦ PCB Reflection

"The GC9A01 trace routing was tight — SPI lines needed to run together to minimize noise. First mill had a broken trace on the MOSI line; caught it with a multimeter before soldering. Second mill came out clean."

08 · Embedded Programming

✦ Writing the Firmware

All firmware was written in C++ using the Arduino IDE with ESP32 board support (Espressif 3.x). Three libraries drive the main subsystems: TFT_eSPI for the GC9A01 display, Adafruit_NeoPixel for the WS2812B ring, and WebServer for the WiFi interface.

Subsystem 01

GC9A01 Hologram Animation

The display renders a looping animation — a rotating floating orb drawn with polar coordinate math directly on the TFT canvas. All shapes are generated procedurally at runtime to save memory and allow easy parameter tweaks.

. GC9A01 IN ACTION — close-up of display showing animation

Subsystem 02

NeoPixel Color Modes

Three color modes cycle on each touch event: warm white (default), warm yellow→orange (evening), and cool blue→purple (deep night). A gentle breathing animation pulses at 0.5Hz so the lamp always feels alive.

.Mode 1 — White
.Mode 2 — Warm
.Mode 3 — Cool

Subsystem 03

WiFi Web Interface

The ESP32-C6 serves a minimal web page on its local network exposing light mode selector and hologram animation switcher. No app required — works from any phone browser. Designed for one-handed use in the dark.

. WIFI INTERFACE SCREENSHOT — phone browser showing control page

✦ Programming Reflection

"The hardest part was coordinating the display animation with the NeoPixel update without blocking delays. Moving to a non-blocking state machine — tracking elapsed time instead of using delay() — made everything run smoothly and allowed the WebServer to respond correctly even while the animation was running."

09 · System Integration

✦ Putting It All Together

Integration started on a protoboard — all four subsystems connected simultaneously and tested as a unified system before committing to the final PCB. Only after all functions worked together was the PCB milled and the enclosure assembled.

. PROTOBOARD INTEGRATION — all components connected and running before PCB manufacturing

Step 01

Base Assembly

PCB mounted to laser-cut MDF base. USB-C cable routed through the base cutout. Touch sensor affixed to the front face.

Step 02

Display + Reflector Mounting

GC9A01 seated in its printed holder centered below the chamber. Acrylic reflector bent to 45° and clipped into the internal supports inside the cylindrical chamber.

Step 03

NeoPixel Ring + Structural Rings

NeoPixel ring press-fitted into the top structural ring. Wooden dowels aligned and inserted through all three stacked rings to lock the structure.

Step 04

Dome + Final Closure

Translucent dome placed on top. Final functional test: touch to power on, cycle through modes, verify WiFi connectivity, confirm hologram projection alignment.

.ASSEMBLY IN PROGRESS
.HOLOGRAM TEST — Pepper's Ghost effect visible
Validation — Subsystem Status
GC9A01 Display
  • Animation renders at stable framerate
  • SPI communication reliable at 40MHz
  • No dropped frames observed
NeoPixel Ring
  • All 3 color modes working
  • Breathing animation smooth
  • 5V supply adequate for 16 LEDs
Touch Sensor
  • Debounce logic in place
  • Single touch reliably detected
  • No ghost triggers after 30 min test
WiFi Interface
  • Web server functional
  • Occasional latency on mobile Safari
  • Core controls respond correctly
Hologram Effect
  • Pepper's Ghost projection visible
  • Centered in chamber correctly
  • Best in low ambient light
Custom PCB
  • Board functional
  • Minor trace rework on one pad
  • Second revision planned
10 · Materials & Components

✦ What materials and components will be used?

ComponentTypeApplicationMaterial
Seeed XIAO ESP32-C6ElectronicsMain MCU — lighting, hologram, touch, WiFiPCB module
Custom PCBElectronicsConnects and distributes all subsystemsCopper-coated fiberglass
NeoPixel Ring WS2812BElectronicsAmbient RGB lighting — multiple color modes16-LED PCB ring
Round Display GC9A01ElectronicsHolographic animation content1.28" TFT display
TTP223 Touch SensorElectronicsCapacitive touch — power and mode cyclingPCB sensor module
Acrylic Reflector 45°Laser CuttingCreates Pepper's Ghost holographic effectTransparent acrylic 0.5–2mm
BaseLaser CuttingStructural base for electronics + holographic chamberMDF 3mm
Dome Diffuser3D PrintingDiffuses NeoPixel lightingPLA filament
Structural Rings3D PrintingMain visual + structural lamp bodyPLA filament
Internal Supports3D PrintingHold display, reflector and electronics in placePLA filament
Wooden DowelsStructureConnect and align structural ringsWood, 4mm dia
11 · Processes Used
ProcessApplicationTool / Software
2D DesignLaser cutting files, PCB layout, technical drawingsKiCad
3D DesignLamp enclosure, structural rings, internal supports, domeOnShape / Shapr3D
3D PrintingAll printed structural and enclosure componentsBambu Lab, PLA / PETG
Laser CuttingAcrylic reflector, structural base ringsEpilog / Trotec
Electronics ProductionCustom PCB milling and solderingRoland SRM-20
Embedded ProgrammingESP32-C6 firmware — NeoPixel, display, WiFi, touchArduino IDE / C++
System IntegrationAssembly, wiring and functional testingMultimeter
12 · Estimated Cost

✦ Estimated Components Cost

ComponentEstimated Cost (USD)
Seeed XIAO ESP32-C6$8–12
GC9A01 Round Display$5–8
NeoPixel Ring WS2812B$5–10
TTP223 Touch Sensor$1–3
Acrylic Sheets$10–20
3D Printing Filament (PLA)$10–15
MDF + Wooden Dowels$5–8
PCB Materials (FR4)$10–15
Misc (wires, connectors)$5–8
✦ Estimated Total$59–99 USD
13 · Project Timeline
TaskDescriptionTimeline
Protoboard integrationConnect all components and test full system before PCB manufacturingThis weekend
Hologram testTest GC9A01 display with 45° reflector and evaluate holographic visibilityThis weekend
WiFi interfaceDeploy web server on ESP32-C6 and test remote control from phone browserThis weekend
Enclosure modelingContinue 3D modeling of dome, structural rings and internal supportsThis weekend
PCB design in KiCadDesign custom PCB routing all connections into a compact boardThis weekend
PCB fabricationMill and solder the custom PCB at Fab Lab PueblaNext week
Final assemblyAssemble all 3D printed, laser cut and electronic components into the final enclosureNext week
Final documentationComplete all documentation pages and record final project videoFinal week

✦ What questions still need to be resolved?

14 · Gallery
. HERO SHOT — Somnia fully assembled in dark environment, all lights on
.HOLOGRAM CLOSE-UP — Pepper's Ghost projection detail
.NEOPIXEL GLOW — warm mode ambient light from below dome
.COOL MODE — blue/purple light in dark room
.PCB + ELECTRONICS DETAIL
DEMO VIDEO — replace with <video> or <iframe> embed
15 · Final Reflection

✦ Final Goal

The final prototype aims to create a calm interactive object that transforms illumination into an emotional sensory experience through light and holographic atmosphere. Somnia is not just a lamp — it's a presence.

✦ What worked well

The non-blocking firmware architecture. The mushroom form emerging organically from the ring stack. The TFT_eSPI library's performance on the ESP32-C6 at 40MHz SPI — no dropped frames.

✦ What I'd do differently

Design the PCB before the enclosure, not after. The second revision would move the USB-C connector 3mm to align better with the base cutout. And add a real-time clock for a sunrise alarm mode.

✦ Future Directions

"The next version of Somnia would add a real-time clock module for a gentle sunrise simulation — gradually brightening from cool blue to warm white over 30 minutes before an alarm. That would complete the nocturnal companion concept: not just a presence in the night, but a bridge into the morning."

✦ Weekly Assignments Used

Week 8

Week 9

Week 10