Slow motion camera can sometimes be really expensive. In recent years, smart phone devices begin to equip with high speed frame capturing technology: iPhone 6 equips with 240 FPS slow motion recorder to satisfy the need of customers. So we come up with an idea of multiplication: 1 iPhone for 240 FPS, then 4 iPhones for 960 FPS!

What it does

Capture slow motion of fast moving objects.

How I built it

We spend tons of time studying and searching topics relates to Bluetooth, OpenCV and GPUImages frameworks.

Challenges I ran into

  1. Camera shutter timing issue: 1/960 is the minimum accuracy we require to synchronize 4 iPhones without messing up the steps of each iPhone, but the bluetooth communication can sometimes varies a lot depends on the environment and system timing framework still has its accuracy to the threshold accuracy we required.
  2. OpenCV frameworks: lots of unknown expressions of built-in functions, the image stitching process was slowing down.
  3. GPUImage frameworks: weird files layout of framework, sometimes miss the original links to the target class, which requires some courages to read through lines of code.
  4. Objective-C and Swift is sometimes hard translating into each other.
  5. Apple watch is new to us. ## Accomplishments that I'm proud of

We had saved money for people who wants to experience slow motion technology! We had coming up 6 ideas to make sure translating timing data within acceptable accuracy. We use apple watch as our remote controller for each iPhone camera.

What I learned

Skills of solving problem efficiently under large uncertainty of the outcome.

What's next for ixSlowMo Ultra Slow Motion Video Recorder

We are writing a rendering algorithm and it will boost up frame rate 8x faster than what it is right now: 7680 FPS, balloon's explosion will be captured!

Share this project: