u/breqdev

▲ 217 r/rust

My girlfriend and I just finished building a laser projector based around a cheap X/Y galvo kit, 200mW RGB laser module, and an ESP32 running firmware written in Rust.

It's surprisingly capable and was a lot of fun to build! It can display vector art, and we've implemented a few basic demos like a simple version of Asteroids or an interactive/scrollable map. There's also a 3.5mm audio input for using it as a music visualizer.

The firmware is written using esp_hal, with Embassy as an RTOS. This is my first time doing firmware development with Rust, and I have to say, the official Espressif documentation and libraries are really good! I was pleasantly surprised by how smooth the development experience was compared to writing firmware with C++.

Writeup with all the details is here: https://breq.dev/projects/laser-projector

u/breqdev — 10 days ago
▲ 1.2k r/PCBWayOfficial+1 crossposts

My girlfriend and I just finished building a laser projector based around a cheap X/Y galvo kit, 200mW RGB laser module, and an ESP32.

It's surprisingly capable and was a lot of fun to build! It can display vector art, and we've implemented a few basic demos like a simple version of Asteroids or an interactive/scrollable map. There's also a 3.5mm audio input for using it as a music visualizer.

The ESP32-S2 was a great fit for this: we used the two 8-bit DACs to control the beam position, using op-amps to go from the 0-3.3V range up to the +/-10V range we needed. Each of the three lasers (red, green, blue) are driven with PWM. The firmware is written entirely in Rust, which was a first for me but went much more smoothly than I expected!

Writeup with all the details is here: https://breq.dev/projects/laser-projector

u/Aran_PCBWAY — 9 days ago
▲ 74 r/lasers

My girlfriend and I just finished building a laser projector based around a cheap X/Y galvo kit, 200mW RGB laser module, and an ESP32 microcontroller. It's surprisingly capable and was a lot of fun to build! It can display vector art, and we've implemented a few basic demos like a simple version of Asteroids or an interactive/scrollable map. There's also a 3.5mm audio input for using it as a music visualizer.

Writeup with all the details is here: https://breq.dev/projects/laser-projector

u/breqdev — 10 days ago