System Integration
Final Project – PixelCam
A vintage-style digital camera that captures photos and turns them into pixelated images using an LED matrix. Inspired by old-school film cameras but with a fun digital twist.
A. What’s the idea?
I wanted to build a camera that feels like those old film ones—no screen, no live preview, just a simple viewfinder. You look through it, click, and wait to see what you got. But instead of developing film, this one shows a pixelated version of the photo on an LED matrix for a few seconds and also saves the image to an SD card.
The fun part is the surprise—each image becomes this funky, colorful, low-res version of reality. It’s more about the experience and play than capturing perfect pictures.
B. How it works
-
Look through the viewfinder (just a tiny window with a lens, like old cameras).
-
Press the shutter button to capture a photo using the OV2640 camera.
-
The ESP32 processes the image and turns it into a pixelated version.
-
The LED matrix lights up to show the pixelated image behind a diffuser.
-
The photo (original or resized version) is saved on the SD card.
C. What’s going inside (electronics list)
Component | Purpose |
---|---|
ESP32-S3 | Main controller. Captures image, pixelates it, and sends data to LED. |
OV2640 camera module | Takes the photo when you press the button. |
MicroSD card module | Saves both the original and pixelated images. |
WS2812 8x8 or 16x16 LED Matrix | Displays the pixelated image in a colorful, low-res format. |
Momentary push button | Works as the shutter. One click to capture the image. |
Diffuser sheet | Softens the LED matrix display for smoother visuals. |
Li-ion battery + TP4056 charger | Rechargeable power supply for the whole system. |
Switch | Turns the camera on and off. |
Voltage regulator (if needed) | Ensures safe voltage levels for ESP32 and LEDs. |
D. Physical form
-
The camera body will be 3D printed to get the classic chunky vintage shape.
-
laser-cut side panels, maybe in wood or black acrylic, to give it that retro finish.
-
The camera lens will be a fake barrel with the actual camera module hidden inside.
-
The LED matrix will sit behind a frosted diffuser to make the pixel display soft and glowy.
-
There’ll be a working viewfinder, so the user still gets that “look-and-click” feeling.
Few initial Concept
E. Methods of packaging
Since this is a personal project, I want the packaging to be simple, protective, and stylish—something that feels nice to hold and looks clean on the outside.
Aiming:
-
Sleek and minimal – Clean lines, no extra bulk, and a small footprint.
-
Lightweight – Easy to carry around or slip into a bag.
-
Protective – It should keep the camera and screen safe from scratches or damage.
-
Visually clean – A sharp, smooth look that matches the project vibe.
Plan:
-
3D print the base – This allows for precise fitting of the components inside. I’ll include small holders or grooves to keep the camera and electronics from shifting.
-
Might add foam or soft lining inside for a gentle cushion effect.
-
For the outer sides, especially the straight walls, I’m considering laser cutting acrylic or plywood. This will give the packaging a very straight and sleek edge, which sometimes 3D printing doesn’t get as sharp.
-
The base and laser-cut panels will be assembled together – combining strength and clean finish.
-
For the top or outer layer, I’ll stick a custom vinyl sticker to add a personal design, project name, or photo pattern.
-
The lid may be sliding or magnet-based, depending on how compact I want it.
Why This Approach?
-
3D printing gives flexibility in shape and internal structure.
-
Laser cutting gives sharp, smooth edges—good for visible sides.
-
The combo of both methods allows me to balance function and appearance.
-
It’s easy to build and rebuild, and I can keep materials light (like PLA or thin acrylic).
In the end, I want the packaging to be something that feels designed, not just stored—functional but also creative and thoughtful.
F. Components Inside Camera Body
Component | Approx Dimensions (cm) | Placement in Camera Body |
---|---|---|
ESP32-S3 (XIAO) | 2.1 × 1.7 × 0.5 | Mounted flat on base or side |
OV2640 Camera Module | 2.5 × 2.5 × 1.5 | Mounted on front panel (lens) |
MicroSD Card Module | 2.8 × 2.4 × 0.8 | Near ESP32, wired to side |
Li-ion Battery (500mAh) | 4.0 × 3.5 × 0.5 | Bottom layer (flat) |
TP4056 Charging Board | 2.6 × 1.7 × 0.4 | Near battery, USB exposed edge |
Push Button (shutter) | 1.2 × 1.2 × 0.5 | On top or front of body |
Power Switch (optional) | 1.5 × 0.6 × 0.5 | On side panel |
G. What makes it different
-
No fancy display or editing—just one button and one pixelated output.
-
Keeps the mystery of photography alive—like waiting for film to develop.
-
It’s more about interaction and fun than capturing perfect shots.
-
Combines old analog camera aesthetics with a playful use of microcontrollers.
H. Why I’m building this
I’ve always loved photography. There’s something magical about old cameras—the mechanical click, the viewfinder, the surprise of the final image. This project mixes that feeling with what I’ve been learning: ESP32, sensors, LEDs, 3D printing, laser cutting. It’s personal, experimental, and makes me smile
Timeline
Date Range | Detailed Tasks Done / Planned |
---|---|
May 18–19 | Brainstormed project direction. Decided to make a pixelated photo camera with no screen. |
May 20–21 | Explored ESP32-S3 and OV2640 camera possibilities. Sketched rough ideas of how camera looks. |
May 22–23 | Chose two-body setup: one camera unit + one LED display. Finalized no-preview, vintage concept. |
May 24–25 | Finalized physical size: 10 cm x 4 cm for camera. 4 cm x 4 cm for LED display unit. |
May 26–27 | Listed all electronics needed. Measured each part to plan fit inside camera case. |
May 28–29 | Documented system flow: capture → pixel → show → store. Made tables for each unit’s parts. |
May 30–31 | Finalized visual layout, where LED display will go, how camera will connect. Created timeline. |
June 1–2 | Start 3D modeling camera and LED box in Fusion or Onshape. Add slots for camera, button, SD. |
Print test fit model or cardboard mockup to check size and fitting of components. | |
June 3–4 | Assemble camera body: ESP32 + OV2640 + SD card + push button + power circuit. |
Write camera code: on button press → take photo → save to SD. | |
June 5–6 | Assemble LED display body: place NeoPixel matrix + diffuser + wires. |
Write code to pixelate image and light up NeoPixels with the effect. | |
June 7–8 | Integrate both parts. Add final casing. Test and debug. |
Take photos, record videos, and write final documentation for submission. |
Key Focus Points
June 1–2: CAD model + rough fit testing
June 3–4: Build camera function (photo + save)
June 5–6: LED pixel visual (image to color matrix)
June 7–8: Wrap up, polish, and present