Hey! This thing is still a Work in Progress. Files, instructions, and other stuff might change!

HexScan - 3D Laser Scanner

by toolson, published

HexScan - 3D Laser Scanner by toolson Apr 9, 2015
2 Share
Download All Files

Thing Apps Enabled

Order This Printed View All Apps


A part of these Groups

View All

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag


Thing Statistics

15314Views 2772Downloads Found in DIY


This my design of a 3D laser scanner. I wanted a big heavy load scanner with a small footprint.

It's design as an alternativ to the ciclop scanner. The scanner works with open source Horus 3d scanning software and modified Horus firmware.
The rotation platform can carrry heavy loads.
The gear ratio is 3:1. With an additional geared stepper you can reach a very high torque.

There is no need to buy the special electronic parts like the ZUM shield. It works really fine with cheap Arduino Uno clone and a cheap CNC V3 shield. You can source both parts for some dollars from ebay.

The scanner is highly adaptable. If you change firmware and the extrusions for camera and laser it can work with any other camera and software solution.
If you change the length of the aluminium extrusions you can build any plate diameter you want.

Currently this thing is a "work in progress". Maybe the length of the extrusion for camera and laser change.

The bevel gears: 3:1, 45/15 teeth, module 1
Maybe someone can design some printable bevel gears for this.
Tech-specs are in the attachment.

Improvements are welcome.

22.06.2015: minor changes to hexscan_t-stueck.stl (requested by Balbers13)

Please share your makes!




  • 2 linelaser 650nm 5mW
  • 1 Arduino Uno R3ATmega328P
  • 1 shield CNC V3
  • 1 stepper Driver like Pololu 4988
  • 1 stepper NEMA 17
  • 1 webcam Logitech C270
  • 6 berings 698 ZZ
  • 2 bearing MR1016-2RS
  • 1 bevel gears 15/45Z id=5/10mm
  • 1 smooth rod d=10mm, l=52mm
  • 1 round plate min. 5mm, d350mm
  • 1 filament 200-600gr
  • 1 screws ISO 7380 M5x8 vz, package a' 100pcs
  • 1 4-sided nut DIN 562, package a' 100pcs
  • 2 screws DIN 912 M3x6
  • 6 screws DIN 912 M8x35
  • 4 screws DIN 912 M6x30
  • 4 nut DIN 934 M6
  • 6 nut DIN 934 M8
  • 4 nut DIN 934 M3
  • 4 screws ISO 7380 M3x8 vz, oder ähnlich
  • 6 washer DIN 125 M8
  • 8 washer DIN 125 M6
  • 2 alu extrusions 20x20x265 I-Typ Nut 5
  • 6 alu extrusions 20x40x150 I-Typ Nut 5
  • 7 alu extrusions 20x20x150 I-Typ Nut 5
  • 1 power supply 12 oder 24 V, 1-3A

Printed parts:

  • 1 pcs. - hexscan_kamerahalter_b_1_0.stl
  • 10pcs. - hexscan_klammer_1_0.stl
  • 1 pcs. - hexscan_hex_e_1_0.stl
  • 3 pcs. - hexscan_90_winkel_1_0.stl
  • 2 pcs. - hexscan_hex_c-d_1_0.stl
  • 3 pcs. - hexscan_scharnier_b_1_0.stl
  • 2 pcs. - hexscan_laserhalter_1_0.stl
  • 1 pcs. - hexscan_kamerahalter_a_1_0.stl
  • 1 pcs. - hexscan_arduino_1_0.stl
  • 1 pcs. - hexscan_zugentlastung.stl
  • 2 pcs. - hexscan_scharnier_a_1_0.stl
  • 2 pcs. - hexscan_hex_b_1_0.stl
  • 2 pcs. - hexscan_hex_a_1_0.stl
  • 1 pcs. - gearbox.stl
  • 1 pcs. - hexscan_t-stueck_1_0.stl

Firmware for CNC V3 shield: https://github.com/snhack/horus-fw

More from DIY

view more

All Apps

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

Kiri:Moto is an integrated cloud-based slicer and tool-path generator for 3D Printing, CAM / CNC and Laser cutting. *** 3D printing mode provides model slicing and GCode output using built-in...

App Info Launch App
KiriMoto Thing App

With 3D Slash, you can edit 3d models like a stonecutter. A unique interface: as fun as a building game! The perfect tool for non-designers and children to create in 3D.

App Info Launch App

Print through a distributed network of 3D printing enthusiasts from across the US, at a fraction of the cost of the competitors. We want to change the world for the better through technology, an...

App Info Launch App

Treatstock is an online platform that offers decentralized manufacturing services such as 3D printing and CNC machining for clients all over the world. We offer free and instant access to comparati...

App Info Launch App

3D print your favourite design with NinjaPrototype, a professional 3D manufacture with consistent quality and speed.

App Info Launch App

Hello toolson. Any idea where to buy bevel gears 15/45Z id=5/10mm?

I'm just a hobbyist so I'm not sure what those parameters mean..
Also, thank you for all your work, the P3Steel upgrades are amazing!

Eine allgemeine Frage: Woran erkennt die Arduino-IDE die richtige CPU in der cpu_map.h (z.Bspl ...328P_Horus_CNC.....). Ich wüsste nicht, irgendwo ein entsprechendes "define" gesehen zu haben.
Mir geht es um die Möglichkeit die CNC-Shield-Mapping aus der 0.1'er Firmware in die 0.2'er zu übertragen - Copy and Paste sollte kein Problem sein Code ist Code und der Aufbau ist gleich.
Aber wo setzte ich den "define" für das richtige Mapping?

Sorry, wenn die Frage hier nicht hin gehört, aber ich spreche kein Spanisch...

Ja! Es funktioniert. Code-Teile von 0.1 auf 0.2 kopiert, die Config.h angepasst (da ist das Board-define) und klappt!

Very nice design!
How did you compensate for the gear ratio 3:1 in the Software ?

just adjust the steps/deg ration in the firmware

I changed it to 48 Steps/deg, but it always runs 120deg...

Maybe the EEPROM trap?

Werde es am WE mal probieren...
Hmm. Es funktionier über manuelles $100=13.05 in der Konsole. Änderungen in der default.h kommen nicht an.....Weiter zum fröhlichen kalibrieren!
Gibt es eigentlich eine angepasste Firmware für Horus 0.2?

Same problem here.. changes in default.h with no results.. any hint ?
EEprom also deleted, with no result :-(

Just connect and change the parameter via the serial monitor (CR and LF).
$100=48 (or whateever fits - maybe need some try)
Stays in memory.
You can check it with $$

as thjansen72 said:

connect via serial monitor / console to the firmware and change parameter $100

Hallo, wie lang soll die Welle für das 45er Kegelrad sein?

Habe mir das jetzt nochmals überlegt, man könnte ja den Drehteller gleich mit drucken, um wieviel höher müsste der obere Zylinder des 45er Kegelrades denn sein, laut Foto sollten doch 1,5cm genügen?

so hab mal die bevel gears hochgeladen, die ersten drei sollten druckbar sein, habe meinen drucker noch nicht bekommen, kann deshalb keinen Testdruck machen :-(

Die Frage zur Länge kann ich momentan nicht beantworten.

Die Last liegt auf den äusseren Lagern. Die Länge der Welle spielt eine untergeordnete Rolle, ist ja ein Loslager und dient eigentlich nur Befestigung des Kegelrads und der der Zentrierung.

Den Drehteller mitzudrucken scheidet somit auch aus. Das Flankenspiel wäre dann nicht einstellbar.

Hallo, die BoM der printed Parts ist nicht ganz korrekt:

Scharnier a wird anstatt einmal zweimal benötigt.
Bei dem Link zum .STL-File Teil c_d ist die falsche Datei hinterlegt
Ich vermisse das Gegenstück zu Teil e (e ohne Flansch für Scharnier)
Wäre cool wenn Du die Korrekturen zeitnah an den Start bringst.
Mir fehlen lediglich diese beiden .stl´s um das gute Stück fertigzustellen.
Ansonsten: Top Arbeit und danke für´s teilen ;)

Ich hab das mal auf die Schnelle geändert.
Es sollten jetzt die 4 verschiedenen Eckverbinder Typen runterladbar sein.
Das Gegenstück zu müsste scharnier_b sein.

Wenn was nicht passt, bitte nochmals melden.

Hello Toolson, wonderfull work.

I would like to know if exist some guide to mount the parts and to wire the connections. I am newbie here. How I can upload the firmware to the device??. Regards and thanks you for all.

Do you have some video of the scaner working??. Could you post it?.

There is no guide until now. Currently I'm working hard on other projects.

Assembly is easy. The pictures should be sufficient.

Wire it like a BQ Ciclop with CNC shield. Ask google for details.

Next winter i will revert to this project.
Sorry, you have to wait for guide, video and other stuff.

thanks you for your reply. I only want to know how you upload the firmware to the arduino device. I can not do it. Or better I do not how do it. Could you help me?. I only want to know those step to finish my build.

You can upload the horus firmware (better: the modified one) with horus scan software.
That is the easiest way.

There are some other options:

Hi, your design is very good.
I read your BOM and the quantities of each plastic part is missing. Of course some of them is one pcs required, but some other are more than one pcs required.
Please may you write some more details?
In case of bigger sizes which kind of updates are required from the software and from electronics?
Thank you for your help.

I added a list of the printed parts with quantity now. I think the list should be correct.

If you want to scale up the scanner you just need to modify the length of aluminium extrusions and the diameter of the platform.
Horus scansoftware is currently limited to a scanable diameter of 250 mm.
If you want to use Horus the scanner is already bigger than supported by software.
I hope BQ will change this limitation in Horus.

could you post a video or more details on how to assemble please and thank you

Where is the BOM File ???
And where are the details for the bevel Gears???

You'll find the BOM under "Instructions"
Look at all the pictures and you'll find the details for the bevel gears.

Comments deleted.

Hello, nice job.

Being a derivative of ciclop you must keep same license (due to the share alike) so the non-commercial clause needs to be removed.

We really take care that our work and its derivatives is genuinelly open respecting freedom of use and modification.

Hi guys at BQ,

you are right. I changed it. I just didn't keep an eye on it as i released it yesterday.

I hope that upcoming versions of you horus software will support such a big scan diameter and other features of my scanner (gearbox, cmc shield, ...)
If i understand right the software currently limited to dial. 250 mm.

Can someone compile a price list for an estimate price of this (Awesome looking) machine? Thanks in advance!

The costs are probably 125-150 €, i will release a more detailed BOM in the next few days.

but DIY Ciclop Bq cost 70/80€.. do you have a STL file created with your HexScan? It's important. thank you