In the dimly lit basement workshop, I was surrounded by a cluttered array of electronics and 3D printer parts. Each item, though disparate, represented a piece of the grand puzzle I was determined to solve. The goal: to create the ultimate 3D-printed Raspberry Pi 5 laptop.
The project began with the Raspberry Pi 5, 8G. It was the heart of the machine, providing the necessary processing power and memory for multitasking and running complex applications. Its compact size and versatility made it perfect for a DIY laptop.
For the display, I chose the Waveshare 10.1-inch DSI touch screen. This screen was not only large enough to offer a comfortable viewing experience but also had touch capabilities, which would add a modern, interactive element to the laptop. To connect the display to the Raspberry Pi, I used the Waveshare 300 mm DSI FPC Flexible Cable, ensuring a secure and flexible connection.
Next, I incorporated a Micro HDMI to HDMI Multifunctional Adapter. This adapter would allow for easy connectivity to external displays and projectors, expanding the laptop's functionality for presentations or larger viewing needs.
Storage was a critical consideration. I decided on a PCIe To M.2 Adapter Board to integrate a high-speed SSD. This choice significantly boosted the laptop's storage capabilities, allowing for quick data access and improved overall performance.
Power management was another crucial aspect. I used a Buck Boost Converter Anzeige, a Buck Boost Board DC 5.5-30 V, to regulate the power supply to the Raspberry Pi and other components. This converter ensured that the device received a stable power input, regardless of fluctuations from the battery or external power sources.
Speaking of the battery, I selected a 2S 2A 3.7V Step-Up Boost LiPo-Charger USB C auf 8.4V. This charger was perfect for efficiently charging the lithium-polymer batteries, providing a robust and reliable power source for the laptop.
To protect and manage the battery, I installed a 2S 10A HX-2S-D20 7.4V (8.4V) BMS Li-Ion LiPo Protection Board. This board ensured that the batteries were charged and discharged safely, preventing any potential damage from overcharging or excessive current draw.
With all the components ready, I designed a sleek, ergonomic laptop case using CAD software and printed it using a high-quality 3D printer. The case was customized to fit each component perfectly, with vents for cooling and cutouts for ports.
Assembling the laptop was a meticulous process. I carefully mounted the Raspberry Pi 5 onto the base of the 3D-printed case, securing it with tiny screws. The Waveshare 10.1-inch DSI touch screen was then attached to the top half, connecting it to the Raspberry Pi with the flexible cable.
The Micro HDMI to HDMI Multifunctional Adapter was neatly positioned, ensuring easy access to the HDMI port. The PCIe To M.2 Adapter Board was installed next, with the SSD securely slotted in place. I connected the Buck Boost Converter and the LiPo-Charger, carefully routing the wires to maintain a clean and organized interior.
Finally, the batteries were added, connected to the protection board. The laptop case was then closed, the components securely fastened inside. With a deep breath, I pressed the power button. The laptop sprang to life, the Waveshare screen displaying the familiar Raspberry Pi OS interface.
I smiled with satisfaction. The journey had been challenging, but the result was worth it. The ultimate 3D-printed Raspberry Pi 5 laptop was a reality, a testament to innovation, creativity, and the power of DIY engineering.
Most of the Parts you can find on Amazon, Berrybase or Eckstein. No special Special parts required. Shop-Links are only a suggestion where I bought the parts, with the exception of the Touchscreen, this I bought from Eckstein, since it was faster delivery and cheaper.The Parts are designed to be printed in SLS on my Formlabs FUSE1 and can be printed all at once (Preform File is attached). They should be also printable in SLA if your Printer is big enough. FDM probably not. You'll also need a soldering iron, pliers, screwdrivers, silicone cables and screws (M2.5 + M3) a.s.o. Apart from the common parts I tried to list everything else.
Not many major parts are involved. Here is an explosion view of the main components:
- 1) Body (3D Print)
- 2) Raspberry Pi
- 3) Battery Cover (3D Print)
- 4) Cover (3D Print)
- 5) LCD-Frame/Backcover
- 6) LCD Panel
- 7) Keyboard Tray
- 8) Keyboard
In Summary follow those steps:
- Solder Push Button cable to the Pi for power ON/OFF
- Mount the Pi and IO-Shield
- Insert Battery-Pack
- Mount and wire Buck converter and Li-Ion charger
- Optional: Place GPIO breakout board on the Pi (or use pins for all connections)
- Optional: Mount and wire PCM5102-Adapter
- Mount and connect NVME-Adapter
- Solder 4x 30cm Silicon-Cables to the LCD-Lines (5V, GND, SDA, SCL)
- Plug in the 30cm DSI Cable into the LCD
- Good time to do a testrun and get Rasbian to work with the LCD
- Glue the 2x3x10mm magnets into their place in the LCD-Frame
- Mount the LCD into the LCD Frame
- Mount the LCD-Panel Assembly to the Body of the Laptop
- Wire the LCD to the RPI5
- Prepare the Cover with the Slide switch and Power Button
- Solder Pucs Button to the Power-Button cables from the Pi
- Solder the slide Switch to the Power distribution lines
- Fix both switches to the Cover
- Wire the Terminals at the Keyboard-Frame for charging the Keyboard to the 5V and GND Line
- Mount the Cover into the Body
- Place the 2x3x10mm magnets into their place on the body. No need to glue them in place, they be held by the keyboard frame
- Screw the Keyboard frame into the Body
- Use r4mm Roundrubber for spacers in the two front Corners of the Body.They should stick out by about 1mm
- On the Bottom you can place 4 Rubber-Feet (10mm diameter)
- Place the Keyboard and you'r done
- 1) Raspberry Pi 5
- 2) Waveshare HDMI-Adapter
- 3) Battery Pack
- 4) BMS
- 5) PCM5102
- 6) GPIO Breakout-Adapter
- 7) Step Down Converter
- 8) 2S Li-Ion Charger
- 9) Waveshare PCIe to NVME Adapter
First step is preparing all the screw holes with either M2.5 threaded inserts (holes are 3.1mm) or M3 threaded inserts (holes are 4.1mm). Some holes are 2.1 mm. for those holes use a M2.5 thread cutter (IO-Shield and Keyboard charging terminal).
Nest step is soldering some thin silicone cables to the power bottom pads on the Pi. Its easier to do it outside the housing.
You can also solder them from the bottom to hide the cables better. Next step would be mounting the Raspberry Pi (Waveshare HDMI-Adapter, not shown here) and the IO-Shield.
The IO-Shield can be replaced to accommodate other SBCs, as long as they follow the mounting-hole Layouts of the Raspberry boards (e.g. some of the Banana Pis, Asus Tinker Boards etc). Here I made the shield for the RPI5 + Waveshare HDMI-Adapter.
Of course you can also replace the mounting holes to hold other SBCs. Steps files are available so its no problem to import them to any CAD-program you like to use. As long as it has a DSI-Interface for the LCD and fits inside the space where I mounted the RPI5 and the Waveshare HDMI-Adapter (aprox. 95x85mm) it should be fine. By moving or removing the cable tunnels you can gain a few more mm as well.
Next step is placing the Battery pack and close it up.
Now place the Step-Down-Converter and Li-Ion Charger and wire them up according to my scratchy Schematics.
Optional step if you like, clip the PCM-Module in its place and wire it up to the GPIO-Shield as shown in the diagram. Dont forget the solder-jumpers on the back !
Now you can place the NVME-Adapter using two of the hexagonal mounting pads. those can be attached magnetically to the Body using 10mm and 8mm disc magnets. The 10mm Magnets you glue into the Body and the 8mm ones on the hexagons.
Just briefly how to wire the LCD
- Solder 4x 30cm Silicon-Cables to the LCD-Lines (5V, GND, SDA, SCL)
- Plug in the 30cm DSI Cable into the LCD
I could not use the JST-connector since there is not enough space for the plug. So I soldered the I2C cables directly to the pads of the JST connector and +5V/GND to the pins south of the pogo-pins. A 30cm DSI cable enables you to mount the LCD in the "normal" orientation, so there is no need to flip the screen via software.
Now I think its a good time to do a short test-run and maybe setup Rasbian if you didn't do it already.
Here some rescources how to get things working under Rasbian Bookworm:
Waveshare 10.1" DSI Display Install and Boot from NVME SSDSome infos about the PCM5120A How to get it to work with RPI5 (dont use 5V/PIN2 use 3.3V/PIN1 !!!)
If everything works fine you can finish up the LCD-Frame:
Glue the six 2x3x10mm magnets into their place in the LCD-Frame. Take care of their orientation. You'll need their counter parts in the Body later on.
Fix the LCD into the LCD Frame using 4x "Big Sammy" Flathead screws. The other 4 holes are for when you need to mount the LCD upside down e.g. if you only have a 20cm DSI cable. You can cover them with an other set of 4 screws and 4 nuts. You might need to cut down the screws a bit if they interfere with the circuit board.
Mount the LCD-Panel Assembly to the Body of the Laptop using two M3x35mm hex socket screws, two washers and two self-locking nuts on either side.
Connect the DSI cable to the RPI5 and solder the power and I2C-lines to the GPIO header.Now you can prepare the underside of the Cover with the Slide Switch, Power Button and charging terminal for the keyboard.
- 1) The Battery switch, see schematics
- 2) Power Button, a 6.1x6.1mm tactile push button wired to the RPI5
- 3) Terminal for +5V and GND for charging the Keyboard via Pogo Pins added to the Keyboard
After that you can mount the Cover into the Body using three M2.5 screws.
Place an other six magnets in the cavities of the body. You can adjust the strength of the lock by adjusting the amount and placement of the magnets.
Now place and screw down the Keyboard tray.
After placing the Keyboard, your RPI5 Laptop is ready to use....
First Test print and fitting of the components. A few hickups on the way, but nothing a Dremel, super glue and some filler cant fix ;) I Modified the CAD files accordingly...
Now we are coming to the almost finished parts. Here the main body with base paint. Details will be added later.
The LCD-Frame is very thin and prone to warping. I added a fixation skeleton to it but it still didn't retain its form completely. Especial after applying the primer/filler it started warping again. You could try some sort of "annealing" to remove some of the tension and reform the housing. After warming up to about 90-100°C in an oven, clamp it down on a stabile and flat board and let it set. Nylon is a themoplast so you can repeat the steps as often as you need to as log as its not above the melting point. Temperatures >180°C should be avoided. Less than 50°C is probably useless.At the end, to mount the display into its frame, I still would have needed some silicone sealant all around to really bind the LCD and its frame together. Not what I was aiming for...
At the end I didn't like the result very much, so I made an second version consisting of two parts which can be screwed together sandwiching the LCD in between. The frame is now 2mm thicker and I had to adjust the design a little, but I like it more than the first version.
I uploaded a second version as a separate step file. You can decide yourself which one you like best... here some Images of the second version. Had to do some Dremel modification afterwards and added them to the 3D file afterwards.
Now to the finale :)
Here some beauty shots of the final assembly:
Enjoy !
PS: if anyone is interested in the 3D printed parts, printed on a FUSE1 in PA12, just drop me a line... i also offer 3D print-service for your own parts...
Comments