MakerCamp

Yufeng in Shenzhen

I’m Yufeng Zhao, a master’s student at MIT Media Lab in the Future Sketches group. My practice sits at the intersection of data, graphics, and interactivity—building tools and experiences that make visible what’s otherwise overlooked. I came to Shenzhen to explore hardware possibilities I couldn’t access in Brooklyn, and to see Huaqiangbei for myself.

yufengzhao.com


Flexible Camera Array

A modular strip of camera modules that can be bent and flexed while recording synchronized video. Each module is identical, self-contained, and magnetically attaches to a flexible ferrous mat for instant repositioning.

Inspired by Scene Collages and Flexible Camera Arrays (Nomura, Zhang, Nayar — Columbia/Sony, 2007), which used 20 FireWire cameras on bendable plastic sheets to create Hockney-style photo collages. This project reimagines that concept with modern $14 microcontroller camera modules.

   
Flexible camera array from 2007 Scene collage output

Images from the original research. See the demo video.

Concept

6× identical XIAO ESP32S3 Sense modules, each with:

The system captures 24fps video from multiple angles simultaneously (<1ms sync accuracy). Footage can be arranged into video collages that reveal depth and spatial relationships a single camera can’t.

What I actually got done

I spent most of my time debugging ESP32-S3 firmware—getting it to record reliably and sync files over WiFi proved harder than expected. Never made it to a custom PCB. But the design crystallized through the process, and I have all the parts spec’d out. I’ll bring this to life next semester back at MIT.

Flexible mat with ESP32 Proof of concept: flexible ferrous mat with magnetically attached plastic bags. One bag has a XIAO ESP32S3 inside to prove the magnets are strong enough. Imagine the rest are camera modules too.

Bill of Materials

Component Part Price
Camera module XIAO ESP32S3 Sense ~$14
Display SSD1306 0.96” OLED (128×64, I2C) ~$1–3
Interconnect 4-pin magnetic pogo connector ~$2–5/pair
Mounting surface Flexible ferrous sheet (A4) (magnets stick to it) ~$2–5

Specs

Parameter Value
Camera modules 6× XIAO ESP32S3 Sense
Resolution 320×240 (QVGA)
Frame rate 24 fps
Video format MJPEG in AVI container
Sync I2C at 100 kHz, <1ms accuracy
Pogo signals VCC, GND, SDA, SCL

Lenticular Cards / Stickers

I found a vendor in Shenzhen that can produce custom lenticular prints—optionally with adhesive backing, optionally with transparent backgrounds. Perfect for turning GIFs into physical objects.

Early Internet Banner Ads

The first batch: animated web banners from the late 90s and early 2000s, sourced from Banner Depot 2000, a project I built with R.L. Huang. These banners were designed to loop—lenticular animation brings them back to life off-screen.

Banner ad frames Frames extracted from early web banner GIFs

Each sticker has three elements: the Banner Depot 2000 logo, the banner ad (vertically interlaced for animation), and a QR code linking to the banner’s metadata on the site. I made 5 different banners, 100 stickers each.

Lenticular stickers in action

Lenticular stickers in action

Interlaced banner ad

Interlaced version ready for print, generated by vendor software. The line height corresponds to the actual lenticular lens pitch—about 1/4 mm (40 lines per cm).

Media Lab Business Card

An animated business card for MIT Media Lab. The animation is a Box2D physics simulation—logos and text tumbling around—printed as a 12-frame lenticular: 4 frames of vertical motion, 4 static, 4 frames of horizontal motion.

(I’m not showing the full card here—it has my personal contact info and I’d rather not publish that on GitHub forever.)

Lenticular frames 12 frames for the lenticular print

Vendor Notes


All Text in HQB

A searchable 360° panorama viewer for Huaqiangbei electronics markets. Walk through vendor stalls virtually and search for any text—product names, phone numbers, signage—with precise localization on an interactive map.

I wanted this to be a tangible, spatial extension to s.hqew.com—the existing online directory for HQB. Instead of browsing listings, you walk through the market.

This also extends alltext.nyc, my search engine for NYC streetview text, to Shenzhen.

github.com/yz3440/all-text-hqb
panoocr (my OCR pipeline for panoramas)

Demo video

Watch the demo →

Data Collection

I captured 132 spherical images (11K resolution) inside the SEG E-market, mostly on the first floor. Security asked me to stop filming partway through. The raw imagery can’t be shared on GitHub due to size and privacy concerns.

Pipeline

  1. Capture: Walk through the market with an Insta360 X4 at regular intervals
  2. Reconstruct: Agisoft Metashape for photogrammetry—the only software I found that handles spherical image alignment out of the box. 132 images, 35k+ tie points.
  3. Export cameras: Metashape doesn’t export to Colmap format, so I extracted camera positions from the project XML manually
  4. OCR: panoocr with Mac’s built-in Vision framework. Fast, but weak on Chinese characters.
  5. Viewer: React + Three.js web app for search and navigation

Metashape reconstruction Camera positions and 3D reconstruction in Metashape

Web Visualization

The viewer renders three layers:

Bird’s eye map 360° panorama 3D model
Bird's eye 360 view 3D model
Search results on floor plan Immersive view with OCR overlay Text labels in 3D space

Building exterior Building exterior model for context

Known Limitations

I’ll take more pictures in my last few days here and process them with a better algorithm later.


Other Things

There’s a lot I did this month that isn’t hardware—feel free to chat with me to learn more.

Shenzhen, and China in general, is a great distraction. There’s so much you can do here (custom lenticular cards! instant PCB fabrication! any component you can imagine!) that it’s easy to get pulled in ten directions at once. I regret nothing.


Acknowledgments

Thanks to Seeed Studio and Chaihuo Space for hosting, Jon Bo for the HQB project inspiration, and the 2026-01-MIT cohort for being an amazing group.

Making hardware in Shenzhen is important, but not as important as the friends we make along the way.