Alumina is an integrated CAD/CAM, physics simulation, and motion control solution written entirely in Rust. It is intended to control laser and plasma cutters, 3D printers, CNC routers and mills, and lathes. There are two parts to Alumina: the firmware which targets the esp32c3 microcontroller, sets up a Wifi AP called "Alumina", serves the Alumina UI via HTTP, responds to commands from the Alumina UI via HTTP, and performs motion planning and step generation. The UI targets WebAssembly, draws geometry using WebGLand egui, and manipulates geometry using csgrs. Both parts fit in the onboard flash of the esp32c3.
cargo run --release
to flash devices which make use of a ch340 USB serial adapter you must modify ~/.config/espflash.toml like so:
[connection]
# esp32-c3
#serial = "/dev/ttyACM0"
# ch340 + esp32-c3
serial = "/dev/ttyUSB0"
# esp32-c3
#[[usb_device]]
#vid = "303a"
#pid = "1001"
# ch340 + esp32-c3
[[usb_device]]
vid="1a86"
pid="7523"
- BLE support
- get motion control working
- klipper style multi-mcu support
- get endstops and homing working
- implement sd card support
- update to more recent esp-idf and supporting crates