Everything
- Details
First job, Rip the laptop apart
This part was Fun ! See images below.. No, seriously, This took a while. I disassembled the case, and removed the LCD from the motherboard. I kept the motherboard without keyboard or trackpad and the LCD along with the metal screen on the back of the LCD.
Rebuild the laptop
I used a 16x10 frame from Homebase. This frame has plastic sides which I thought would be great, but it turned out they flex too much and were hard to fix things to, next time, I'll try for an all wooden frame I bought some hardboard and cut a piece to fit inside the frame, I then marked where the screen would go and cut a hole. I then carved out where the mounting lugs of the frame met the hardboard so the screen sat practically flush with the front of the hardboard. It was then epoxied in (araldite).
After this was done I masked off the screen and connector and sprayed the whole thing matt black. I then used some offcuts of hardboard to fit a panel behind the screen with a small gap. I then mounted the motherboard to this (more epoxy). I then attached the frame from a smaller picture frame over the mainboard, aften cutting some slots for the power, pcmcia, video, PS/ and USB connectors.
For the mount (or matt ?) I tried to cut one myself, but it took two hours, looked awful (the second one had blood on...). I then went into Alnwick and tried the Alnwick Picture Shop, where the nice lady cut me a mount the perfect size in about ten minutes (after working out what I was trying to do), it only cost a pound as well !
I could then assemble the frame, glass, matt and hardboard containing screen and motherboard. I glued the hardboard into the frame with a bead of bathroom silicone sealant (in case I ever have to get it out again). I epoxied two wire hooks onto the back of the frame at roughly 45 degrees, so I can add some picture wire and hang this on two hooks, its not actually that heavy.
I rewired the laptop power supply cable onto a piece of White Cat 5 (I know, 24AWG Cat 5 can't take the current, well I used 4 conductors for +ve and four conductors for Gnd, so it should be fine !) I also fitted a black push button into the smaller frame and soldered the wires directly to the laptop motherboard for a power switch.
Test and debug
When I turned it on. Eureka ! It worked first time. Although it does have a slightly annoying habit of not starting / dying every so often if its been moved. Its because the processor board comes loose, because its got three screws in it, none of which are in the corner where the connector is ! Its a known design flaw with the Cpi, and mine doesnt have the small metal clamp they used to fix it ! Well see how the family like it at Christmas.
- Details
I set cron up to do three jobs;
- Restart the slide show every six hours or so to pick up new images
- Turn the display off in the evening
- Turn the display back on in the morning.
- Details
About half way through the project, I decided that the family would want some control, and using putty or a VNC client wasn't really suitable, after some googling I found the LIRC project which seemed ideal.
The LIRC project is designed to interface with several different kinds of Infra Red receivers and transmitters, like USB or Serial ones which actually decode the IR signal and home made Serial receivers which cheat by toggling the RTS signal line of the serial port. I decided to build one of these.
For this I first built the standard serial port IR receiver from the LIRC website, however, whilst this worked on my Armada laptop, the Latitude didn't put out enough voltage on the Serial port (only about +3V), so I built the more complicated RS232 compliant one. I also used a low voltage drop regulator, which was unfortunately only available as a SMB device, which isn't easy to attach to strip board ! Here's my schematic (I'll try to put some eagle schematics in here at some point, if I ever ressurect my Linux system).
Here's some pictures of the completed board. I built it on strip board, and if you do the same, please, a) make it a bit smaller, b) learn to solder better than I can.
The end result isn't pretty, but it works, which is all I need really. I am tempted to go way off the deep end of geekiness, and try iron on transfer PCB etching, but I'll leave that for another day... I then configured Lirc, Heres my .lircrc file (which wont make a great deal of sense without the other bits of software)
#
#.Lircrc File
# Created P Hurley 18 Dec 2007 (at work. shhh !)
#
#This file has the structure
#
#begin
# Prog = ...
# remote = ...
# button = ...
# repeat = ...
# delay = ...
# config = ...
# mode = ...
# flags = ...
#end
#
#
#Power Button should toggle screen
begin
prog = irexec
remote = sony0505
button = pwr
config = /home/paul/scripts/toggle_screen.sh
end
#ChUp button should go to previous photo, (by sending 'p' to feh)
begin
prog = irxevent
remote = sony0505
button = chup
config = Key p feh
end
begin
prog = irexec
remote = sony0505
button = chup
config = osdctl -s "Previous" &
end
#chDown button should go to next photo, (by sending 'n' to feh)
begin
prog = irxevent
remote = sony0505
button = chdown
config = Key n feh
end
begin
prog = irexec
remote = sony0505
button = chdown
config = osdctl -s "Next" &
end
#Speed up slideshow (by sending '+' to feh)
begin
prog = irxevent
remote = sony0505
button = up
config = Key + feh
end
begin
prog = irexec
remote = sony0505
button = up
config = osdctl -s "Faster" &
end
#Slow down slide show (by sending '-' to feh)
begin
prog = irxevent
remote = sony0505
button = down
config = Key - feh
end
begin
prog = irexec
remote = sony0505
button = down
config = osdctl -s "Slower" &
end
#Pause button should pause slideshow (duhh ! - send 'h' to feh)
begin
prog = irxevent
remote = sony0505
button = pause
config = Key h feh
end
#Red Button should Reload feh
begin
prog = irexec
remote = sony0505
button = red
config = /home/paul/scripts/cron_reload_frame.sh
end
#green Button should start feh in collage mode
begin
prog = irexec
remote = sony0505
button = green
config = /home/paul/scripts/start_collage.sh
end
#yellow Button should start clock
begin
prog = irexec
remote = sony0505
button = yellow
config = /home/paul/scripts/start_clock.sh
end
#Blue Button should start feh from removable drive
begin
prog = irexec
remote = sony0505
button = blue
config = /home/paul/scripts/start_removable.sh
end
Page 8 of 12