This is a Mini Raspberry Pi Zero Computer. You could connect a Small USB keyboard (with the help of a USB OTG adapter) use it as a small Linux Computer to tinker around with and run some simple programs on it.
This project does not take much time to complete, and could be done in a weekend, using some simple soldering and basic knowledge about Linux and the command line.
I am planning to use it to do some simple programming, and as a small mini server of files
Step 1: Electronics
I wired up the (2.4 inch) ili9341 LCD to the Raspberry Pi Zero W as such
LCD -> Pi
Vin -> 3.3V
GND -> GND
CLK -> CLK
MOSI -> MOSI
MISO -> MISO (May not be needed)
CS -> CE0
DC -> 18 (Usually GPIO 24 but I had issues when using that)
RESET -> 23 (Usually GPIO 25 but I had issues when using that)
LED -> 3.3V (You could connect it to another GPIO pin, but I prefer the back light to be always on)
Moreover, I put a used 1650mah Phone Battery (from a flea market), a 5V boost converter and a charging circuit in parallel. I desoldered the USB A Socket from the Boost converter to make it more portable. I Put a switch in series from the Boost converter and the Raspberry Pi to turn the device on and off.
Battery -> Charger and Protection -> Boost -> Switch -> Raspberry Pi
Take note that as the battery and Boost converter is not very strong, It may not be sufficient to power the Raspberry Pi in some cases. For instance, It cannot power multiple USB devices using only it's battery.
Step 2: Software
Firstly, I configured the Raspberry Pi to boot into the console.
To Load the LCD Driver, run this command
sudo modprobe fbtft_device custom name=fb_ili9341 gpios=reset:23,dc:18,led:24 speed=16000000 bgr=1
I added it to rc.local before the last line saying exit 0, so that the LCD Driver will load on boot. Just adding the command to a file is convenient
There are also other instructions (in the links below) telling you to edit other files to make it load on boot. That way willl also work
To Set up the X Server(Raspberry Pi desktop) on the screen, follow the X Server steps here.
To Set Up the console to show up on the LCD, follow the Enable Console step here
- Run con2fbmap n 1 to set the other n th console to show up on the Raspberry Pi. eg. con2fbmap 3 1
Step 3: Casing
To make the device portable and light, I used and bent some clear flexible plastic. A pen knife and scissors would be enough to make the cutouts for the micro USB and mini HDMI ports. After that, some clear scotch tape would be used to secure everything together.
At first, I used clear plastic from a broken pencil case, but after that, I found and used clear plastic from some packaging (usb hub), as it was (almost) the Right size. Even though there was some extra space, I used it to store some extra accessories (USB OTG Adapter).
Step 4: Things That Could Be Improved On
This is a simple project that took me less than 3 days to complete. However, you could improve it by:
- Adding the Raspberry Pi Camera
- You could see it in the prototypes, but it was ultimately removed as it make use power which could be conserved, and the camera connector on my Raspberry Pi Zero W broke anyways
- Making a better (maybe 3D Printed) Case
- This would make it stronger and more durable. For me. I was too lazy to 3D model and did not have a 3D printer, but you could also use other thin hard materials like acrylic etc.
- Setting up a touchscreen