Cheap Ass DIY 3D Scanner

This mini project shows an attempt to built a cheap areal 3D scanner. The two attempts use an ultrasonic transducer and a time-of-flight sensor. The project ist Arduino based with the ESP8266 board extension.

While it’s still work in progress this page will grow with additional information.


I put together some affiliate links. These are the cheapest sources with shipping I was able to find.

Wemos d1 mini ESP8266 $2.58
Servo SG90 single piece $1.09 or 10 pieces $12.61
Ultrasonic Sensor JSN-SR04T $7.57
Time-of-flight sensor VL53L0X $3.68
Laser Distance Meter $13.88
Tripod nuts (10 pieces) $1.46


The wiring of the components have to be done like this to work with the code. You can use either the LIDAR or the Ultrasonic sensor. As microcontroller the WeMos D1 Mini is used but an alternative ESP8266 board can be used. The corresponding GPIO numbers are shown below.

Code & Models

The code and 3D printable models can be found in my github repository 3DScannerESP8266.


The scanned objects are displayed as a point cloud in the browser. The page can be stored using a desktop browser. The vertices can be found in a separate script file as an array (vertices.js)

The following results are showing the scans of a cat, a fox and myself


Even though I made some changes the code for the WebGL renderer is taken from here.