Part 8: A New Hope
New year - new update, although I hope the next update won't have to wait until next year...
Since the last post, I have taken delivery of the JB Weld glue and the 4mm standoffs, as well as the new top panel. I put them together and basically I now have a small PC with integrated touch screen - without internal PSU or any way to lift up the screen. But it's a step in the right direction.
The panel
The brushed steel panel (here still with the protective film) looks quite good, all the cutouts were done as requested, really good - as it turns out, in stark contrast to my measurements. The cutout for the screen could have been 1mm shorter and the whole panel 1mm wider and 1mm taller. It is not very noticeable, so I will probably keep it this way. But I am thinking about giving the panel a matte black paint finish to match the rest of the case, not the least because every single touch of the panel leaves a visible fingerprint on it.
For a first fitting without hinge or lifting mechanism, I decided to keep the screw holes as on the original panel. If I ever succeed in having a hinge-mounted panel, I will probably use a few LEDs to close the holes. You can never have enough RGB, right?
It took only about a week from the time I ordered it until the panel arrived at a cost of about 40 Euros, including shipping. I am really happy with the supplier, I can only recommend
John Steel (based in France) for any orders from Europe.
The screen
The screen has 4 eyelets to mount it with screws to something. The plan was to glue the 4mm mainboard standoffs to the back of the top panel and screw the screen into them. A first test with the JB Weld KwikWeld glue showed that it's easy to use and indeed very strong. For a change, the mounting worked as planned, which was a nice surprise. The glue job doesn't look too professional, but as it's hidden on the inside, I preferred having a strong bond to having a nice-looking one. The screen sits perfectly flush in the panel, just the cutout is slightly too large because of my faulty measurement.
First run
As you can see, the name and theme for the project have changed slightly, trying to make it a little bit more interesting. I might be adding a dust filter and some red backlight to the "HAL9000" cutout, to better fit in with the new theme. There's still a little residue from the protective film on the steel panel, which I didn't bother to remove yet.
Connecting the screen is easy, just one USB port needed, as it doesn't seem to draw more than 4.5 Watts. I am not sure how to connect it to the HDMI port on the I/O backplate, I don't really like the cable sticking out the back like it does now. I might just file off a little bit from the back panel so I can slide the slim cable through. Temperature is quite ok, only a few degrees more than with the original panel, running around 48°C in idle.
Lift-Off
Pursuing the hinge idea, I am still working on implementing some kind of lifting mechanism. I got myself a nice little microcontroller, the
Adafruit ItsyBitsy RP2040 and a matching motor controller, the
Adafruit TB6612. I chose this specific version of a RP2040 controller board because it can output 5V while operating at 3.3V. In theory, the microcontroller should be able to provide enough power for the motor controller and the motor, all of them running only off the USB power.
The ItsyBitsy controller has a Micro-USB input that will be connected to the PC via one of the internal USB headers, as the screen luckily needs only one USB connection for touch and power. These two controllers together should make it relatively straightforward to build a lifiting device with a tiny
stepper motor/linear actuator.
But as this is the first time I am working with microcontrollers or Python, there's still quite some learning to do...
I plan on having an application on the PC's screen which can be used to control the lifting of the screen and maybe also do some smart home automation tasks in the future. The .NET application and the communication with the ItsyBitsy RP2040 are basically done and communication via a virtual COM port works great. Now I just need to get the motor movement sorted out and then find a way to mount the motors safely in the case. Also still looking for motors with a larger stroke, but the space in the case is a limiting factor: the height can be a maximum of 70mm and the diameter of the motor a maxiumum of 12mm, so this is restricting the available choices a lot. Ideally, I would have wanted to get something with a 50mm or 60mm stroke, but I couldn't find any that were under 70mm long.
Next steps
ToDo: master the art of connecting the microcontroller and motor driver with the stepper motor and adressing them with MicroPython. All the samples available online are using CircuitPython and it's libraries, but I would prefer sticking to MicroPython - unless I can't avoid it. Definitely enough things left to do during the next lockdown(s)...