Miniature Hackable 2D LIDAR Sensor Featuring RP2040

The goal of this project is miniature 2D LIDAR sensor featuring the EPC611 ToF image sensor. The RP2040 acts as a controller for the ToF sensor as well as for a DC motor which rotates a mirror for the ToF sensor, allowing 360 degree vision. The board has a 6 axis acclerometer + magnetometer IMU as well as 6 PWM breakouts for if someone were to want to use this as a sort of standalone robotics platform. I am considering adding an SBUS breakout as well. The board can be interfaced to a USB host (such as a raspberry PI) through a full-speed USB connection with a USB Micro B connector.




The schematic consists of 5 sections: the connectors, the Voltage Regulators, the RP2040, the IMU, and the LIDAR sensor itself.



There are 5 connectors to the board - A SWD port, a breakout for the motor and optical encoder for the LIDAR, a SPI breakout for debugging the SPI connection between the RPI and the ToF sensor, a PWM breakout for controlling up to 6 ESCs, servos, DC Motor controllers, etc, and a USB OTG Full Speed connector with a Micro B Port.


Voltage Regulators

There are 3 Voltage Regulators on the board, divided into two stages. The first stage takes an input voltage from the USB or from the PWM breakout and converts it to +3.3V. The second stage takes the +3.3V line and converts it to +8.5V and -10V which are used by the ToF sensor. Most of the board operates on the +3.3V line. The current consumption is variable based on the activity of the ToF sensor, but should peak at around 600-700mA and average around 400-500mA on the +3.3V line.



The central processor of the device is an RP2040. It is clocked by an external 12MHz crystal oscillator and is connected to 4MB of Flash via QSPI. It is connected to the ToF sensor via SPI, connected to the IMU via I2C, has a breakout for the LIDAR motor and encoder, and 6 PWM breakouts for various motor controls. It has a USB connection which is how it can communicate to another device as well as be programmed. It can also be programmed and debugged via SWD.


6-Axis IMU

The IMU is a 6-Axis Accelerometer+Magnetometer. It is connected via I2C and sends orientation data to the RP2040, for the LIDAR to determine how it is oriented in 3D space in case it is being used on a flying robot or another robot that does not operate on just a 2D plane.


LIDAR Sensor

The LIDAR Sensor consists of the EPC611 ToF camera which collects depth data either as an 8x8 camera or as a single binned pixel. It is clocked via a 4MHz MEMS oscillator and sends modulated pulses to two IR LEDs which it uses to generate the pulsed IR light it uses for ToF sensing. It is connected to the RP2040 via SPI.


Preliminary PCB Design



The PCB is packed very tight, with all non-connector components laid out on the top side of the board for single-side assembly. There are 8 mounting holes. The large 4 are for mounting the PCB. The small 4 are for mounting the optics for the ToF sensor and LEDs.The board is a 4 layer board, with the top inner layer being the ground plane and the bottom inner layer being the 3.3V power plane. The board itself is 40mmx43mm.


As a university student, I work on this project alone in my spare time. I have very little capacity for funding or manufacturing so any assistance on this project is greatly appreciated.

Apply for sponsorship >>
1600+ Projects Sponsored
Aug 29,2021
2,088 viewsReport item
  • Comments(0)
  • Likes(3)
You can only upload 1 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
    View More
    Earn a $5 Welcome Bonus