I started writing this post on 02/05/2023, but got busy, so I am finishing it on 05/06/2023. By the time this post is available the lightbox will have been done for a long time.
I wanted by lightbox to be fairly large, but I did not want to break the bank so I decided to use cardboard. I used a program called Slicer for Fusion which takes a 3D model and slices it into layers that can be laser cut and glued together. I used the same piece of cardboard to for the construction of the whole project, so the thickness was one stable parameter I could put into the fusion slicer.
Stock Panel Inserts
I made inserts for each of the stocks, the idea behind the inserts is that they are easily swapable while still feeling permanent. If it were a commercial product the user could easily order custom inserts.
I made the inserts by first making a sketch with the dimensions for the inserts in fusion. I then made a projection of the sketch, and exported that as a DXF. I finally added a bitmap of the logo of the stocks I wanted. I then changed the stroke on the outline of the image so it can be easily cut.
To make the project look professional and finished I decoupaged newspaper around the outside of the lightbox. I think the decoupage ended up looking good.
I made some fairly significant changes to the lightbox code since the last blog post. I have a complete WebUI that allows the user to set what stock corresponds to each set of LEDs. The WebUI is very simple HTML because I did not have time to make a high quality front-end. The user can access the WebUI by
MicroPython especially on the Raspberry Pi Pico has very minimal support for libraries. This posed a challenge because I could not find a webserver that did what I needed it to, so I had to write my own. There did not seem to be any libraries supported that were able to handle requests coming into the server. I could only find the requests library that sends get requests. These limitations forced me to write my own webserver using only string manipulation. The code is ugly, but it works, you can find it on my lightbox Github repository.