The Protopocket is an open source, Raspberry Pi Compute Module 5 based reference development platform for mobile mainline Linux. It's a chonky phone you can build yourself!
While there are many great phones that can run Linux today, the Protopocket fills a niche of being designed specifically for development purposes, and being fully OSHW that any individual can build themselves. While it won't be great as a daily driver:
- Builds on a well supported, predictable platform (Raspberry Pi)
- Easy to debug (easy serial access) and flash (rpiboot)
- Modular (Swap in different hardware to test as needed)
The hardware as defined in this repository is "rolling", the specifications, configs, devicetrees, etc will evolve as the projects develops.
Current hardware:
- 3D printable case
- Raspberry Pi Compute Module 5
- Waveshare Mini Base Board (B) CM5
- Waveshare 6.25inch DSI Capacitive Touch Display
- Adafruit LSM6DSOX + LIS3MDL (ID 4517) Accelerometer/Gyroscope
Todo:
- LTE/5G Modem
- Battery, USB-PD Battery Charger, Fuel Gauge
- Ambient Light Sensor, Proximity Sensor
- Camera(s) (USB or CSI)
- Speaker, Microphone (I2S)
3D Printed Enclosure: https://www.printables.com/model/1266920-waveshare-625inch-dsi-display-case-for-raspberry-p
Instructions coming soon!
This repository contains the packages needed to build postmarketOS device support for the Protopocket.
There is a included script protopocket.sh, which can be used to insert symlinks from the device packages here into your local pmbootstrap pmports directory.
First, setup the symlinks with:
./protopocket.sh installWhen you need to run pmbootstrap pull, instead run ./protopocket.sh pmapull, which will automatically remove the symlinks before running pull, and add them back again.
To remove the symlinks run: ./protopocket.sh remove.
First compile the linux kernel:
pmbootstrap build --force linux-sineware-protopocketthen run pmbootstrap init and select sineware and protopocket as the vendor and device.
Then, install to the SDCard or via rpiboot/usbboot (mounted) using:
pmbootstrap install --sdcard=/dev/sdXYou should probably
pmbootstrap zapanytime you rebuild the kernel or device package.
