[ bandan.das.name | Index ]

Weather Tablet

The Project :The idea was to create a really cheap touch screen operated weather tablet. The overall budget was $100.


Did I make it ? : Yes, but the budget constraint was not met :P


Parts list ?




Introduction :


Ideally, I wanted to have something that utilizes minimum power and is compact. Yet, I wanted to drive atleast a 14 inch LCD. So, my first approach was to use a ARM based board driving a LCD. Sadly, I realized that setting up a display driver from scratch and programming it will cost atleast three times more than my budget. The next obvious attempt was at a old laptop.


Hardware Setup :

Starting with the 600X, first of all make sure the BIOS isn't locked. If it is, there's definitely more work required. There's a ATMEL  24RF08 on board that stores passwords but I didn't feel like venturing into that area. So, in short, make sure with the Ebay seller that the BIOS isn't locked.

Rip apart the 600X and remove everything that you think is not required. Ofcourse, save the motherboard and the LCD display and the power adapter as well.

The first challenge is that we want the motherboard _without_ the keyboard and the trackpoint attached. Unfortunately, the archaic BIOS simply wouldn't boot without them. To be able to boot without the trackpoint connected, on the CMOS configuration page in the BIOS, change the value at offset 20h to 01[1]. That takes care of the trackpoint, but we still have the keyboard. I came up with a uglier hack for this : short some pins on the motherboard and fool it into thinking that the keyboard is connected. The starting point for this is the connector that goes into the keyboard connector slot on the board. Here's how it looks :




As an alternative, you can ofcourse just connect the ripped connector to the slot on the board and you won't get the 161/163 error s on boot.


The next step is to install the OS. I used a IDE to USB connector to connect the 600X hard disk to my desktop and then used VirtualBox to install directly into the disk. For the X environment, I used FluxBox. The touchscreen uses the usbtouchscreen driver and works pretty good.  Again, to save space, I cut the usb connector and soldered the ends directly to the motherboard. The optimal settings are pretty easy to find on the web, but here's my xorg.conf and evtouch.conf for reference.


Basic Working :


In the simplest sense, this is how I wanted it to work : When the system is powered on, Firefox is automatically started in full screen mode. There's a good addon for it called Full Fullscreen. The weather page I like the most is the Wunderground Full Screen Maps . So, Firefox automatically opens my default weather zip and the touch screen will allow me to browse around.  Here's what I have in my startup script :

firefox http://www.wunderground.com/auto/wxmap/MA/Melrose.html &


Problems :


Once the system was setup, the obvious problem was that I didn't want the system to be always running. Aside from the fact that I was concerned about the power consumption, the continuous noise from the fan was not pleasant too :) So, here's what was added to the startup script :


firefox http://www.wunderground.com/auto/wxmap/MA/Melrose.html &
xautolock -time 10 -locker "sudo pm-suspend" &


You can also take a look at my /etc/pm/sleep.d/01pcmcia


But there's a bigger problem here. The USB touch screen will not be able to wake up the system as I found out later that it's not a "remote wake up" capable device. So, I added in the touch switch circuit with a sensor at the side that you will be able to touch to get the system out of S3.


Here's a simple touch switch circuit using the universal 4049UB that draws power from the laptop power adapter fed through a 7809 :




So, that's it. xautolock gets the system to do suspend-to-ram after 10 minutes and when you need to wake it up, you press the touch switch momentarily. I attached it to the side of the picture frame. Here's how it looks :



And finally, here's the end result :