PiPad – How to build a tablet with a Raspberry Pi

The Project

When I stepped into the Raspberry Pi for the first time on the web I immediately started thinking about a cool application of this amazing mini computer. There are actually a ton of very interesting projects it is possible to dive into using the Pi, ranging from a relatively simple web server to pretty complicated home automation stuff. The one which ultimately caught my full attention was with no doubt the PiPad, whose name and idea I am borrowing from Michael K Castor. So, first of all, thank you very much Michael for pioneering this application and for sharing your fantastic experience on your blog! I took inspiration from his work in the first place personalizing pipeline and components. Adding the Pi Camera Module is a good example (thanks Amandine Esser for pushing me to always raise the bar!).

I also need to address a huge thanks to Pierre Esser who helped me out with the electronic part of the project. My electronics skills are unfortunately very limited (work in progress on that) and his help was absolutely fundamental to put together an ON/OFF button which could power at the same time the board and the screen.

Before diving into the technical details I thought it would be worth sharing how the tablet looks like right now, just a couple of days after I finished putting everything together. Here a demo video. Seems to work pretty well actually!

I think we are done for the intro, so let’s get started.

The basic idea is to do the following:

  1. Get a Raspberry Pi
  2. Get a touchscreen
  3. Power both board and screen with an external battery
  4. Connect to the Pi all the necessary devices (WiFi dongle, bluetooth, camera, audio output etc)
  5. Build a wood enclosure with enough room for everything and with an easy-to-open structure (book-like) to replace any broken/mis-functioning pieces in the future.

The plan sounds a little bit oversimplified as it is stated above but those are the main points.

What I needed

How I did it

I started with the electronics. I plugged mouse, WiFi dongle, keyboard, Camera Module, SD Card (with Noobs – I planned to install Raspbian) into the Raspberry Pi. Then I focused on the screen. Here the first issues started raising. As soon as I began checking the cables I realized I had committed quite a big mistake. As explained here on the Chalk-Elec website the screen can be powered either by external power supply (5V/2A) or by USB. The second option was the one I was looking for as I planned to plug the screen directly into the Pi and get power from there. However by default the LCD can be run only via external power supply, which is not exactly what I had in mind. You don’t really want a tablet which needs  to be constantly attached to a plug. Not very portable I would say. For USB power to work some soldering is needed, as we have to detach a 0R resistor from a specific position and move it to another dedicated place on the board. Not too complicated but still a bit risky as I was not even sure I had enough voltage to power the LCD via the Pi. I was instead pretty sure of the fact that 5V were definitely enough to power Raspberry or screen alone.  Hence I went for the solution in parallel, also in the light of the future need for an ON/OFF button. The idea was the following:

  1. Cut a USB cable and solder the red wire (one of the 2 bringing power) to one of the external ON/OFF switch connectors. This USB cable links the battery to the switch, carrying 5V.
  2. Cut a second piece of wire and solder it to the central connector to get the power out of the switch. This piece of wire will work as a bridge between the ON/OFF button and the screen/Pi.
  3. Cut the external power cable provided with the LCD. The pin side of the cable will be plugged into the screen board while the other extreme will be soldered to the wire at point 2, ensuring 5V to the LCD.
  4. Cut an external power cable used to recharge mobile phones. The mini-usb side will be plugged into the Raspberry while the other extreme will be soldered to the wire at point 2, ensuring 5V to the main board.

I followed “my instructions” and there you go I had a fully functioning ON/OFF switch for my tablet. I connected everything as needed, switched on the button and both the Pi and the screen powered up.

I won’t spend too many words on the software side of the project. The first experience with Raspbian was pretty smooth. I needed to tweak a little bit the system to have the WiFi dongle work and to get the screen at full size. I also had to calibrate the LCD to adjust for my touch. Nothing impossible actually. It was everything pretty straightforward and without too much of an effort I had a fully working touch screen.

After making sure all the electronics was in place I started working on the enclosure. I wish I had a CNC machine to cut the plywood in a clean way. Unfortunately this was not the case. I was aware I had to sacrifice precision but it was an acceptable trade off in absence of more accurate machines. Hence I began with the frame following the below strategy:

  1. I cut 8 pieces of wood from a long regular plywood stick. Those would make the external part of my case. I glued them together 4 pieces at a time to obtain 2 separate frames.
  2. I connected the 2 frames with the hinges, making sure the folding was smooth enough to ensure a comfortable closing/opening of the tablet.
  3. The time for a first check had arrived. I needed to put all the electronics in place to achieve two main results. Optimize as much as possible the limited room I had available under the screen and consequently decide where to carve the frame to expose the key components (SD Card, USB, battery recharge, audio). As soon as I figured out the exact position of all my pieces, I also decided where to cut the enclosure and went on with all the carving. Specifically I created holes for the battery charger (bottom frame), ON/OFF switch (both frames), audio jack (bottom frame), USB exit (bottom frame), SD Card (bottom frame) and neodymium magnets (both frames). For all this wood work I used nothing more than drill, exacto knife and saw, cleaning everything up with rasp and sandpaper.
  4. I had my frame almost ready. Now, assuming that the top of it would have been covered by the screen, I still needed a back. So I went for another piece of thin plywood and cut a rectangular slice just for this purpose. I glued it to the bottom frame and after making sure everything had dried correctly I drilled the last 5 holes, 1 for the Pi Camera Module (which then would be used as a back camera), the other 4 for the status-lights of the external battery (to be able to check if and when to recharge it).
  5. Time for some varnishing. The enclosure was ready hence I moved to the next step which was to varnish the whole thing (a couple of layers were enough).
  6. Then I proceeded with putting all the electronics in place. I screwed Raspberry and Camera. I connected all the cables to the board and glued the relevant pieces into their respective holes (magnets included). I laid the battery and fixed it with extra strong double side tape strips. The same strips were quite useful to fix the screen to the top frame and finally close the enclosure.
  7. And now the moment of the truth. I switched it on and.. the screen lighted up and the PiPad booted! Fantastic! It was (and it still is) working!

Next Steps

I am pretty glad of the result, I must admit. For the moment I don’t have any specific plans to upgrade the tablet with new hardware. I still need to focus on the software side of the project and solve a couple of annoying issues. First of all the sound which is not working or wrapping the Camera Module into a more user-friendly interface rather than having to go to the command line every time. The touchscreen works smoothly (at least with Raspbian) and also the virtual keyboard I have installed is not too bad.

I also have to mention that a couple of months ago there was the official release of the 7″ Raspberry Pi Touchscreen which will definitely be a game changer and will probably deprecate pretty soon tablet solutions like mine. This is of course very cool as the community is always working very hard to continuously raise the bar.

There is still work to be done but the first results are pretty awesome! Keep you posted then!

by Francesco Pochetti
Share!Share on Facebook12Share on Google+1Share on LinkedIn15Tweet about this on TwitterEmail this to someone