prism laser scanner

bringing additive manufacturing to the next level

Similar projects worth following
An open hardware fast high resolution LASER suited for Printed Circuit Board (PCB) manufacturing or 3D printing. The laser head can be used to write to a substrate. I am working on reading from a substrate.

The goal of this project is to develop a laser head for 3D printing or PCB manufacturing which uses a rotating prism and is easy to assemble.
Cyanotype paper is currently used as it can be developed with water.


Specifications are determined by exposure onto a camera without lens and OpenCV. More technical details are available in the whitepaper or the business case pitch.

  • wavelength: 405 nm
  • rotation frequency:  up to 21000 RPM, current 2400 RPM
  • line speed: up to 34 meters per second @ 21000 RPM
  • spot size FWHM: circular, 25 micrometers diameter
  • cross scanner error: 40 micrometers  (error orthogonal to scan line)
  • stabilization accuracy scanning direction:  2.2 micrometers (disabling/enabling scan head)
  • jitter: 35 microns (error parallel to scan line)
  • duty cycle: 47%
  • laser driver frequency: 2.6 MHz
  • maximum scan line length: 24 mm
  • typical scan line length: 8 mm
  • optical power: 500 mW
  • facets: prism has 4 facets
  • prism dimensions: 30x30x2 mm


  • FPGA ICE40UP5K-SG48 with Icestorm toolchain
  • Firestarter cape  (laser driver, 3x TMC2130 stepper drivers, PWM spindle and fan control)
  • Raspberry 4


An image can be exported from Kicad to SVG and converted to instruction for the laserhead. An exposure result on a printed circuit board with close up is shown below.

Resolution below 100 microns can be achhieved. Stitching is between lanes is quite good on cyanotype paper but still a bit uneven on PCB. Exposure below is done without cylinder lenses.

An exposure goes as follows (for the result see above).

Special thanks go to Henner Zeller for his work on LDGraphy. The electronics and software in this project helped me a lot with constructing the laser scanner, see video.
The initial idea of using a prism for laser scanning originates from Dr. Jacobus Jamar. The first system used a plurality of laser bundles in a thicker prism under an angle.  TNO, a research institute of the Netherlands, still pursues this idea, in an entity known as Amsystems.
The current gateware relies on Amaranth HDL and some components from Luna. This is the work of white-quark and ktemkin.

Amaranth HDL gateware for Hexastorm
Optical design

PCB design

Hardware designs
CAD files

Literature Research
White paper @ Reprap

Other Links
Official website

Cross scan error measurements for seven prisms.

Zip Archive - 95.89 kB - 04/04/2023 at 13:57



Technical deck presented to selected audience. Deck does not cover LIFT, laser microscope and latest improvements on tech.

Adobe Portable Document Format - 9.11 MB - 12/10/2021 at 08:28



New pitch deck of 16-9-2021, also available as video on Youtube.

Adobe Portable Document Format - 2.03 MB - 09/16/2021 at 17:50


calibration data of current scanhead

Zip Archive - 278.28 kB - 01/25/2019 at 18:50



measurements and algorithm used to determine stabilization accuracy, see blog

RAR Archive - 594.17 kB - 01/25/2019 at 14:50


  • 1 × prism, 30x30x2 mm edges parallel to < 1 arc minute 40pcs @ 20 euro per piece @ ebetteroptics
  • 1 × Raspberry Pi 3B / 4 with 16GB sd card at least 35 euro's + 9 euro
  • 1 × Brass Laser Module Housing for 5.6mm TO-18 LD 5 euro
  • 1 × BDR-S06J 405nm / Nichia S06J 405nm 22 euro (eBay)
  • 1 × 10x10x1 first surface PMMA mirror 2.5 euro per 20 aliexpress (alternative edmund optics #45-517 18 euro per 10 including shipping)

View all 12 components

  • Laser Prism Scanner Summary

    Hexastorm04/12/2023 at 12:51 0 comments

    I made a summary video of my laser prism scanner work.
    This should save you time if you are interested in the topic.

    0:00 - Intro 
    1:35 - Process 
    2:58 - Applications 
    5:00 - Optics: prism more accurate than mirrors 
    5:59 - Optics: displacements caused by prisms 
    7:44 - Optics: rotating polygon mirrors vs rotating prisms 
    10:45 - Optics: position photodiode 
    11:59 - Optics: advanced prism designs
    13:16 - Aberrations: how measurements are made
    14:23 - Aberrations: cross scan error versus jitter
    16:08 - Aberrations: mounting
    16:56 - Aberrations: solutions to mounting
    18:44 - Aberrations: prism imperfections
    20:09 - Aberrations: solutions to scan errors
    21:18 - Aberrations: vibrations
    22:34 - Aberrations: prism mounting using Ricoh motor
    24:04 - Aberrations: new mounting solution
    26:04 - Aberrations: new mounting solution (Freecad view)
    26:57 - Aberrations: measurement cross scan errors
    29:07 - Validation, result of exposures
    29:59 - Positive feedback
    31:20 - Negative feedback
    33:48 - Outlook
    35:08 - Origins laser prism scanning
    37:08 - Challenges with thick laser prism scanners

  • A reply to "The state of open-source in 3D printing in 2023"

    Hexastorm04/04/2023 at 08:18 0 comments

    In the blog state of open source, Prusa complains about cheap 1:1 clones who do not honor the open source ethos and as remedy suggests altering the license.

    The most successful companies, e.g. Microsoft and Apple, in the world are closed source.
    Still closed source seems not to work for a number of technologies; operating systems (Linux) and programming languages (Python).
    In the nature of the firm, Coase argues that the main reason to establish a firm is to avoid some of the transaction costs of using the price mechanism.
    Open source lowers the transaction costs for inbound innovation. Information is more readily available to outsiders and less asymmetric. As a result, the technology grows.
    I think open-source is best suited for "highly" complex products with an initial weak product market fit. It works better for software than hardware. As hardware is harder to reproduce. This leaves the question of monetization.
    Open source software is now monetized by cloud providers who earn money by running it in the cloud.
    Examples are Github, Amazon Web Services or DataBricks.
    It is also monetized by software developers who tailor the software for specific business needs.
    They enjoy large benefits by the fact it is open source. As they can simple hop companies and sell the same knowledge again. A problem with proprietary software is that the new firm or client of the developer would also require a license.

    In your blog you also give an example of solar panels. One example for all is solar panels – the original inventions and processes were gradually copied by Chinese companies. After that, with the help of state subsidies and tax breaks, they drove all competition out of the market within a few years. Today, you have virtually no chance of buying a non-Chinese-made solar panel.
    I agree with your assessment that this makes solar panel manufacturing less profitable. It might also be a reason for a government to intervene using tariffs.
    Still, an entrepreneur can still make money. Once the solar panel becomes free, the challenges becomes getting it on your roof. You might also need advice on how to best place your solar panel. It is very hard for the Chinese to compete with a Dutch solar installation company given the fact they are in China.
    They can also not work in the Netherlands due to regulations.  If China makes printers for free, you might need to alter your workforce or firm. I still see a lot of ways of making money.

    Moving back to the Prusa firm. I would not alter your open source approach but better look at how it can provide unique value. Your company actually pursues a mixed strategy. Part is closed and part is open.
    It is impossible to make a firm a completely "open".  I would not focus on changing the relation between Europe and China or the patent system. These things are external to your company and not under your control.
    You can make it easier for external parties to add new tools to your printer.
    You could give these external parties a slice of the profit.  Goal here is to really think outside of the box and look at your relation with the customer.
    As example, there is a Dutch company called Swapfiets, who offers bikes via a subscription service instead of selling them. This has been hugely successful. I would not advice you to offer a subscription service. Still, it shows that the way you interact with the external parties can be a key differentiator.
    If you control the most popular design of the printer, you should still be able to make money simply as you decide which parts end up in the next printer.
    A successful open source approach, requires more thought than simply putting the source code on the web.
    This was done by Lulzbot and not successful.

    Finally, I partly disagree with your view on patents.
    I believe like you and the Economist that the patent system is broken.  From experience, I believe that most patent applications are a failure.
    Still, you should patent given the opportunity. If you have a lot of...

    Read more »

  • Cross scan error measurements new bearing

    Hexastorm04/01/2023 at 19:29 0 comments

    I will add a presentation to clarify,

    I reduced the pole length to 10 mm. I now end up with a cross scan error of 180 microns (60 pixels at 3 microns wide). The pattern is very constant over time and seems to be due to the prism.
    I measured seven prisms and arrived at an error ranging from 35 pixels to 45 pixels.
    The prism in this image had an error of 41 pixels. As a result, I think 19 pixels are due to "vibrations".

    The camera distance to the prism is 36 mm (prism facet parallel to CCD chip and distance between prism and CCD chip). Note that this is very similar to my earlier measurement with the Ricoh motor (PCB motors suited for laser scanning). Here I arrived at 160 microns.

  • End loaded cantilever beams (updated)

    Hexastorm03/30/2023 at 09:30 0 comments

    I did experiments with the new bearing.
    Results so far;
       -  rotation can be achieved vertically;
          ferrite is added below the PCB.  The magnets in the rotor are pulled toward the ferrite
          As such, the rotation axis does not have to be parallel with gravity.
          The motor is more than powerful enough to overcome the additional friction.

        - on small time scales, i.e. less than 10 facets/lines, the cross scan error is low on longer time scales ,
          i.e more than 30 facets. The cross scan error is high.
          For small time scales, the cross scan error seems good enough for exposure.

    An image at a short time scale, i.e. less than 10 lines in image.

    An image of a long time scale,

         The spot on the side is as not all light is refracted through the prism or due to some internal reflection.
    This is easy to fix by either a slit or changing the thickness of the prism. As such it is disregarded.

    From additional research, I conclude that you are indeed looking at a vibration. This vibration is likely due to particles or dusts between the axis and the bearing.
    I shortened the pole and still saw this behavior (see next blog). The noise removed after adding a bit lubricant.

    I also expect that part of the error can be explained via an end-loaded cantilever beam:

    This displacement and angular deflection are described by the following formula;

    The centripetal force rises with the square of the speed.  As such, I have two methods to test this theorem;
     - reduce the speed
     - decrease the beam length

    Calculating the first natural  frequency of the beam and see if this is in the time domain of 30 lines.
    I arrived at multiple kHz. Probably, the treatment is too simple.

    Experimental notes:
    Speed around 1000-2000 RPM
    Length extracted is 13.75 mm
    Length used in this experiment 18.8 mm

  • Mounting prism

    Hexastorm03/13/2023 at 16:40 2 comments

    I came up with a strategy to mount the rod onto the prism.
    A very viscous putty is placed between the rod and the prism which becomes very hard and green.

    The rod hole tolerance is low and the prism rotates over its glass substrate.
    You might argue that some of the putty sticks out and this affects the rotation. I cut a small groove in the final version.
    Friction seems low,
    I will need to check measurements for the cross scan error.
    Most interesting would be to compare distorting coming from the prism facets with those coming from the bearing.
    In the figure below you see a quartz prism, a sinter bronze sliding bearing and green putty

    In the figure below you see parts separated;
    Curing time is around an hour at 50 degrees. The vendor recommends not going over 40 degrees.

  • Dispersive Rotating Prism Spectrometer

    Hexastorm03/10/2023 at 09:52 0 comments

    The aim of this blog is to create prior art for a dispersive rotating prism spectrometer.

    My inspiration here comes from Jerry de Vos. Jerry de Vos is working on a plastic scanner. This project aims to develop a simple handheld scanner that can detect five different types of plastic.
    At its core, it contains a photodiode and 8 leds emmiting specific wavelengths2 of near-infrared light. By flashing each LED individually onto a plastic sample and measuring it's reflectance with the photodiode, we obtain its (discrete) reflectance spectra.
    Like Hackaday, I am sceptical of the project.  Jerry has been able to reach a large audience.

    Let's look at a dispersive infrared spectrometer:

    Spectrometer component diagram

    Broadly speaking, all optical spectrometers consist of an entrance slit (1), a diffraction grating or prism (2), a detector (3), and routing optics (4). The entrance slit allows light into the spectrometer, where a system of mirrors or lenses routes it first onto a diffraction grating or prism, and then onto the detector. The grating or prism splits the light into its constituent wavelength components, and the detector records the light intensity as a function of wavelength. If the spectrometer has a large spectral range, it may also have filters to stop higher order light from reaching the sensor (source).

    A prism where opposing sides are not parallel refracts lights as follows. Key here is that each wavelength is refracted differently, due to dispersion.

    So  far I have used prism with an even number of sides.  Prisms with an odd number of sides are
    typically more disperse and deemed undesired for my application.

    I am not aware of a dispersive spectrometer where the prism is rotated.
    As such, I claim a device used for spectrometry where the prism has uneven sides and is rotated.
    As application domain, I claim all the uses of spectrometers prior to march 10 2023.
    As shown on this blog, I claim the prism is rotated using a PCB motor or BLDC motor.
    Furthermore, I claim the position of the prism is tracked using hall sensors and or optically via a laser or led.
    The laser is incident onto the prism on any from the sides. Its reflection is captured by a photo diode and used to monitor the position the prism is in.
    Light is shined onto the sample by an external source. Preferably this has a broad spectrum and uniform angle of incidence. The spectrum and the angle of incidence need to be known. One could collimate the light source or use multiple light sources.
    A slit or lens might be used to get the light into the spectrometer and ensure a certain angle of incidence.
    A slit might further be used to narrow the detection by the detector, used to detect the incident light.

    There are a couple of nice things of this technique. The prism can be made really small. Prisms of 1 mm size exist.
    The prism could also have three unequal angles so that each sides works slightly different.
    There are a lot of complexities; rotating the prism, developing an algorithm to collect the data and making it cheap.
    These have been solved by the open hardware laser prism scanner project.

  • pcb windings, mini laser prism scanner and magnetic levitation

    Hexastorm02/28/2023 at 21:57 2 comments

    I got two tips from readers.
    Please note that my current focus is construction of the bearing.

    Different PCB windings;

    The advantages of improving the PCB windings are;
        - ability to replace rare earth magnets (neodium) with ferrite magnets
          ferrite magnets are 2 or 3 x times less powerful but much cheaper 
        - it might be possible to go from a four layer PCB back to a 2 layer pcb (reducing costs)
        - ability to achieve higher spinning speeds

    Keith reinolds pointed out that a Faulhaber winding is more efficient than the bugeja coils or the improvement outlined by atomic14.
    This is outlined here.
    A linkt to a review paper is provided by gravis

    Mini laser prism scanner

    It could be useful to make a very small laser prism scanner. There are applications in imaging, communication etc. as outlined earlier.

    Two things are of interest;

    You can buy precise micro prisms, which have dimensions around 1 mm.

    Magnetic levitation

    Wikipedia provides a good overview on magnetic leviation.
    You might be able rotate the prism if it is made from a diamagnetic material.
    Lawrence kincheloe pointed me to an article which does this for a pyrolyte sheet,

    I can also imagine you trap a rotating prism with a magnetic trap

  • LASER scanner with PCB motor

    Hexastorm02/16/2023 at 11:33 1 comment

    Demo of the first working laser scanner in the world which uses a PCB motor.

    It's a simple demo. Nothing is made, only a static pattern is generated. It combines a lot of effort by the community and me :-). Next is building the bearing.

  • simple laser vs laser prism scanner for interlayer bonding

    Hexastorm02/15/2023 at 08:42 0 comments

    Gravis, I made a blog for your question.

    Your question:

    I do ponder the rationale for heating only part of the filament.  However, it might be just as easy to use a tiny linear actuator to adjust the laser position than use a rotating lens to change the beam path.

    My answer:
    If you apply too much heat to the previous layer, the structure could collapse.
    Even more heat and it could burn or a reaction will take place.
    I guess to keep the structure intact, Stratasys does not expose the edges.
    For first experiments I would not even use a linear motor but just make straight tracks and pre-expose them with a fixed laser. A laser with a tiny linear actuator is indeed much easier to make.

    A laser prism scanner is able to expose the previous layer with a much smaller bundle.
    I expect they now use a bundle diameter of 180 micrometers for a nozzle of 300 microns. (0.6*300 microns).

    I think a laser prism scanner has two advantages;
      - if you swap nozzle you don't have to change focus of the LASER.
        For a 1 mm wide nozzle your bundle width would have to be 0.6*1 = 600 microns.
        A laser scanner would just project a longer line. Stratasys could solve this by
        adding a motor to the laser lens.

      - a laser prism scanner allows you to apply heat much more precisely due to the smaller laser spot.  
        Using a laser prism scanner you should be able to go well below 60 microns in bundle diameter.
        The exposure is more uniform. In the case of a single spot it is a Gaussian. With a laser scanner
        you are able to overlay multiple Gaussians, i.e. spots, and achieve a higher uniformity.
        I could imagine you need to ensure only the top of the previous layer is heated. If your molecule
        chains have a length smaller than a micron, I think 10 microns deep should be sufficient.
        It will depend on how heat is absorbed by the structure, the bundle diameter of the laser and
        diverging hereafter.  The thermal diffusion coefficient and cooling of the structure with respect
        to the air / environment.
        When the new layer is added you want the large molecules to mix at the edges and not the
        structure to collapse.
        You could look at the scattered light using OCT / laser microscope to get an idea of the  
        temperature of the structure and ensure you r not overheating.

  • Increased inter-layer bonding with lasers continued

    Hexastorm02/08/2023 at 15:21 2 comments

    The increased inter-layer bonding using laser scanners has my attention.
    Materialise filed for patent in 2015, WO2016049621A1. It abandoned the application.
    Siemens, the owners of Hackaday, filed for  (WO2018188757A1), where they take into account correction parameters by looking at the previous layer. It seems not directly related.
    There are many more HP,   Epson US11498266B2 etc.

    I view patents as the Sport of Kings.  Given my experience, I decided to
    create prior art. There are downsides, but less costs upfront.

    Previously, I outlined that the laser line is orthogonal to the direction of the last extruded line.
    A possible challenge, is that the laser line does not cover all possible motions of travel.
    It should be obvious for a PHOSITA, that with a single line immediately after the extruder your direction of movement is limited to 180 degrees with an orthogonal scan line.

    I therefore claim the following;
       two laser lines are projected to cover both sides, depending upon the motion one would
       heat up after extrusion and the other prior. Or one side would heat up both prior and after

    In additive manufacturing it is often beneficial, to execute the printing process at an elevated temperature via for example a heated build chamber.
    This creates problems as lasers and electric motors function better at a low temperature.

    I therefore claim the following;
      the PCB board which forms the basis of the laser prism scanner is placed on top
      of a thermoelectric (TEC) cooler. This cools down the side of the laser and the PCB
      motor. It heats up the side which is in contact with the heated build chamber.

    Earlier, I outlined that a combination of two cylindrical lenses can be used to reduce the cross scan error distortion and create a circular spot.
    It might be beneficial to elongate the laser bundle orthogonal to the scan line.
    As this increases the area which is heated, whilst still using one laser or led.

    I therefore claim the following;
         a cylindrical lens or other lens is used after the prism which elongates the laser / led bundle
         orthogonal to the prism.  This is done to increase the area that is exposed by the optical bundle.

    One could use a plurality of emitters but I doubt that the heating process has to be so accurate.
    It should be noted that the quartz prism and lenses can be made of another plastic material i.e. acrylic given its low absorption in the infrared range.
    This has the advantage that costs would drop.

    As such, I claim the following;
       The infrared emitter is a light emitting diode, all optical elements for the scanner are manufactured
       using acrylics.

    The control system would need to use data to optimize the heating process.
    I imagine that an infrared sensor or camera is present that collects the light emitted from the heated area.
    It might be possible to collect this information in the laser scanner using the laser microscope configuration outlined earlier. The information is than used to optimize the image formed by the laser or led scanner.  Epson claimed this in US11498266B2, however it outlines that information of a temperature sensor is used for the nozzle heater.

    As such, I claim the following;

       I claim that a temperature sensor is used with the relation outlined by Epson.
       but that this is used to control the settings of the lasers and not the nozzle heater as outlined by

    It might be beneficial to use multiple wavelengths.  The extruder could extrude a thermoplastric material in combination with a resin. In these cases, it might be beneficial to combine the infrared laser with a UV laser.

View all 140 project logs

Enjoy this project?



Hexastorm wrote 12/30/2019 at 15:53 point

No it wouldn't work.. you need edges polished, not the top and the bottom.
I am not shipping out prism at the moment as they r not balanced yet (working on this). I am also working on a FPGA toolchain, will post an update on my progress here soon.

  Are you sure? yes | no

Ben Wishoshavich wrote 10/27/2019 at 04:56 point

Can you recommend a specific polygon motor module on alibaba? I don't know if there are any differences and I'd like to order one. THanks!

  Are you sure? yes | no

Hexastorm wrote 10/27/2019 at 13:37 point

Yes, you should buy exactly this motor . It uses the NBC3111 chip. I had problems with other motors. Make sure you buy at least 2, although they are quite hard to break.

  Are you sure? yes | no

Ben Wishoshavich wrote 10/23/2019 at 21:59 point

Dude, this is some pretty awesome work. I'd love to help refine some of the manufacturing and board designs, let me know how I can best help

  Are you sure? yes | no

Hexastorm wrote 10/24/2019 at 17:55 point

Thanks! There are two other people who have shown interest. I need at least 10 people to do a run as I have to buy the prisms in bulk. Turn around time would be significant. Producing the prism takes at least a month.
I am fixing the low hanging fruits at the moment. It is hard to help with these as you don't have a laser head. I am building a new one but there is still only one in the world :-).
Things you could look in to;

- a better alignment system for the laser; this uses four screws and is over dimensioned --> see my free cad design files

- a better alignment system for the cylinder lenses; the screw system is not really comfortable --> see my freecad design files

-  how do i put my state machine on an fpga; I have been looking into as a replacer for the beaglebone.
This task seems rather complicated but I guess this knowledge could be really help full. The statemachine now runs on pru of the beaglebone and is limited at around 2 MHz.

- how do i balance the prism; i have done some preliminary experiments but still works needs to be done. You could also try to figure this out with a regular polygon motor. Add an imbalance and try to analyze this.

- the slicer or interpolater can only be run on a computer, as it overflows the ram of the beaglebone . Remove this problem, optimize the code.

In the mean time, I am cleaning up the code, building a second head and still have to do more experiments.
I am also waiting for news on the hackaday prize. That's also why I have been quiet on the blog.

  Are you sure? yes | no

Ben Wishoshavich wrote 10/24/2019 at 22:57 point

I'm wondering if there isn't a BLDC motor that could be substituted for the polygon motor, hopefully something that is more available. And then I'd need an encoder. I'll take a look at this, although I suspect going greater than 20k rpm requries air bearings and a custom design.

The rectangular prism does seem to be a challenge. I'll let you worry about that. Out of curiosity, do you know how much it'd cost for a custom order?

An FPGA should be able to handle the state machine. I'm working on the FPGA that's in the Hackaday Superconference badge, and it's got an open toolchain. It might be overkill though. The ICE40 may be better(and cheaper). I might be in the minority in that I'm not sure this is a huge priority, as your electronics are pretty cheap. It's probably a pretty significant time sync to rewrite the assembly for the PRUs into a state machine. I'd probably focus on a command and control system to interact with GCODE or something else.

 I could jump into the MCAD, but I only know Solidworks. I suspect someone else might be better suited for that.
At work, we have specifications for balancing motors for EVs. The most relevant standard is ISO1940. Let me know if that's useful for you. Usually a balancing machine is used to detect vibrations while the part is rotated. They're pretty rare and fairly expensive though. They do make some simple ones for balancing quadcopter props you could look into. Usually you have to add or remove material in a specific spot to make it work.

I already have some of the parts you've used. Perhaps it won't be as hard to duplicate some version of this as I expect.(expect for that lens).

  Are you sure? yes | no

Hexastorm wrote 10/25/2019 at 17:13 point

-  i wouldn't substitute the motors; they have been used in this application for years by a large industry. Rotating polygon mirrors are produced in the tens of thousands. Motors can handle up to 21000 RPM.  This is more than what is needed at the moment, 2400 RPM, as the beaglebone can't go faster.
- custom order is around 500-600$ and MOQ is 10. for the prisms
- Henner zeller wrote a GCODE parser for the beaglebone called beagleg; my idea is that this used and you simply flip the machine between gcode mode and laser writing mode
- never heard of this standard good tip
- all parts are easy to obtain including lenses, motor etc; the only challenge is the prism and time. You will need time :-)

  Are you sure? yes | no

rajhlinux wrote 01/01/2021 at 08:17 point

well you can count me in, i'm interested with this project

  Are you sure? yes | no

Robert Mateja wrote 07/31/2019 at 11:48 point

Congratulations on winning Hackaday Prize 2019!  (at least in my opinion)

  Are you sure? yes | no

Hexastorm wrote 08/01/2019 at 09:30 point

Robert, thank you for supporting me! Winning the prize would be amazing.  My current target is to get other people to try out the technology, I am really trying to make it more accessible. I hope I can show an improved prototype of the scan head soon.

  Are you sure? yes | no

Conny G wrote 05/27/2019 at 12:36 point

What material is the prism made from? How is it manufactured?
Can i make it in my "maker lab"?

  Are you sure? yes | no

Hexastorm wrote 05/29/2019 at 11:39 point

Prism has the following properties; 2 mm thick, 30x30 mm square,  faces 60/40 < 5 arc min, chamfers 0.10 – 0.30mm, edges Polished 60/40, top bottom polished 60/40.   You will have to discuss details with manufacturers in China over Alibaba. I made the first in a maker styled lab, a description of the process is in this log

  Are you sure? yes | no

Gravis wrote 02/03/2019 at 19:16 point

I'm also interested in the possibility of using a motor from a hard disk drive instead of a breaking down a polygon motor.  HDD motors are cheap to buy and (as I understand it,) contain an encoder and have screw holes which makes affixing things easier.

  Are you sure? yes | no

Hexastorm wrote 02/04/2019 at 08:48 point

HDD seem too slow.  They typically spin at 5400 or 7200 RPM.  At the moment, I can go up to 24000 RPM with polygon motor. For some applications, I would like 50000 RPM or 70.000 RPM, like the roadrunner sold by precision laser scanner. Also the motors are not too expensive, they are like 20 euros. I understand 20 euro's can still be a lot but if you look at total costs; you can better pay attention to other components.

  Are you sure? yes | no

Gravis wrote 02/05/2019 at 06:00 point

Oh, I had no idea you were planning on high speed.  Where can you get the motors in the 20 euros range?

  Are you sure? yes | no

Hexastorm wrote 02/06/2019 at 13:40 point

You can find polygon motors at alibaba ( .  The system is a proof of concept; for desktop PCB prototyping 2400 RPM is fine. If you plan to compete with Kleo . You will need at least 50K RPM.  An option would be to encase the prism and remove the air. This will reduce the drag. You could also fill the encasing with Helium as it has low drag and a high thermal conductivity.  Like the roadrunner the encasing windows would be tilted out of plane to minimize back reflections, see

  Are you sure? yes | no

Gravis wrote 02/03/2019 at 15:57 point

My suggestion for this project is to isolate the scanner from the 3 axis robot part so that the scanner could be made into a tool that can be changed out.  I would also ditch using BB's PRU and instead use a dedicated chip (and maybe a RAM buffer) and connect it via CAN bus.

  Are you sure? yes | no

Hexastorm wrote 02/04/2019 at 08:58 point

I intend to isolate the scanner, and design it for specific machines. I like the idea of having a dedicated chip. In the past I used a FPGA (Xula-LX25) with RAM as  bufffer. I can imagine there are even better options. The problem is that developing a dedicated board costs time, money and a lot of experience. Zeller made a very accessible code for the Beaglebone, so I went with that. You are looking at a proof of concept. It's a technology demonstrator. Anyway if you have recommendations; or some example code; feel free to share. 

  Are you sure? yes | no

Gravis wrote 02/05/2019 at 07:48 point

Considering this is a project where accurate timing is vital, I think an XMOS processor (e.g. XS1-L4A) would be a good fit.  Each 100MIPS processing unit is 100% deterministic with fast GPIOs.  I don't know the rate of data throughput you need but it may be easier to just cache to workload on a local FLASH chip than stream it.

  Are you sure? yes | no

Hexastorm wrote 02/05/2019 at 10:53 point

XS1-L4A is nice... but I rather like something with lot of support and examples... probably first gonna optimize the current code and balance my prism.

  Are you sure? yes | no

Gravis wrote 02/05/2019 at 20:37 point

XMOS stuff actually does have lot of support (, examples ( and even an IDE but I somehow missed the part where you wrote that didn't want to build a custom board.  Sorry about that.  XMOS chips make it easy to glue things together since it's 99% software so it doesn't take too much skill to make a board with them.  Consider enlisting help to make a board as there is a good chance it will alleviate timing related issues.  Good luck! :)

  Are you sure? yes | no

rajhlinux wrote 01/03/2021 at 13:24 point

This is a good idea, but honestly I think the best thing is to focus on getting the precision as perfect as possible. There's no consumer grade PCB maker device that can give traces/spaces resolution down to 0.01mm. It's crazy we are still using tonner transfer and UV exposure. I'm planning to build a CNC gantry made from granite, magnetic actuators and air bearings to get the most accurate, friction free, repeatable long term PCB manufacturing with >0.7 traces and spaces. But yes, would be nice down the road to have the scanner head removed for another tool... but for now precision is priority. Precision & Resolution is the reason why this project brings my interest and everyone here.

  Are you sure? yes | no

Paul wrote 11/05/2017 at 03:49 point

You've certainly done your homework very thoroughly, and I see that in your application with very small optical cone angles (large focal ratio), the optical aberrations and field curvature appear to be tolerable.  That's great.

One question: You say that previous scan techniques require a large (and therefore expensive, you argue) f-theta lens, which must have one dimension at least as wide as the scan line.  In your approach, your polygons must be larger than the scan line length, but in *two* dimensions, making the volume of your optical element much larger.  Since either shape would use identical materials and fabrication processes in volume production (i.e. injection molding), one would naively expect the smaller element (the f-theta lens) to be cheaper.   How is this line of reasoning flawed?

  Are you sure? yes | no

Hexastorm wrote 11/05/2017 at 10:51 point

A telecentric f-theta lens requires one dimension at least as wide as the scan line. A non-telecentric f-theta lens does not require that.  In my approach, the polygon must have one dimension longer than the scan line. The second dimension is 2 mm. An f-theta lens consists out of multiple lens elements, e.g. a 3 element f-theta lens. These elements have curved surfaces. The prism consists out of a single element with a flat surface. You can't make the f-theta lens out of plastic, so you would have to injection mold quartz. I am unfamiliar with the prizes for that. Besides most likely a higher price and the fact you have to use multiple elements, you also need to worry about patents. Envisiontec patented the usage of reflective polygons; US 9079355 B2 . Finally, you need a thick reflective polygon as thick polygons can deflect collimated bundles with a large diameter and these can be focused to smaller spots.  A transparent prism uses a focused bundle and therefore typically can be thinner, which keeps the price of the bearing lower.

  Are you sure? yes | no

Paul wrote 11/05/2017 at 15:55 point

You have clearly thought about this a great deal, and have your arguments worked out well.

I wasn't considering that you might be requiring quartz.  I would have guessed even BK7 would be overkill for this application.

I mention injection molding because I look around my offices and see several laser printers.  Each of them contain a laser scanning unit with a rotating (reflective) polygon and a f-theta lens arrangement, with the final element being very large (>200 mm long).  All the optical elements of the ones I have inspected appear to be injection-molded PMMA or similar plastic.  The entire laser scanning unit must cost considerably less than $50, given the prices of the printers (all less than $200, two less than $70).  Granted, these are produced in huge volumes, but they serve as existence proof that these scanning systems with large optical elements are not intrinsically costly.

  Are you sure? yes | no

Hexastorm wrote 11/05/2017 at 16:52 point

PMMA absorbs light at 405 nm. The laser printers at your office use 800 nm and low power lasers. I use 405 nm and high power lasers. So yes; there is concrete proof that PMMA injection molded systems are not intrinsically costly. There is no proof that quartz systems are not intrinsically costly.  It's unclear what the prices of these systems would be .

  Are you sure? yes | no

Paul wrote 11/03/2017 at 13:21 point

A good variation on the usual way.  I build a few instruments based on this and similar methods between 1985-1989.  A couple of important notes:  

1. The scanned field is NOT flat: The optical distance to the target plane *increases* as the polygon rotates away from normal.  Not only is it geometrically longer, some of the increased  path length is in the high-index polygon too, increasing the path length even more.  The result is a curved focal or scan plane.  One of my instruments actually depended on this: a rotating polygon was used to tune the optical path length inside an optical resonator cavity, to adjust a tunable laser that was phase-locked to that cavity. 

2. You get some significant spherical aberration when you focus through a thick window like that, for similar reasons: the light rays at the periphery of the optical cone take a longer path to the target plane than rays going through the middle of the cone, with the result that they focus at a different depth.  For a laser at f/50 (or whatever it is), this probably isn't significant, but in an imaging system at f/2, it seriously degrades focus. 

  Are you sure? yes | no

Hexastorm wrote 11/04/2017 at 22:09 point

Paul, thank you for your reply!
A transparent polygon scanner with a single laser bundle was first patented by Lindberg in 1962.  The scan field is not flat and you can get some significant optical aberrations. A full numerical model is available here . A description of this model is available in the technical presentation. The result shows that in practice the scan field is flat and the optical aberrations are not significant for the current spot size and line length.

  Are you sure? yes | no

Hexastorm wrote 11/03/2017 at 11:58 point

Well this is the first comment! If Hackers are interested in transparent polygon scanning let me know :P ..

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates