====== Spin Coater ====== We are building a spin coater based on the MAASI spin coater, see: [[https://github.com/Labsmore/Maasi|Maasi]]. This seems to be the standard design for a spin coater for cheap. * [[https://git.fa-fo.de/fafo/techtree/issues/49|Techtree Element #49 (Spin Coater)]] * [[projects:spincoater:log|Lab Notes for the Project]] {{:projects:spincoater:pxl_20260118_200953672.jpg?600|}} === Software & Electronics === Our current approach is, to not utilize the C-based firmware and go with a rewrite in Rust. The Code can be checked at:[[https://git.fa-fo.de/rob/spinnyboy/src/branch/main/spinnyboy_rust|spinnyboy_rust]]. We first also tried to hack the Firmware from :[[https://github.com/JeroenDelcour/spincoater|JeroenDelcour/spincoater]], as featured on hackaday:[[https://hackaday.io/project/192036-diy-spin-coater|192036-diy-spin-coater]], although at least Rob felt uncomfortable with doing micropython and therefore chose a toolchain, which is based on rust. Currently, we can run the PWM of the AfroESC[[https://arduino.ua/docs/AfroESC30A.pdf|AfroESC]]. Open ToDo's: * Make a PID+RPM-Sensor work. A Promising candidate for the PID is: [[https://github.com/Hs293Go/discrete_pid|discrete_pid]] * Make DSHOT Work, there is also a Crate for this![[https://crates.io/crates/esp-hal-dshot|esp-hal-dshot]] === Display === We currently utilize a Nextion based stack, although this can be saved later on, as we could potentially provide an abstract implementation. Each peripheral would need to just provide a Result, which either contains a command or an ErrCommand.