First GUI test

A project log for DIY Spin Coater

A spin coater is used to spread a thin layer of liquid on a flat surface to a very precise thickness, like photoresist on a PCB.

jeroen-delcourJeroen Delcour 07/21/2023 at 11:310 Comments

While waiting for the rest of the parts to arrive, I got started on the user interface. It's programmed using MicroPython running on an ESP32 dev board. I'm very comfortable with Python and had dabbled in MicroPython before, but this was definitely a challenge. Of course, I couldn't use any of the well-known GUI frameworks for Python because those are made to be used on desktop computers. So I had to start from scratch and write a very simple framework to let the user navigate through different screens. It was a lot of fun going back to basics. I ended up writing an update loop that runs different draw functions based on where the user currently is, kind of similar to how ReactJS works. The resulting interface is simple, but intuitive -- at least, I like to think so.

Here's a first test video. I hadn't written the code to communicate with the ESC yet, so the RPM values are always zero.

Here's a picture of all the electronic components roughly laid out in the way I want to connect them.