Summary

This is my Portable Raspberry PI 4 computer. design. Important for me was that the product has a mechanical keyboard. The rest of the design is worked around this keyboard.

Included is the Freecad Project and Step files. 

You can find them on Printables.

Print Size:

Keyboard considerations

The Keyboard is based on the 40 % Happy key, but the PBC with the 2040 Raspberry will not fit in the case (Height and port position). You may relocate the 2040 Pi and wire it with the PBC. I have printed the included Keyboard Casket and handwired the Keyboard. Is easier than you think. (Little Video). For the keyboard software I use Circuit Python with KMK.

Build:

Print the Casket:

Parts:

Silverwire, Solder&Soldering Iron, Diodes, Keyswitches and patience. And Some wires and the Pico2040 board.

Snap the key switches in.

Solder

Solder wires to columns and rows and connect them to the Pico 2040

Final:

Dont use the presoldered 2040 Board with the PCB. It will not fit. But you may solder wires to the PCB and relocate the 2040 Board.

The code.py configuration is included. You may need to take care of the row and column gpio configuration.

# Cols
keyboard.col_pins = (board.GP6, board.GP5, board.GP4, board.GP3, board.GP2, board.GP1, board.GP12, board.GP11, board.GP10, board.GP9, board.GP8, board.GP7)
# Rows
keyboard.row_pins = (board.GP21, board.GP20, board.GP19, board.GP18)
Keymap:

 If you using the Keyboard you will need a different front Cover. 

PCB Version:

PortablePi84_V27-TopCoverFront_KeyboardwithPCB

Handwired Version:

PortablePi84_V27-TopCoverFront_HandwiredKeyboard

Internal cabling

Symbolic Picture. Has changed already: No dupont cable for Pi power. See further down for more information.

You can see the handwired RP2040 tucked between the hinges.

Internal USB Port (Keyboard)

The keyboard is wired internally to the Raspberry Pi on the undersite (not a nice job tbh). Therefore one USB Port is closed off.

Battery cabling

On/Off switch and Power is mandatory. 

Battery checker connection is a Bonus.

I am not sure what boot should do.

As you can see I have done connectors on every cable to make assembly and disassembly easier.

For the Power cable refer to part list. (I have used dupont but the Pi was rebooting)

For more Clearance Underside. (Remark: On/Off must be off)

This battery hat have had  pogo pins that I have had to remove. (Snipping it)

I was able to unsolder the 5V pogo pin. The other I was not able to, so i soldered directly on the remains. I was not able to use SDA/SCL connection successfully. (need more investigation)

Power Connector fits fine on pinheader:(Please take care of minus and Plus!)

USB-C for charging.

USB-A is used for the Display.

On/off Switch Button is soldered in most left pin and middle. (not the mechanical solder part of the switch)

Assembly

Screen:

For Power delivery use touch input, else the display will not fit into the case.

Speaker Connection:

Connector type doesn't matter, but you will need it while assembly.

Screen Control:

Use double sided tape to stick remote into the groove.

Front Bezel

2.5 M Screews

BackCover:

3 M screews and nuts. Glue nuts to speaker for easier assembly.

HDMI Cable preparation:

If you using 2 HDMI Ports you have to nibble away on the side of the connector to fit booth into the Pi 4.

Black site must always be top.

Frontpanel:

Use M2 screw's to connect Battery meter.

BackPanels:

Most of them Switches have a connector.

Pi:

Use 2.5 M screws. Route internal keyboard cable (next chapter) to the side.

Battery:

Use 2.5 M screws.

Add Top:

This is the hardest part. Route all the cables trough the hole in the fontcover. You have then to place the monitor on the back of the case. Route the hdmi cable without connector under the PI. I you have problems with assembly you may use the split front cover.

This covers you can add later after the screen is attached.

Connect HDMI Cable. 

Keyboard:

Use M3 Screws. Place RP2040 between the hinges in the back.

Backpanels:

Insert back panels. It is a press fit.

Connect the Monitor Power to the Battery.

Connect usb-c power for charging.

Connect the internal port to the RP2040

Connect Audio extension Cable. (This is an old print, in the current version you have more place.

Frontpanel:

Screw down frontcover. Use 3 M screws.

Hinge:

Use M4 screws for hinge. Glue again the nut to the top case makes live easier.

Finalize cabling:

Hope you have done enough connector. 

Speaker:

Connect Speaker cables. (inner cables are ground/-)

BackCover

Finalize the build with back cover. Use 3 M screws.

Interface Panels

 

For the interfaces in the front and the back you may design you own panels for your needs.

Example:

Red button connect to the battery boot button (Momentary)

Black button connect to the On/Off Switch of the battery (Switch)

Audio stereo Jack 

USB C to load the Battery 

Second HDMI out 

Left red button Activate Battery Indicator (Switch)


Battery Indicator

I using a led battery Indicator to check the power level of the battery.


It is installed in the front panel. (2 M screws)

You press the Left red button to switch it on.

Parts for Build

All screws are 3 M except the Raspberry Pi / Battery and screen front panel. They are 2.5 m.
The hinge uses 4 M screws. It is helpful to clue the screws nuts to the hinge. 
You will need threaded Inserts for this Project. A lot of them.
This are amazon affiliate links.

 USEU
Displayhttps://amzn.to/3LWkLKohttps://amzn.to/4eX48eI
Keyshttps://amzn.to/46AKb9Xhttps://amzn.to/3VYQO0O
KeyCapshttps://amzn.to/3ApKKHrhttps://amzn.to/4bzsTe8
Diodeshttps://amzn.to/46Bs1oIhttps://amzn.to/3VXlOOF

Raspberry Pi PICO or Pico clon

compatible with Circuit Python for keyboard

  
Raspberry Pi 4  
Momentary Buttonshttps://amzn.to/4dcLuOYhttps://amzn.to/3AhdUbR
Latching Buttonshttps://amzn.to/4fzOVRfhttps://amzn.to/3zKdBpy
Power Switchhttps://amzn.to/3A9KEnhhttps://amzn.to/3zvx7pT
HDMI Porthttps://amzn.to/3MitJC5https://amzn.to/4eQv4Nf
Micro USB C Porthttps://amzn.to/3LZblhohttps://amzn.to/3zrjiIX
Hdmi Cable (2 if you want an hdmi port in the back)https://amzn.to/46E8fZshttps://amzn.to/3WwoFys

Battery Indicator

(Not that precise but helpful)

https://amzn.to/4fFhltkhttps://amzn.to/4cT12H2

Usb-C Connector

(Battery Power)

https://amzn.to/4dACliGhttps://amzn.to/3xDPMPX

Battery Hat

(Is ok, but you have to remove the pogopins and solder the connection)

https://amzn.to/3LWVT5bhttps://amzn.to/3xR1ab8
21700 Batteries (2) https://amzn.to/3VXi6od
Speakerhttps://amzn.to/3WVI0dQhttps://amzn.to/46d5deN
Stereo Plug https://amzn.to/4cvkSIl
Stereo Port Conrad
   
M 2.5 screwshttps://amzn.to/3WRHeOZhttps://amzn.to/4czJb8c
M 2.5 insertshttps://amzn.to/4cl1yNlhttps://amzn.to/3LgZnPK
M 3 screwshttps://amzn.to/4ddFqFDhttps://amzn.to/4cPSGQr
M 3 insertshttps://amzn.to/3WWMnWfhttps://amzn.to/4cwPRnC
M 4 screwshttps://amzn.to/4ccP0HGhttps://amzn.to/3XTfIS4
Power Cable for Battery and PI ! Sadly slightly to short. You have to extend it.https://amzn.to/3WVIzV0https://amzn.to/467W32W
Shrinking Tubehttps://amzn.to/4cg6BOVhttps://amzn.to/4cLk5mL

Tools:

Soldering Iron

Cables in different colors.

Cableconnector (Makes assembly and disassembly easier)

About Printing

For printing you will need support (tree/organic). 

Positioning the parts should be obvious. ( Largest Plane down)

Sadly you will need a bigger Printer for the parts at least 300 mm X 300 mm.

Important: I have recognized that the hinge may break with to less infill. I use Prusa Slicer to increase the infill for the hinge:

Main Parts are:

Screen Rotation for Raspberry Pi

To fit better the screen is rotated upside down. For the Desktop you can set it in the “Screen Configuration”. 

For the console itself you have to set it in the 

/boot/firmware/cmdline.txt

File: (One line!)

fbcon=rotate:2 video=HDMI-A-1:1600Mx600,rotate=180

Result should like as below:

console=serial0,115200 console=tty1 root=PARTUUID=309f1c16-02 rootfstype=ext4 fsck.repair=yes rootwait cfg80211.ieee80211_regdom=AT fbcon=rotate:2 video=HDMI-A-1:1600Mx600,rotate=180

Roadmap: