InfraVue: Seeing in the Dark With Tech
by Makertronics in Circuits > Assistive Tech
416 Views, 6 Favorites, 0 Comments
InfraVue: Seeing in the Dark With Tech
Night exploration has always fascinated me—whether it’s trekking after sunset, experimenting with electronics in low-light conditions, or simply building something that feels straight out of science fiction. That curiosity led to InfraVue, a head-mounted, Raspberry Pi–powered infrared night vision system that streams live video directly to your smartphone through a web browser.
InfraVue gives you real-time night vision, hands-free POV operation, and the ability to capture photos and record videos, all without installing any mobile apps or relying on cloud services. Everything runs locally on the Raspberry Pi, keeping the system private, portable, and fully open source.
This project is designed for makers, Raspberry Pi enthusiasts, and beginners who want to build a practical yet exciting computer vision system using modern web technologies.
Key Features
- Live infrared night vision streaming to any smartphone or laptop browser
- Head-mounted POV design for hands-free operation
- Capture high-resolution images
- Record MP4 videos on demand
- Built-in gallery with download and delete options
- No internet required (works on local Wi-Fi or mobile hotspot)
- Fully open source (hardware + software)
Supplies
Hardware
- Raspberry Pi 5 (8 GB RAM)
- Raspberry Pi IR Night Vision Camera with built-in 3W IR LEDs
- MicroSD card (32 GB or higher recommended)
- USB power bank
- Standard Raspberry Pi Active Fan cooling
- Custom 3D printed enclosure (STL files provided)
- Headband
Tools
- Zip Ties
- Glue Gun
- 3D printer (PLA or PETG)
- Basic hand tools for assembly (Screwdriver)
Software
- Raspberry Pi OS (64-bit recommended)
- Python 3.9+
- Node.js (for frontend)
- Git
How InfraVue Works (System Architecture)
At a high level, InfraVue follows a clean and efficient pipeline:
- The IR camera captures frames using picamera2
- Frames are processed using OpenCV
- Live frames are:
- Compressed to JPEG
- Base64 encoded
- Streamed via WebSockets (Socket.IO)
- The browser receives frames and updates the live preview
- Recording uses the same pipeline, saving frames to MP4 files
- There are options to capture the photo and also for the video recording
- All media is stored locally on the Raspberry Pi SD card
- Download option for all the media is present through the web interface.
This design avoids heavy streaming protocols and keeps latency low, which is ideal for real-time POV use.
3D Printing the Enclosure
The enclosure was custom-designed in Fusion 360 specifically for:
- Camera &IR Led Mount
- Raspberry PI enclosure
Print Settings
- Layer height: 0.2 mm
- Infill: 20%
- Walls: 3 perimeters
- Material: PLA or PETG
- Supports: Not required
STL and Fusion 360 files are shared below
Parts Clean Up
The enclosure and mounting parts are designed for support-free PLA printing, so post-processing is minimal. Follow these basic steps for clean, professional results.
1. Part Removal
Allow the print to cool fully, then gently remove parts from the build plate using a spatula. Avoid flexing thin clips or tabs.
2. Edge Cleanup
Lightly trim any stringing or small blobs using a hobby knife or flush cutters, especially around clip features and snap fits.
3. Surface Touch-Up
If needed, lightly sand visible flat surfaces with fine-grit sandpaper (400–600 grit). This is usually only required on the enclosure’s outer faces.
4. Fit Check
Dry-fit mating parts (lid, clips, mounts) before assembly. If tolerances feel tight, remove material gradually—do not force parts together.
5.Final Inspection
Ensure holes, slots, and snap features are clear of debris so electronics and fasteners seat properly.
Assembly Guide
1. The device consists of a main rectangular enclosure, a top-mounted bracket with circular mounting holes, our hero - RaspberryPi, and support feet or standoffs at the base. Ensure that the enclosure halves (top cover and bottom housing) are free from dust, burrs, or deformation. Place all components on a clean, flat, anti-static surface. Proper orientation awareness at this stage will prevent rework later.
2. Carefully align the RPi inside the lower enclosure. The board should sit flat and align with the internal mounting points or standoffs visible in the housing. Do not force the RPi into place; it should rest naturally with minimal pressure. Check that any connectors, LEDs, or ports line up with corresponding cutouts or transparent windows in the enclosure walls. This alignment is critical for functionality and accessibility once the device is fully assembled. If screws are used to secure the RPi, tighten them gently in a diagonal pattern to avoid uneven stress on the board.
3. Once the RPi is properly seated, ensure the bottom housing is stable. The device shown includes small feet or raised supports underneath, which help with airflow and mechanical stability. Confirm these supports are properly attached or molded into the housing and that the device sits evenly on a flat surface without wobbling. This step ensures long-term durability and prevents strain on internal components during operation.
4. The upper portion of the device features a CAMERA mounting bracket with two circular holes and a central protrusion. Carefully align this bracket with its corresponding attachment point on the enclosure. The bracket should sit flush and centered, allowing the circular holes to remain unobstructed for mounting or sensing purposes. If the bracket snaps into place, apply gentle, even pressure until it locks securely. If screws are involved, tighten them evenly without overtightening, as this may crack plastic components or misalign the sensor.
Mount the Heatsink (Thermal Setup)
Mounting the Heatsink
- Power off the Raspberry Pi and disconnect all cables.
- Identify the main processor (CPU) on the Raspberry Pi 5.
- Remove the protective film from the thermal pad (if included).
- Carefully place the heatsink directly on top of the CPU.
- Align the heatsink spring pongs with the holes on the board
- Gently press to look the hooks.
- Connect the fan cable to the fan port on the board
No screws or adhesives are required as the Official Raspberry Pi fan includes spring loaded hooks to attach to the board
Assembling the Head-Mounted Enclosure (Camera + Mounts)
Intended Assembly Method (Recommended)
The enclosure and mounts were designed to be assembled using M2.5 screws, and all screw holes and clearances are already built into the CAD design.
If you have M2.5 hardware, this is the recommended and cleanest approach:
- Use M2.5 screws and nuts to:
- Secure the camera mount to the Raspberry Pi case
- Attach the case to the headband mounts
- This provides:
- Strong mechanical stability
- Easy disassembly
- Long-term durability
📌 Tip:
If you are building this project yourself, having a small M2.5 screw kit on hand is highly recommended.
What I Did: Zip-Tie Locking Mechanism (Maker Workaround)
At the time of assembly, I was short on M2.5 screws, so I used a simple but effective zip-tie–based locking mechanism to assemble the parts.
Here’s how it worked:
- Two zip ties were used per mounting hole
- One zip tie’s locking head was carefully cut off
- The detached locking piece was placed on top of the second zip tie
- This created a custom hook-style locking mechanism
- The setup tightly secured the mounts without drilling or modification
Despite being a workaround, the result was:
- Surprisingly rigid
- Lightweight
- Easy to adjust or remove
Camera Cable (FPC) Connection
An FPC (Flexible Printed Cable) is used to connect the camera module to the controller, which in this project is the Raspberry Pi 5.
For the InfraVue system, a 15-pin to 22-pin CSI FPC adapter cable is used:
- 15-pin end: Connects to the IR camera module
- 22-pin end: Connects to the Raspberry Pi 5 CSI camera port
Refer to the images and video for correct cable orientation, insertion direction, and connector locking.
Important: FPC cables are delicate—avoid sharp bends, twisting, or forcing the connector latch, as this can permanently damage the cable or camera interface.
Camera Mount Assembly
This step covers mounting the IR Night Vision Camera and attaching it to the Raspberry Pi enclosure using an adjustable GoPro-style hinge joint.
Attach Camera to Camera Mount
Place the IR camera module into the 3D-printed camera holder, ensuring the lens is centered and IR LEDs are unobstructed. Secure it using the designed press-fit or mounting points.
Connect the FPC Cable
Insert the 15-pin end of the FPC cable into the camera connector and lock the latch. Refer to the images/GIF for correct orientation.
Route the FPC Cable
Carefully route the cable through the enclosure opening toward the Raspberry Pi, maintaining a smooth curve without sharp bends or twists.
Join Camera Mount to Raspberry Pi Enclosure (GoPro-Style Joint)
Connect to Raspberry Pi
Insert the 22-pin end of the FPC cable into the Raspberry Pi 5 CSI camera port and lock the connector.
Align the camera mount hinge with the enclosure hinge and insert the M3 screw and nut through the joint, similar to a GoPro mounting mechanism.
Adjust and Tighten
Set the desired camera angle, then tighten the M3 screw until the mount holds its position firmly while still allowing adjustment.
Tip:
If the joint feels loose, use a plier to hold the M3 nut while tightening the screw slightly more. Do not overtighten—over-tightening will prevent angle adjustment.
Important:
- Always power off the Raspberry Pi before connecting the camera.
- Ensure the camera angle is finalized before closing the enclosure.
- The mount should stay in position after adjustment but remain movable when force is applied.
The camera assembly is now mechanically secure, adjustable, and ready for use.
Attaching Headband
As shown in the pictures, fit your elastic headband in the mounts. You may use any other kind of headband- but just make sure you have the correct mounting brackets for the headband.
Preparing the SD Card
Before building InfraVue, we first need to properly set up the Raspberry Pi with the operating system, networking, and camera support. This step ensures the system is stable, accessible over Wi-Fi, and ready to run both the backend and frontend services.
Download and Install Raspberry Pi Imager
Raspberry Pi Imager is the official tool used to flash Raspberry Pi OS onto an SD card.
- On your computer, go to the official Raspberry Pi website and download Raspberry Pi Imager for your operating system (Windows / macOS / Linux).
- Install and launch the application.
Insert the MicroSD Card
- Insert a microSD card (32 GB or larger recommended) into your computer using a card reader.
- Make sure the card does not contain any important data, as it will be erased.
Choose Raspberry Pi OS
In Raspberry Pi Imager:
- Click “Choose OS”
- Select: Raspberry Pi OS (64-bit)
Select Storage Device
- Click “Choose Storage”
- Select your inserted microSD card
Configure OS Settings (Important)
Before writing the OS, click the gear icon (⚙️) to open Advanced Options. This step is crucial.
Recommended Settings
Enable and configure the following:
- ✅ Set hostname: rpi
- ✅ Enable SSH
- Select Use password authentication
- ✅ Set username and password
- Username: pi
- Password: (choose a secure password)
- ✅ Configure Wi-Fi
- Enter your Wi-Fi SSID
- Enter your Wi-Fi password
- Select your country (important for Wi-Fi reliability)
- ✅ Set locale settings
- Time zone
- Keyboard layout
This allows the Raspberry Pi to:
- Automatically connect to Wi-Fi on first boot
- Be accessed remotely via SSH
- Avoid needing a keyboard or monitor
Write the OS to the SD Card
- Click “Write”
- Confirm the warning that all data will be erased
- Wait for the flashing process to complete
This will take some time, so grab some coffee and sip it meanwhile.
Once done, safely eject the SD card.
Project Setup
Once the SD
1. Update and Upgrade System
Start with a clean, up-to-date system.\
2. Enable Camera Support
Ensure the Raspberry Pi camera interface is enabled.
- Navigate to Interface Options
- Enable Camera
- Reboot if prompted
Verify camera access:
3. Install Required System Packages
picamera2 / libcamera is pre-installed on Raspberry Pi OS.
4. Clone the InfraVue Repository
5. (Optional) Frontend Build
Only required if you want to modify the UI.
This generates the dist/ folder served by the Python backend.
6. Python Backend Setup
7. Run the InfraVue Server
Ensure no other camera process is running.
The server starts on port 3000.
8. Access from Browser
From a phone or PC on the same network:
You now have:
- Live IR camera stream
- Image capture
- Video recording
- Media gallery management
Notes
- Python backend is the recommended server.
- Node.js backend exists but is not required.
- System runs fully offline on a local network.
Your InfraVue system is now ready for use.
Auto Launch Server on Bootup
To automatically start the InfraVue Python server when the Raspberry Pi boots, add the following commands to the user’s .bashrc file.
1. Edit .bashrc
2. Add the Following Lines at the End
Adjust the path if your username or installation directory is different.
3. Save and Exit
- Press CTRL + O, then ENTER
- Press CTRL + X
4. Reboot and Verify
After boot, the InfraVue server will start automatically in the background.
The Final Result
As our final results, you can see how InfraVue empowers you to visualize the unseen world around us. Designed to go beyond ordinary sight, InfraVue lets you wear the device and confidently explore the outdoors after dark, whether you’re night trekking, stargazing, wildlife spotting, or simply strolling through low-light environments. What truly sets it apart is that you’re not limited to just viewing your surroundings—you can capture, record, and store these rare moments directly on your phone, preserving experiences that would otherwise vanish into the darkness.
With its advanced night-vision imaging, InfraVue enhances low-light scenes by amplifying available infrared and ambient light, revealing details invisible to the naked eye. Subtle movements, distant silhouettes, and hidden textures suddenly come alive, allowing you to observe nocturnal wildlife, unique plant life, and terrain variations with remarkable clarity. Built-in image stabilization ensures steady visuals even while walking, and the wide field of view helps you stay aware of your surroundings without constantly adjusting your focus.
Imagine heading out on a night trek—InfraVue becomes your silent companion, helping you navigate safely, detect obstacles early, and spot beautiful creatures without disturbing them. The ability to capture photos and videos means every rare encounter, from glowing eyes in the bushes to moonlit foliage, can be documented and relived later. Wireless connectivity allows seamless syncing with your smartphone, turning your adventures into lasting memories ready to be shared.
And the pros don’t stop there. InfraVue is lightweight, wearable, and designed for extended use, making it ideal for long treks and explorations. With efficient power management and rugged construction, it’s built to perform in real outdoor conditions. In essence, InfraVue doesn’t just help you see in the dark—it transforms night exploration into an immersive, safe, and unforgettable experience
Future Enhancements
InfraVue is built with expansion in mind. While the current version focuses on reliable live streaming, recording, and portability, there are several planned enhancements that could significantly extend its capabilities.
ML-Based Motion Detection
A lightweight machine learning model could be used to detect meaningful motion in the video feed. This would allow InfraVue to intelligently distinguish real movement from background noise such as shadows or small environmental changes.
Automatic Capture on Detection
Once motion detection is implemented, InfraVue could automatically capture photos or start recording videos when movement is detected. This would reduce the need for manual interaction and ensure important moments are not missed.
Servo-Controlled Camera Movement
The adjustable camera mount can be upgraded with small servo motors, allowing the camera angle to be changed remotely through the web interface. This would make it possible to fine-tune the field of view without physically adjusting the device.