Future Iterations & Lessons Learned¶
This was an interesting project, initially intended to be a small Pi3 handheld with a small battery and a bluetooth keyboard to give me some more experience with FreeCAD and 3D printing wound up turning into a 500 hour project and a full blown portable and usable little computer. Not only did it cover FreeCAD and 3D printing but hit far more subjects from LTE connections, to soldering and electronics work, to ergonomics and industrial design, hardware configuration and power systems, software configuration, Linux system dabbling, and more. I am happy I got it over the line and that I have a final device. I kept moving the goal post on this project to challenge myself. A lot of firsts in this project for me. Never soldered before, never 3D modeled something this mechanical or small, never used FreeCAD at this capacity, never 3D printed anything remotely this substantial, I have never done any hobbyist electronics work. So for what it is, as my first shot at something like this, I am happy with it...but it could be better. Below are some things I would like to change and some problems with the current machine.
Things I would like to change:
- I am not the biggest fan of the HDMI cable setup. Ideally I would like a ribbon cable of sorts. I did experiment with some but they were flimsy and some of the funky connectors were causing the screen carrier to be even thicker than it currently is.
- If the current HDMI solution stays in place, the HDMI carrier needs to be repositioned to give the Pi headers and heatsinks more clearance in the chassis.
- The display itself I would either like to get rid of for a thinner and larger display. Maybe a repurposed laptop display or keep the current display and utilize some of its features. Touch, built-in amp with the audio passthrough somehow wired directly to the front speakers. I would also like to make some spring loaded buttons for the screen cover to access the OSD buttons externally.
- A custom mechanical keyboard would also be nice but a mechanical keyboard build is an entire separate project. But I have always wanted to build one so it could be in the cards for the future.
- A more robust cable management system. If I had known this project would end up being this complex I may have tried to make an internal daughter board/hub to wire everything to and I would have invested more time in soldering and proper soldering equipment.
- More I/O. Ethernet could be possible directly from the Pi with a custom male to female patch cable wired directly into the back plane part. There is also an unused speed charging port on the internal hub that could be wired to the backplane with a 90 degree USB adapter, so that could also be a potential.
- This would need to get tested further but someone on a forum mentioned these powered hubs can still pull power from the Pi via the USB upstream despite it having dedicated power. So when I was soldering the cables for the internal hub I could have abandoned the VBUS wires to force the hub to use only the hat’s 5V output. Not sure it matters, power is fine, no flickering or brownouts so far. I tested the system once without a hub and it introduced tons of flickering and brownouts.
- A flexible solution for the charging port instead of the current rigid solution I designed would be nice. The current location and design of the charging port is simply not good.
- This would be a big change and design overhaul, but remove the 2x2 cell battery pack from the HAT and run wires to a 4x1 pack that lies flat inside the system. It would open up more space in the rear of the system and distribute weight better.
- A full reprint in PETG for the chassis and PLA most everywhere else is something I am interested in. PETG just looks very different than PLA when printed so it is an aesthetic thing I would need to experiment with.
- The colors in general of the device I am not happy with. My intent was for this to look like an old 80s laptop or a Tandy1400 vibe, but ended up looking like something military, which was not my intent. Eventually I just leaned into that aesthetic. Simply replacing the green parts with any other color would probably fix this.
Some lessons learned and known issues:
- I intended for the UPS system in this machine to always be on even when the Pi is halted, and then woken up with the momentary switch. The front momentary switch works but when the Pi is halted the fan defaults to “on” at 100% speed. So the UPS switch is what I end up using the majority of the time for power. I thought I could configure individual pin power somehow in software during a system shutdown to kill the fan. This is not the case without killing the entire Pi header, which would render the momentary switch un-usable. So I think an electronics solution would need to be in the cards to make this work the way I want (MOSFET + pulldown resistor) but I need to dig into this deeper and it was out of the scope for v1.0. I might be missing something completely on this subject though, so I will eventually revisit this.
- The serial port was a late add to this project and it works. Most of the time. But I did notice sometimes when COM’d in with an external device I would receive garbled text back. This could be my faulty soldering or some form of interference.
- Between my novice soldering, all of the exposed components, looped up antenna leads, unshielded modified USB cables that got untwisted at soldering joints, flimsy dupont connections, and just overall stuff buried in this machine I fear I may have created an unhealthy environment internally that could certainly be introducing some EMI or something to that affect. Even with speakers plugged directly into the internal hub, I was getting audio cracking. Audio signals are notoriously sensitive. This was cleared up by wiring them directly to the Pi's USB ports.
- 2.4G WiFi stopped working. No idea why. Then it started working again. Then stopped again. Could be EMI, could be something else. I read some people had the same issue with the Pi4 in general, so it might just be a Pi4 quirk. It worked in all testing until my final build-up. It is something that needs a revisit.
- I still think I have a lot to learn on the 3D printing front. This was intended to be a project to get me more familiar with my printer, and it sure did. I came a long way from early prints as far as quality goes. I just feel like quality could be better with an A1 printer.
- The LTE modem was a challenge to get up and running. I thought it was going to be a simple SIM (from any carrier) + Modem + Adapter then plug-in play without much headache. I had issues with two carriers before I settled on Verizon. I went through three NVME to USB adapters before I settled on the one I used. Then I bought three used E-25A Quectel modems off ebay. Turns out two were straight up broken, they were not detecting a SIM. I got one to work on Windows 10, but no dice on PiOS. There is an exhaustive well written guide here to get that modem to work on a Pi. I eventually gave up and went with an EM7455 that people had a bit more luck with so ModemManager could do the heavy lifting for me. The final working configuration was borderline plug-in play. So yeah, I was fighting carriers and some hit or miss customer support, faulty devices, and RaspiOS plus the physical internal layout of this device itself.
- LTE signal strength is weaker than when it was wired to my desktop PC. I actually installed the modem and everything in place in the chassis, then ran a USB extender to my PC's front USB port and was able to get a signal in a basement, but when wired to the internal USB hub I could not get a signal in the exact same location. Probably a USB power issue. Not too sure how to fix that one.