This model is a pun on having your personal “cloud” : the cloud shaped case, meant for the Framework laptop mainboard, allows it to be used as a standalone server to self host whatever service you fancy. Each colored rainbow-arc light indicates the health of one of the hosted services, so that their statuses can be seen at a glance.
TL;DR : To make your own, use the provided print file and edit this sketch with your URLs and WiFi credentials https://wokwi.com/projects/418526924192944129
Physical components :
The case is comprised of two halves that snap together with magnets, with the mainboard sitting in between. It has four “feet” in the bottom (4 cloud bumps that are the same height) so that it sits flat on a surface despite the cloud shape, and some vents underneath the fan allow for proper ventialtion.
There's a slight recess in order for the Wifi module to stay in place, and the mainboard can be held in place with 3mm screws thanks to the included standoffs.
The case also includes a cylindric hole for a piece that's meant to sit on top of the power button of the board, allowing it to be pressed to power the computer on/off.
The top of the case features 8 holes on each side for strands of 4mm optic fiber to be inserted : this gives the strands an arc like shape, mimicking a rainbow, and underneath each hole is a RGB LED that lights up in a different color.
The LEDs are controlled by a custom ESP32 module for the framework laptop made by spacehunh , which can be plugged directly into the mainboard.
Software components :
Each of the 8 rainbow arcs is mapped to one service hosted on the framework : Home Assistant/PiHole/Photoprism/Excalidraw/Jellyfin/AudiobookShelf/CalibreWeb/CosmosCloud to manage the whole thing.
The ESP32, powered by the USB-C port, connects to the Wifi and makes an HTTP request to each service's URL : if if gets an ok response (an HTTP 200 code), the corresponding LEDs light up. If however, the requests times out or the service answers with an error code (4xx or 5xx), the two LEDs turn off to indicate there's an issue with that specific service, allowing the user to be notified.
I've made the code available on this repo https://github.com/jessyjones/frameworkCloud so that you can get the latest version, it should be in sync with https://wokwi.com/projects/418526924192944129 which allows you to edit and test the circuit online
Printing guidelines :
The included PrusaSlicer project includes all the pieces of the case : while the two main pieces (case top and bottom) did not fit on any printer I owned, I prefered slicing them in half inside the slicer rather than in CAD in order to be able to add and tweak the connectors on each side. I've used support for every piece except the switch cover, with 15% infill.
There are four plates included, so you might need the latest version of PrusaSlicer (2.9)
The case includes magnets on each side so that the it can be easily opened to access the mainboard if needed : the slicer file includes a pause for each part so that the magnets can be inserted by the user during the print.
Double check the orientation of each magnet when inserting it or you may have to extract them to flip their orientation as I did for one of them (see picture below).
If that happens, a dab of glue should be enough to hold them in place as the clearance is pretty low, but you'll miss the benefit of having the magnet embedded.
Assembly :
Once printed, align the two halves of each piece using the connectors for alignment and add glue on each half :
The assembly is quite straightforward, the standoffs should allow you to secure the board but I'd recommend using threaded inserts if you have them in the right size.
The recess for the WiFi board includes a chamfered top that keeps it from coming out of the case once inserted and the ESP module should be taken out of its case.
You'll need a Stemma QT cable to connect to the ESP32, this gives you access to GND, VCC, D3 and D4 so you can easily connect the Neopixels with D3 or D4 going into DI on the strip, and VCC and GND to their corresponding pins. I recommend plugging in the unused cable in the Neopixel strip either way so that it's not just dangling in the case. You can then add a four-wire cable between your two Neopixel strip so that the second one can receive power, ground and signal from the first one.
(Just imagine Neopixel strips instead of circles)
The author marked this model as their own original creation.