Pi Package

by Hackin7 in Circuits > Raspberry Pi

724 Views, 8 Favorites, 0 Comments

Pi Package

DSC_0122.JPG
DSC_0118.JPG
DSC_0123.JPG
DSC_0124.JPG

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

Electronics

DSC_0100.JPG
DSC_0102.JPG
DSC_0099.JPG
DSC_0105.JPG
DSC_0104.JPG
DSC_0103.JPG
DSC_0101.JPG

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.

Software

DSC_0107.JPG
DSC_0106.JPG
DSC_0110.JPG
DSC_0108.JPG
DSC_0120.JPG
DSC_0111.JPG
DSC_0109.JPG

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

Links

https://pi0cket.com/guides/ili9341-raspberry-pi-gu...

http://marcosgildavid.blogspot.com/2014/02/getting...

https://github.com/notro/fbtft/wiki/Framebuffer-us...

https://github.com/notro/fbtft/wiki/Boot-console

Casing

DSC_0117.JPG
DSC_0121.JPG
DSC_0119.JPG

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).

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:

  1. Adding the Raspberry Pi Camera
    1. 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
  2. Making a better (maybe 3D Printed) Case
    1. 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.
  3. Setting up a touchscreen