stanleyondrus / LaserProjectorV2

LaserProjector V2 is a battery-powered, ESP32-based laser XY scanner using stepper motors to deflect the beam. It has auto-homing functionality, and can be controlled wirelessly (Wi-Fi & Bluetooth).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Introduction

LaserProjector V2 is a battery-powered, ESP32-based laser XY scanner using stepper motors to deflect the beam. It has auto-homing functionality, and can be controlled wirelessly (Wi-Fi & Bluetooth).

Features

  • Hybrid Wi-Fi operation mode (STA & AP)
  • Webserver GUI with custom WebSocket protocol
  • Concurrent multi-user control
  • Automatic/Manual/External scanning mode
  • Parallel auto-homing
  • Battery-powered

Links

Design

How to build your own release

Prerequisites

  • Visual Studio Code with PlatformIO extension
  • 3.3V USB to Serial (e.g. FT232RL)

Building

  1. Open firmware/src folder in VSCode
  2. In firmware/src/src/main.cpp you can sustomize SSID and PASSWORD for Wi-Fi STA mode:
const char* ssid = "<your_ssid>";
const char* password = "<your_pass>";
  1. In firmware/src/platformio.ini set the correct upload_port, or remove to auto-detect.

  2. Build and upload the filesystem

    • PlatformIO > esp32serial > Platform > Build Filesystem Image
    • PlatformIO > esp32serial > Platform > Upload Filesystem Image
  3. Build and upload the firmware

    • PlatformIO > esp32serial > General > Upload

Pre-built binaries

After the firmware is loaded, any subsequent updates can be done OTA in browser by visiting http://<esp32-ip-address>/update

The pre-built binaries are located in firmware/bin

Version Firmware Filesystem
0.1 LaserProjectorV2_firmware_v0.1.bin LaserProjectorV2_filesystem_v0.1.bin

Credits

About

LaserProjector V2 is a battery-powered, ESP32-based laser XY scanner using stepper motors to deflect the beam. It has auto-homing functionality, and can be controlled wirelessly (Wi-Fi & Bluetooth).


Languages

Language:HTML 89.3%Language:C++ 8.0%Language:JavaScript 2.5%Language:CSS 0.2%Language:Python 0.0%