This project is an embedded spatial mapping system that uses a Time-of-Flight (ToF) sensor to generate a 3D representation of the surrounding environment.
The system integrates a microcontroller, stepper motors, and a ToF sensor to perform automated scanning. Distance measurements are collected in real time using embedded C with register-level control, transmitted to a PC via UART, and processed using Python to generate a 3D point cloud visualization.
The physical platform was implemented using a custom LEGO-based vehicle with motorized scanning and forward motion.
For detailed system design, hardware setup, and implementation details:
- VL53L1X ToF Sensor → distance measurement
- Stepper Motor (Scan Axis) → 360° vertical scanning (y–z plane)
- Stepper Motor (Drive Axis) → forward motion (x-axis)
- MSP432E401Y Microcontroller → control and data acquisition
- UART Communication → data transfer to PC
- Python Processing Pipeline → parsing, coordinate conversion, visualization
- MSP432E401Y Microcontroller
- VL53L1X Time-of-Flight Sensor
- 28BYJ-48 Stepper Motors with ULN2003 Drivers
- Custom LEGO-based mobile platform
- Language: C
- Handles sensor communication, motor control, data acquisition, and UART transmission
- Language: Python
- Libraries: PySerial, NumPy, Open3D
- Collect distance measurements from the ToF sensor
- Transmit data via UART with start/end markers
- Parse incoming data in Python
- Convert polar measurements to Cartesian coordinates
- Combine multiple scans into a 3D point cloud
- Visualize using Open3D
Custom LEGO-based vehicle
Real Environment vs Generated 3D Map
- Embedded Systems: Introduction to ARM Cortex-M Microcontrollers (Valvano, 5th Edition)
- MSP432E4 SimpleLink Technical Reference Manual
- MSP432E401Y Datasheet
- MSP432E401Y User’s Guide
- ARM Cortex-M3/M4F Instruction Set Manual
- VL53L1X Datasheet
- VL53L1X API User Manual (UM2356)
- VL53L1X Driver Documentation
- VMA401 Stepper Motor Datasheet & User Manual
- ULN2003 Driver Board Datasheet



