OLD PS3 CAMERAS NOW GUIDE THESE DRONES
Four second-hand PlayStation Eye cameras, a piece of floppy disk and about 20 dollars give Joshua Bird millimetre-level tracking good enough to fly drones on their own indoors.
by Joshua Bird
RoboticsOpen-hardware
Built withESP32ESP82663D printing
- difficulty
- ●●●●○
- time
- not stated
- license
- MIT
- repo
- repo ACTIVE2,438 stars
●●●●○ · not stated · MIT · 2,438 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
Joshua Bird built a 20-dollar room-scale motion capture system with millimetre-level precision from Sony PlayStation Eye cameras, the PS3 camera released in October 2007, which films 640x480 at 60 Hz or 320x240 at 120 Hz. He bought 8 used cameras for 1 dollars each at CeX; 5 were the right type, and the system uses four. He cut out each camera's pink IR-cut filter and glued floppy disk film over the lens, which blocks visible light, so the cameras only see 3 mm infrared LED markers. He uses it to fly multiple drones autonomously indoors: two drones, each carrying three IR markers. Each drone costs about 50 dollars per his blog; the drone swarm videos he was inspired by used motion capture setups costing tens of thousands of dollars. Code and 3D files are MIT licensed. The hard parts are documented in his own words: converting the cameras is "quite difficult and finicky" with the original lens, the main branch needs OpenCV compiled from source with the SFM module, which the README calls "a bit of a pain", and calibration is only explained in one discussion post. Flight paths are set as waypoints in the web interface.
IN THE REPO
GOOD TO KNOW
- —3D files in the repo: five STL parts for the camera case and swivel mount (arm, ball, top and bottom body, screw) plus STEP and a Fusion 360 file.
- —Code in the repo: Python backend, web interface, and ESP32 sender and receiver sketches.
- —Parts lists with prices for the camera and the drone are in the blog post, not in the repo.
- —No step-by-step build guide: the README points to the YouTube video, the blog post and one discussion post for calibration.
- —Licence: MIT.
- —The main branch requires OpenCV compiled from source with the SFM module.
Parts to buy
7 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
Open Source Motion Capture for Autonomous Drones
Joshua Bird's project video, linked from the README as the main source of information and demo.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Watch the project video (The README says to watch it first for information and a demo.)
- 2.Read the blog post before buying cameras (Which PS Eye type works, how to remove the IR-cut filter, and the camera and drone parts lists.)
- 3.Install the pseyepy library (Listed as a dependency in the README.)
- 4.Compile OpenCV with the SFM module (The README calls this "a bit of a pain" and links this guide.)
- 5.Calibrate your cameras (The post by gumby0q linked in the README explains how camera_params.json is calculated.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- Only the old PlayStation Eye type works with the original lens: curved front lens element, no white ring inside. You often cannot tell from listings; 5 of his 8 cameras were the right type.
- Cut around the pink IR-cut filter and pry it out instead of shattering it. He says this took him about 30 minutes the first time.
- Removing the IR-cut filter shifts the focus, so the lens mount has to be filed down a fraction of a millimetre, checking focus as you go. Skip it and the images are out of focus.
- The main branch needs OpenCV compiled from source with the SFM module, which the README calls "a bit of a pain". The no-cv-sfm branch avoids it but is completely untested.
- Calibration is not documented step by step; the README points to one discussion post about camera_params.json.
- The 3 mm IR LEDs need their surface sanded so they emit light evenly instead of just upward (blog).
Can I use a different camera?
The project is built around the PlayStation Eye and the pseyepy library, which is made for that camera. Other cameras are not covered by the project.
Which PlayStation Eye do I need?
If you keep the original lens: only the old type, with a curved front lens element and no white ring inside the lens. Joshua Bird bought 8 used cameras for $1 each and 5 were the right type. His blog says that with a new night-vision style lens (no IR-cut filter) any PS Eye should work, but he did not try that himself.
Do I need to build the drones?
He built his own: a brushed micro drone with a Betaflight flight controller and an ESP32 that emulates an RC receiver, about $50 each per his blog. Because the ESP32 acts as a receiver, he says the system can be used with any drone and flight controller. The repo has the ESP32 sender and receiver code; the drone parts list is on the blog, not in the repo.
Is calibration documented?
Only partly. The README links one GitHub discussion post by gumby0q that explains how camera_params.json can be calculated for your cameras. The README itself says the documentation is lacking.
Is there an option without compiling OpenCV?
There is an experimental no-cv-sfm branch that removes the OpenCV SFM dependency, but the README says it is completely untested and recommends trying the main branch first.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Four $1 PlayStation Eye cameras, millimetre-level precision and a $20 camera system. What would you track first: drones, or something else?
Joshua Bird
Joshua Bird built this because drone swarm videos all used motion capture setups costing tens of thousands of dollars, and he found little open source motion capture for robotics. His camera system costs about $20 and each of his drones about $50. Build, code and footage: Joshua Bird.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM9d ago
We checked the repository, the README and the blog post. The repo was renamed from Mocap-Drones to Low-Cost-Mocap and old links still work. The most useful document is the blog post: it explains which PlayStation Eye type works and lists the camera and drone parts with prices. The author himself says the code is undocumented and that he would use a new lens instead of the original one if he did it again.