HOSPITAL RETINAL CAMERAS COST 10,000 DOLLARS AND UP. THIS OPEN-SOURCE BUILD AIMS TO DO IT FOR UNDER 400

A 400 dollars open-source fundus camera that photographs the retina for diabetic blindness screening, built to work where clinic hardware never will.

by OIO team, LV Prasad Eye Institute

FULL CAD BOM FIRMWARE DOCS

HealthOpen-hardware

Built withRaspberry Pi3D printing

difficulty
●●●●○
time
several weekends
license
MIT
repo
repo FINISHED11 stars
1
Jump to section

COMPAREE VERDICT

The Open Indirect Ophthalmoscope is a serious medical imaging prototype built for places that will never see a commercial fundus camera. It was developed by a team at LV Prasad Eye Institute in India and takes retinal photographs aimed at diabetic retinopathy screening. The team's target is under 400 dollars versus 10,000-25,000 dollars for commercial equivalents, but this is not a weekend project. You are fabricating a custom PCB, sourcing optical parts by specification, printing a housing, laser-cutting an acrylic optics box, and positioning optics precisely. The build guide is on Instructables and the team logged retinal images from two working prototypes, but expect to spend time hunting down the correct lenses, and note that the prototypes only worked through a dilated pupil. The single thing most likely to go wrong is the optics: if you substitute a lens or get the focal length wrong, the image will not form. This is a build for someone who has done precision opto-mechanical work before, or who is willing to learn it slowly. It is a research and education device, not a certified diagnostic tool.

GOOD TO KNOW

  • —Full Solidworks CAD files and 3D-print files are downloadable from the Hackaday.io project page
  • —PCB Gerber files for the Raspberry Pi shield are on the Hackaday.io project page
  • —Python camera and GUI software with an install script, written for Raspbian Wheezy on a Pi 2B/3B (Python 2.7, OpenCV 2.4).
  • —Step-by-step build instructions are on Instructables (linked from Hackaday.io), with 24 project logs on Hackaday.io
  • —Bill of materials lists optical components by part number, but suppliers are not specified for all parts
  • —The software repository is MIT licensed, and the Hackaday.io project page states that the work is licensed under Creative Commons Attribution 4.0 International, so both allow reuse, including commercial, with attribution.

Parts to buy

9 items

From our check of the build. Exact quantities and part numbers are in the creator’s BOM.

  • Raspberry Pi 3B (the software was tested on 2B/3B)Find
  • M12-mount Pi cameraFind
  • Custom Pi shield PCB (fabricate from Gerbers)from the repo files
  • 20 dioptre condensing lensFind
  • Two 50×50 mm front mirrorsFind
  • LED illuminationFind
  • Touch displayFind
  • Power supplyFind
  • FastenersFind

BUILDS OF THE WEEK

Five open-source builds worth your weekend, every week.

Checked like this one: what’s really in the repo, what it costs, how hard it is. One email, unsubscribe anytime.

Can I build this?

PrintHousing, eyepiece and camera mount — the team printed one in PLA on an FDM printer and one in SLS nylon, and both worked
BuyRaspberry Pi 3B (the software was tested on 2B/3B), M12-mount Pi camera, custom Pi shield PCB (fabricate from Gerbers), 20 dioptre condensing lens, two 50×50 mm front mirrors, LED illumination, touch display, power supply, fasteners
Tools3D printer, access to a laser cutter (or cutting service) for the acrylic optics box, PCB fabrication or assembly service, soldering iron, basic hand tools, multimeter for board testing
SkillsIntermediate electronics and PCB assembly, precision mechanical assembly and optical alignment, some experience with Raspberry Pi imaging - optics knowledge is the hard requirement
TimeSeveral weekends - PCB fabrication takes 1-2 weeks, mechanical assembly is straightforward, optical alignment and calibration will take an afternoon minimum and possibly several attempts
Cost$$ (under 400 dollars total) - dominated by optical components and custom PCB fabrication, Raspberry Pi and camera module are standard cost
SafetyYou are shining light into a dilated eye. The project publishes no light-exposure safety assessment, so keep illumination brief and low, follow ophthalmic light-safety guidance, and only image people with an eye-care professional involved. Use an isolated commercial power supply. Not a certified medical device - for education and screening research only.

Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.

Videos

Open Indirect Ophthalmoscope (OIO)3:03

Team member demo showing the assembled device, user interface and a real retinal photograph captured with the system

More builds like this

All projects

Gallery

cdn.hackaday.io
opengraph.githubassets.com
img.youtube.com
img.youtube.com

Start here

Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.

  1. 1.Read the full project documentation on Hackaday.io (Description, files, components and build logs; the step-by-step guide itself is on Instructables (https://www.instructables.com/Open-Indirect-Ophthalmoscope-OIO/))
  2. 2.Review the bill of materials and identify optical component suppliers (Part numbers are specified but you will need to source lenses from optical suppliers - this is the step that takes research)
  3. 3.Send the PCB Gerber files to a fabrication service(JLCPCB, PCBWay or similar - expect 1-2 week turnaround, you will need to populate the board yourself or request assembly)
  4. 4.Print the housing parts and laser-cut the acrylic optics box(The 3D-print files are on the Hackaday.io project page; the optics box also uses laser-cut acrylic)

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

  • Optical components do not have drop-in alternatives - if you substitute a lens or get the focal length wrong, the fundus image will not form and you will not know why until you test the full assembly
  • Some optical parts are specified by focal length and diameter but suppliers are not always named in the BOM - you will spend time cross-referencing datasheets from Edmund Optics, Thorlabs or similar
  • This is not plug-and-play: the optics need iterative adjustment, and the device must be held parallel to the eye or the image distorts. The prototypes also only worked through a dilated pupil.
  • The software dates from 2016 — Python 2.7, OpenCV 2.4 and Raspbian Wheezy — so on a current Pi OS expect to port it to Python 3 and the new camera stack yourself.
  • Not a certified medical device and cannot be used in clinical diagnosis without separate validation - this is for education, research and screening programs only

Can this replace a hospital fundus camera?

It produces real retinal images suitable for diabetic retinopathy screening, but it is not a certified medical device. Clinical use requires separate validation and regulatory approval in your region.

Where do I source the optical components?

The BOM specifies focal lengths and diameters. Edmund Optics, Thorlabs and similar optical suppliers stock these parts, but you will need to cross-reference part numbers - the repository does not provide supplier links for every lens.

How hard is the optical alignment?

It is the hardest part of the build. The 20 dioptre lens, the two mirrors and the camera have to sit at the right distances in the laser-cut acrylic optics box, and the device must be held parallel to the eye — the team's own logs describe distorted images when it is not. Expect iterative adjustment and test imaging, and note that the prototypes only worked through a dilated pupil.

What happens if I get a lens specification wrong?

The fundus image will not form or will be too dim to see. Optics do not have drop-in substitutes - focal length and diameter must match the design or you will need to recalculate the optical path.

Community builds

No community builds yet — be the first, we feature the best ones.

Discussion1

FROM THE COMPAREE TEAM

The team built this at LV Prasad Eye Institute for diabetic retinopathy screening and captured retinal images with two working prototypes. If you had the 20 dioptre lens and mirrors in hand, what would stop you building one?

CompareeTEAM1mo agoedited

Practical notes from our verification: this project was built at the Srujana Innovation Center of the LV Prasad Eye Institute in Hyderabad, growing out of work started at the MIT Media Lab, as a low-cost retinal camera for diabetic retinopathy screening. Its Hackaday.io logs show two working prototypes capturing retinal images, while noting that a larger clinical comparison would still be needed and that it works only through a dilated pupil. The documentation is split three ways: the Hackaday.io page holds the CAD, 3D-print files, the laser-cut acrylic optics box and PCB Gerbers, the step-by-step build guide is on Instructables, and the GitHub repository holds only the Python software. The optics are the hard part — a 20 dioptre condensing lens plus two 50 mm front mirrors that have to be positioned precisely — so you are building an optical instrument, not plugging in modules. The software was written for Raspberry Pi 2B/3B on Raspbian Wheezy with Python 2.7 and has not been updated since 2016, so expect porting work on current hardware. The short team video shows the device in use. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.

OIO team, LV Prasad Eye Institute

The Open Indirect Ophthalmoscope started in the Fall 2015 MIT Media Lab Engineering Health course and was developed from 2016 at the Srujana Innovation Centre of the LV Prasad Eye Institute in Hyderabad, India. It was built to bring retinal screening for diabetic retinopathy to places where 10,000 to 25,000 dollar retinal cameras are out of reach; the prototypes captured retinal images through dilated pupils, and the team notes that a larger clinical comparison would still be needed.

GitHub Web

Star the project on GitHub

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.