Skip to content

Amaranth HDL framework for laser scanner with motion control

License

Notifications You must be signed in to change notification settings

hstarmans/hexastorm

Repository files navigation

Laser scanner

Laser scanning is the controlled deflection of laser beams, visible or invisible. In a high-speed polygon scanner system, the laser is deflected by a rotating prism or mirror. The position of the laser is determined via a photodiode.
Hexastorm is a full toolkit for working with polygon lasers scanners using FPGA technology and provides hardware, gateware, and software to enable laser scanning applications.

Code is tested on the system shown above, branded as Hexastorm. The FreeCAD design is shared here and PCB designs are found here. A blog can be found on Hackaday. The code took most inspiration from LDGraphy.
Making a PCB with scanner is shown in the video;
video in action not showing.

The alignment procedure is shown in the following video.

Alignment procedure image not showing

Requirements

Code can be deployed on microcontroller ESP32S3 and FPGA UP5K.
This requires additional library esp32_hexastorm. Part of the code can be run on Micropython, rest is Python only.

Install

Install the dependency manager uv.

sudo apt install pipx
pipx ensurepath
pipx install uv

Use uv to install the dependencies in pyproject.toml.

uv sync

Code can be executed as follows.

uv run python -m hexastorm.movement
uv run python -m hexastorm.platforms
uv run python -m hexastorm.interpolator.interpolator

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •