WallScanner XR
WallScanner XR is a mixed-reality prototype I developed to turn individual detector readings into a visual map of a wall. As the user moves the scanner across the surface, measurements accumulate in place and remain visible through a Meta Quest headset.
Spatial Mapping
A handheld detector shows what it senses at its current position. Understanding a larger area can mean repeatedly scanning the same places, marking the wall or remembering where earlier signals appeared.
WallScanner XR explores a different workflow: keep those readings attached to the surface as scanning continues. The user can step back and inspect the accumulated pattern directly on the wall, rather than reconstructing it from a sequence of isolated measurements.

Recorded detector readings displayed in their spatial context. Colors represent the scanner’s reported signal and material information.
Workflow
The prototype combines a Bosch GMS 120 detector, a USB camera, a Raspberry Pi and a Meta Quest 3.
- Read the instrument. A camera captures the detector’s LCD. Python and OpenCV extract the signal level and material indicators without a direct electronic connection to the detector.
- Track the measurement position. A Quest controller mounted to the scanner provides its tracked pose. A calibrated offset relates the controller to the sensing position.
- Build the visual map. The Raspberry Pi sends readings over Wi-Fi using UDP. The Unity application combines them with the tracked pose and updates a wall-aligned heatmap in mixed reality.

The physical prototype connects an existing handheld instrument to a spatial interface.
Technologies
I developed the prototype across the hardware integration, computer-vision and XR application layers:
- Camera-based display analysis to turn the detector’s visual output into streamed sensor data.
- Spatial registration to associate readings with the scanner’s position and orientation.
- GPU-based heatmaps with spatial interpolation and selectable signal-strength or material-based color schemes.
- In-world controls and feedback for signal level, connection state, recording and visualization settings.
- Scan-session storage and retrieval, with persistent spatial anchors using the OpenXR provider.
The architecture separates sensor input, tracking, processing and visualization, providing a basis for experimenting with other instruments without rebuilding the entire application.
Technologies: Unity · C# · OpenXR · AR Foundation · XR Interaction Toolkit · Compute shaders · Python · OpenCV · Raspberry Pi · UDP
Final Notes
The working prototype demonstrates an end-to-end path from a physical instrument to a cumulative, spatially registered visualization. Its central contribution is the interaction: measurements become a record that can be inspected where they were taken.
WallScanner XR is an independent research prototype. The map visualizes and interpolates detector readings; it is not a reconstruction of the objects inside the wall. Accuracy depends on the detector, calibration and XR tracking, and has not been quantitatively validated.
