Skip to content

Project Build

Bill of Materials

Material to be ordered

The materials not made in the lab are the listed hereunder :

Component Amount Price
OLED screen 1 5,69 €
Rotary encoder 1 1,67 €
Stepper Motors 2 15 €
ESP32-CAM 1 11,93€
Vertical Axis 1 5 €
Lead screw 1 11,59€
Closed GT2 Timing Belt 400 mm 1 6€
PLA filament <1kg 10€
Servomotor SG90 1 < 1,5€
Lazy Susan/Turntable 1 2,5 €
FR1 Board 1 2€
M3x12 screws and nuts 12
M3x30 screws 2
M4x12 Screws and nuts 30

Electronic components

Component Price
ATSAMD21E18 3,70€
Headers < 1€
Motor drivers Pololu A4988 10 €
AC to 12V DC Converter 5€

In total, the costs for the material listed above is 89.58 €.

On top of that, for the rest of the material, I account for max 20 €, including standard electronics components, screws, wood and possibly PMMA.

Built material

The rest of the components are 3D printed, milled or laser cut.

The raw materials for that are :

  • plywood around 1m²
  • Plexiglas (optional for the casing)
  • FR1 Boards
  • standard fab lab electronic components
  • PLA

All files are in the bottom of this page. The whole project is in the Fusion360 model.

The laser cut files are linked here

The STL files are not linked because of their size but can be obtained easily by exporting them from the Fusion360 model.

You need to 3D print :

Components Number of pieces
BottomMotorFixation.stl 1
Foot.stl 4
LeftRotationPart.stl 1
MotorControlFinalProject.step 1
SmallMotor-GT2 Timing Pulley v2 v5.stl 1
CameraHolderBase.stl 1
GT2 Timing Pulley v2 v1.stl 1
LeftRotationSlot.stl 1
RightRotationPart.stl 1
TopMotorFixation.stl 1
CasingElec.stl 1
HorizontalRotaryMotorFixation.stl 1
MenuHolder v6.stl 1
RightRotationSlot.stl 1

Then laser cut one piece of each.

Milling the boards : 

You have 2 boards to mill, the Gerber files are in the Kicad project along with the BOM of each board.

The two Kicad projects are linked hereunder:


Prepare everything and you’re ready to start assembling.

All components layed out

Let’s be honest :

I failed some boards before succeeding
I made different model of ESP boards
Finally succeeded in making the main controller

Be careful with the zeroing of your CNC before milling the board otherwise it might fail often.

Finally succeeded in making the main controller


The assembly is made but we still have to wire everything so to cut all the wires at the right length and put the right socket.

Measuring cable length for the first motor
and for the second
Then the screen and rotary encoder
Once it's done I am ready for cutting cables at the right length


To load the programs, I made a CMSIS-DAP programmer based on Quentin’s design and I advise you to make a couple for yourself.

I used the standard bootloader of mattairtech for the SAMD21E18, but you could also use the SAMD21E17 in which case use the appropriate bootloader for the SAMD21E17.

To load the bootloader, I used edbg with the JTAG connector of the CMSIS-DAP programmer with the following command, ebpv standing for e - erase, b - verbose,p - program,v - verify.

edbg -ebpv -t samd21 -f sam_ba_Generic_x21E_SAMD21E18A.bin

To use the scanner, you can simply connect it to the your computer and use the interface, launching it with :


The other option is to send instructions directly with the serial monitor, sending “STATE_SCAN” to start a scan or SENDING “STATE_HOMING” to launch homing.

Testing : Scanning and Storing

Now the important thing is to test it : Can it scan something ?

Just put something on the board and launch the scan
The result is not perfect but we have room for optimization

The second objective was to store it and it works great !

The scanner is stored in our cupboard

We now have two generations of 3D scanner at FabLabULB and their inventors !

Quentin and I with our respective scanners



To demonstrate capability in FreeCAD, I decided to make one component in FreeCAD.

STL files for 3D printing are too large to include.



Last update: July 6, 2021