I’d be happy to read about the software part of the project. How was the firmware created? Which language was used and why? How does it communicate with the host and what software do you need to run on the host?
Hi! I'm planning on talking about that in an upcoming post. There's options - you can run 3d printer firmware like Marlin (C++/Arduino) or Klipper (Python & C), the tricky bit is getting those to talk to the vacuum sensors. Communication is via gcode commands sent over USB serial. Most folks are running their Lumen with OpenPNP on the host.
I'm actually running completely custom firmware that I wrote specifically for this board that's written in C and uses Raspberry Pi's pico SDK. It's similar to Marlin/Klipper in that the host communicates via gcode over USB serial and that movement commands are more or less done the same, but it gives me the flexibility to simplify the whole host view of the pneumatics. It absolutely wasn't necessary for me to this, I just wanted to.