Skip to content

Latest commit

 

History

History
114 lines (95 loc) · 4.53 KB

File metadata and controls

114 lines (95 loc) · 4.53 KB

Diagram

Alumina Firmware

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.

Try the Alumina Interface Web Demo

Alumina Firmware and Interface get linked together at compile time and fit in the onboard flash of a single microcontroller, reducing design complexity, part count, and cost.

  • Alumina Firmware
    • targets the xtensa and risc-v esp32 microcontrollers
    • sets up a Wifi AP called "Alumina"
    • serves the Alumina UI via HTTP
    • responds to commands from the Alumina UI via HTTP
    • performs motion planning and step generation
    • (planned) port to embassy and FoA and smol
    • (planned) port to other embassy hardware targets
  • Alumina Interface
    • targets WebAssembly
    • draws geometry using WebGL and egui
    • works in any browser, desktop or mobile
    • CAD using csgrs and egui_node_graph2
    • calculate and display 2D slices of 3D models
    • Communicates with Alumina Firmware to display diagnostic log, graph, and photo of the controller
    • Fits in < 4Mb microcontroller flash, including firmware
    • (planned) multiple controllers in sync
    • (planned) use wgmath to move most CAD and geometry and toolpath calculation to the GPU

Community

Hardware

MKS TinyBee

FluidNC Wiki Page

xPro v5

Esp32Drive

Esp32Cam

HTTP API

/						GET index.html
/alumina-ui.js			GET alumina-ui.js
/alumina-ui.html		GET alumina-ui.html.gz
/alumina-ui_bg.wasm		GET alumina-ui_bg.wasm.br
/favicon.ico			GET favaicon.gif
/time					GET 
/files					POST 
/queue					GET, POST 
/board					GET json: {{"name":"{}","image_mime":"{}","image_url":"/board/image"}}
/board/image			GET PNG formatted board image

Development

Build and flash firmware

cargo install espup
espup install
export IDF_PATH="~/.espressif/esp-idf/v5.4.1/"

cargo run --release --features="device_mks_tinybee"

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"

Todo