Steampunk Computer

Steampunk Computer

The idea behind this project is to build a wall mountable touchscreen computer with a 15″ screen in a steampunk style.

It is made out of an upgraded Acer Travelmate 2413 laptop, a Microtouch Touchscreen, a modified wooden jewelery display case, and various other bits and bobs.

Known as “The Captain’s Writing Desk”, it is the portable writing desk of Captain Nemo, from Vernes “20,000 Leagues Under The Sea”.

  • 15″ Capacitive Touchscreen
  • 1.5ghz Celeron M Processor
  • 1GB RAM
  • Dual Boot Ubuntu 11.10 + Windows XP
  • 40GB Hard Drive
  • 3 x USB Ports
  • Wifi

  • More Images of the Touchscreen Computer

    Hi Chaps,

    Recently got a new camera so thought I’d give it a test run with a photoshoot of the Captain’s Writing Desk.

    There’s also another video on Youtube if you would like to have a look -> http://www.youtube.com/watch?v=LscxGVprDQk&feature=youtu.be

    The Hellraiser computer is still in the works so watch this space!










     Go to post page

    June 30th, 2012 by sephiroth

    The Captain’s Writing Desk : A Steampunk Touchscreen Computer

    Finally finished “The Captain’s Writing Desk”, a steampunk themed, custom build touchscreen laptop.

    It has taken a month of sleepless nights and has cost under £200!

    It is built out of an old Acer Travelmate 2413 I bought on eBay for only £10 because it had broken hinges. Its spec isn’t outstanding with only a 1.5ghz Celeron M processor and 256mb of RAM but this isn’t exactly supposed to be a gaming computer anyway. I just want to use it as a media station for playing movies and videos over a network.

    I upgraded the RAM to 1gb and intended to upgrade the processor to a Pentium 4 but it turned out to be snappier than expected so I left the processor as it.

    So the current spec is :

    1.5 GHZ Celeron M Processor
    1GB RAM
    40GB Hard Drive
    3 x USB Slots
    15″ Capacitive Touchscreen
    Dual Boot Ubuntu 11.10 (+ Gnome 3) & WinXP

    Many of the brass parts, including the USB sockets and power socket seen below as well as the speaker brackets, were made through etching with copper sulphate.

    I didn’t need the DVD Drive so that was scrapped, and the battery it came with only had 7% of its original power so discarded that as well. Full details of the build can be found on this blog in the Steampunk Computer category.

    It is inspired by Victorian portable writing desks, and it is built to resemble the writing desk that would have been used by Captain Nemo on the Nautilus (20,000 Leagues Under The Sea). The brass plaque at the top of the screen reads “Mobilis in Mobili”; the motto of the Nautilus.

    And although there is on onscreen keyboard, sometimes a physical keyboard makes life so much easier, so I’ve installed a compartment inside which holds a USB keyboard.

     Go to post page

    January 22nd, 2012 by sephiroth

    Ubuntu Touchscreen Problems and Their Solutions

    As hard as it was to physically build “The Captain’s Writing Desk“, getting the software side of it working wasn’t a walk in the park either!  It took me a while to figure out how to get my screen working.  xorg.conf is no longer used in recent versions of ubuntu and the process of creating and editing your own xorg.conf file can be quite tedious.

    I have only tried these methods with a Microtouch touchscreen so can not guarantee they will work with other brands.

    Install a Serial Touchscreen in Ubuntu
    Begin Touchscreen at Startup
    Begin Touchscreen on Resume
    Calibrate your Touchscreen
    Right Click Solution for Single Touch Touchscreens

    Installing a Serial Touchscreen in Ubuntu

     

    The easy way to get a serial touchscreen working on Ubuntu is with Inputattach which comes installed on recent versions of Ubuntu.

    Inputattach is run from the terminal and has several parts.

    sudo inputattach -mtouch /dev/ttyS4

    This is the terminal command I use to get my serial Microtouch touchscreen working.

    “sudo” invokes user rights, “inputattach” summons input attach, “-mtouch” tells Ubuntu which driver to use, and “/dev/ttyS4″ refers to the serial port the touchscreen is plugged in to.

    To find which port you need, plug in and turn on your touchscreen then enter the following command into the terminal.

    sudo cat /dev/ttyS0

    Enter your password then touch the screen.  If that is the right port, then the terminal should output a bunch of garbage when you touch the screen.  If that has no reaction, then try another port.

    sudo cat /dev/ttyS1

    and repeat for ttsS2, ttyS3, ttyS4, etc etc… My computer only has one port but for some reason it is listed as ttyS4.

    Once you have found the port number, identify the driver you need to use.  The following drivers an be found on this page : http://manpages.ubuntu.com/manpages/natty/man1/inputattach.1.html

    Mine is a Microtouch screen so I’m using -mtouch.

    If everything has gone smoothly, then next time you enter

    sudo inputattach -mtouch /dev/ttyS4

    (with you adjustments) the cursor should begin responding to your touch.

    Begin Touchscreen at Startup

     

    To initiate the touchscreen automatically at startup, you need to add a line to the /etc/rc.local file in Ubuntu.

    To edit this file enter

    sudo gedit /etc/rc.local

    into the terminal and enter you password.  This should bring up the rc.local file which will probably look like this :

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will “exit 0″ on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

    exit 0

    Now add a line to it above “exit 0″

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will “exit 0″ on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

    sleep 10s && inputattach -mtouch /dev/ttyS4
    exit 0

    The part in red will be from the line you enter into the terminal to initiate the touchscreen (sudo isn’t needed in rc.local).  I added “sleep 10s &&” to the line because for some reason rc.local gets loaded too early and so doesn’t activate the touchscreen.  “sleep 10s &&” tells Ubuntu to wait 10s before trying to initiate the touchscreen.

    Click save, then restart your computer.  Hopefully your touchscreen will now work automatically at startup.

    Begin Touchscreen on Resume from Suspend

     

    The next problem I found was that inputattach would stop working when I put the computer into suspend/hibernate.

    To fix this, we need to rerun the command when the computer resumes from suspend.

    To do this, enter the following into the terminal

    sudo touch /etc/pm/sleep.d/99-touch-restart

    sudo chmod +x /etc/pm/sleep.d/99-touch-restart

    sudo gedit /etc/pm/sleep.d/99-touch-restart

    This will bring up a blank text document.   Copy and paste the following into that document leaving no space at the top and substituting the part in red for the line you added to rc.local earlier.

     
    #!/bin/bash

    #suspend_inputattach() {
    #    inputattach automatically stops on suspend, so no need
    #    usr/sbin/inputattach
    #}

    resume_inputattach() {
    # restart input attach program
    sleep 10s && inputattach -mtouch /dev/ttyS4 &
    }

    case “$1″ in
    thaw|resume)
    resume_inputattach
    ;;
    *)
    ;;
    esac

    exit $?

    Now next time you resume from suspend, your touchscreen should be working.

    Calibrating your touchscreen

     

    This part is easy!  Enter the following into the terminal.

    sudo apt-get install xinput-calibrator

    This will install the touchscreen calibrator. You can find it in your applications, or you can run it from the terminal with the following line.

    xinput-calibrator

    A white screen will come up prompting you to press crosses in the corners of the screen. Once you’ve done that, the screen will close and the terminal will output the calibration settings.  Mine looks like this.

    Section “InputClass”
    Identifier “calibration”
    MatchProduct “MicroTouch Serial TouchScreen”
    Option “Calibration” “16522 -283 16685 -478″
    EndSection

    Enter the following into the terminal.

    sudo gedit /usr/share/X11/xorg.conf.d/99-calibration.conf

    and copy and paste the calibration data and save the file.  Your touchscreen should now be calibrated.

    Right Click Touchscreen Solution

     

    Unfortunately, since this is a single touch touchscreen,  there is no easy way to initiate a “right click” to bring up the context menu.

    One solution which will please most is to use Ubuntu’s Universal Access setting “Simulated Secondary Click” which can be found in the Pointing and clicking section.  This will make it so that it will initiate a right click if you touch the screen in one spot for a few seconds.

    This doesn’t work for me since my cursor tends to jitter/shake around a few pixels when I’m pressing against the screen so it doesn’t initiate the right click.

    Another solution is to use Easystroke to initiate a right click by holding down a modifier key on the keyboard (ctrl,alt,shift, or super) and using a “gesture”.  this gesture can be a simple as a single click while holding down one of the modifier keys.

    This doesn’t work for me, since my computer doesn’t use a keyboard.  I only have access to the “launch” keys that were originally used for things like launching internet explorer (*spit*).

    In the end I came up with the following solution.

    Ubuntu has a good solution

    In terminal enter:

    xinput list

    This should bring up a list of devices like this :

    ⎡ Virtual core pointer id=2 [master pointer (3)]
    ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
    ⎜ ↳ USB Keyboard id=10 [slave pointer (2)]
    ⎜ ↳ PixArt USB Optical Mouse id=11 [slave pointer (2)]
    ⎜ ↳ Mouseemu virtual mouse id=14 [slave pointer (2)]
    ⎜ ↳ MicroTouch Serial TouchScreen id=15 [slave pointer (2)]
    ⎣ Virtual core keyboard id=3 [master keyboard (2)]
    ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
    ↳ Power Button id=6 [slave keyboard (3)]
    ↳ Video Bus id=7 [slave keyboard (3)]
    ↳ Sleep Button id=8 [slave keyboard (3)]
    ↳ USB Keyboard id=9 [slave keyboard (3)]
    ↳ AT Translated Set 2 keyboard id=12 [slave keyboard (3)]
    ↳ Mouseemu virtual keyboard id=13 [slave keyboard (3)]

    (ignore Mouseemu that was something else I tried but didn’t work. Doesn’t appear to be compatible with touchscreens)

    Look for the line referring to your touchscreen and make a note of its name. In this case, my touchscreen’s name is recognised as “MicroTouch Serial TouchScreen”.

    Enter the following into the terminal.

    sudo touch /swapmouse.sh

    sudo chmod +x /swapmouse.sh

    sudo gedit /swapmouse.sh

    This will bring up another blank text document that you just created in your home directory.

    Then copy and paste the code below into the empty text document, replacing “MicroTouch Serial TouchScreen” for your touchscreen’s name.


    #!/bin/bash

    xinput set-button-map “MicroTouch Serial TouchScreen” 3 2 1 4 5  && sleep 3s && xinput set-button-map “MicroTouch Serial TouchScreen” 1 2 3 4 5

     

    Then using keyboard shortcuts (under “keyboard” in Ubuntu’s settings), create a custom shortcut and use “Swap Mouse” as the name (or any other name you want) and enter the path to the file you just created in the “command” box.

    /swapmouse.sh

    Then assign the key you want to execute the script with. I’m using what Ubuntu calls “launch2″ but you can use any key you like.

    Now when you press that button it will temporarily swap the click function of the touchscreen to a right click.  This will last for 3 seconds which should give you enough time to click what ever it is you wanted to right click on. After that the touchscreen click behaviour returns back to normal.

     Go to post page

    January 22nd, 2012 by sephiroth

    Added Four New Buttons for Volume Control & Other Stuff

    As the title says, I’ve added four radio buttons to the front bezel to control the volume and screen brightness.

    I made them in pretty much the same way as the power button. First drilled four holes into the front bezel then located four special function buttons on the motherboard that were originally used for things like launching Internet Explorer (yuk) and Outlook Express (ew) and soldered wires onto their connections on the motherboard.

    I then threaded the wires through the holes in the bezel and soldered them to new radio buttons and epoxyed them into the holes. To make them a bit more steampunk I put brass washers over them.

    Then it was just a simple matter of remapping those special keys for the functions I wanted for them. The volume control is easily set in the “Keyboard” program in Ubuntu, though I’m not sure how to set the screen brightness buttons yet. There seems to be a few ways to do it but I’ll come back to it in a bit. The volume control was the most important.

    EDIT : I just thought, I can actually add alot more functionality to these buttons if I used one of them as a “Function” key. So I would have the to buttons on the right control the volume normally, then when I hold down the button on the far left and one of the volume keys it could control the brightness instead. This leaves one other free button I can add another two functions to. The advantage of this is that although I only have 4 physical buttons, I can use them for six functions instead of just four. Win. The default function of the spare key I’m using to toggle the onscreen keyboard so there is one other function available if I need it.

     Go to post page

    January 20th, 2012 by sephiroth

    Steampunk Laptop Speakers

    Next up was the speakers. In the end I decided to place them on the front of the computer “bezel” under the screen.  This was tricky since there wasn’t much space to work with there so they would protrude slightly, and also the screen it where the computer has to look its best since that is the focus of attention.  If the speakers looked bad then it would spoil the whole effect.

    Fortunately, I think they are turning out quite nicely. :)

    Cutting holes for the speakers
    Cutting holes for the speakers
    Installing the speakers
    Installing the speakers
    Brass grill/mesh over the speakers
    Brass grill/mesh over the speakers

    Now that looks ok, but if really needed something around the edges.  Unfortunately, it is so small I couldn’t mechanically make a brass border for them so had to resort to etching them.  My first etching was good, but I was lacking the ideal materials.  This time I was prepared and made some copper sulphate by draining some sulphuric acid out of a car battery and running current through it with two cunningly positioned electrodes. The positive electrode extended all the way to the bottom of the sulphuric acid, and the positive electrode was dipped shallowly at the top of the solution.  the reason for this is that as the copper sulphate is formed, it sinks to the bottom of the sulphuric acid because it is denser.  However, if the copper sulphate comes in contact with the negative electrode it breaks down and the copper becomes deposited on the negative electrode.  That is why the negative electrode was only shallowly dipped in the top of the solution.

    In the end I had about of pint of saturated copper sulphate solution.

    Home Made Copper Sulphate
    Home Made Copper Sulphate

    Now I had copper sulphate, I could do some serious etching!

    First I prepared a sheet of brass to be etched in the shape I want by covering all the parts I don’t want to be etched with an insulator.  First I tried using spray paint but found after a while it started peeling off the brass and so wasn’t suitable. In the end I just used insulation tape.

    Didn’t get any pics of the brass with the insulation tape but here it is with the spray paint to give you an idea of how it was covered.

    Brass for Etching
    Brass for Etching

    Then I dunked it in the copper sulphate as the positive electrode, then added another brass negative electrode on the other side of the solution and ran the current through it for an hour or so.

    Etching the Brass
    Etching the Brass

    Afterwards I was left with this.

    Brass after etching
    Brass after etching

    Then with a bit of tidying up.

    Tidy etchings
    Tidy etchings

    And then positioned on the speakers.

    Speakers with etched brass border
    Speakers with etched brass border
    Speakers with etched brass border
    Speakers with etched brass border

    Still looks a bit rough, but to be honest I quite like the look. :)

     Go to post page

    January 17th, 2012 by sephiroth

    Update

    Just letting you guys know where I’m up to.

    I’ve installed the air vents, USB Ports, the power button, and the speakers.

    Not so thrilled with how the air vents have worked out and I’ll probably go back to those to redo them so won’t post pics just yet. ;)

    The USB ports were simple enough, after a lot of whittling into the side of the case anyway!

    Whittling a hole for the USB ports

    Whittling a hole for the USB ports

     

    USB Ports

    USB Ports

     

    Cables going to the USB ports

    Cables going to the USB ports

     

    Ok, yeah, they look a bit ugly at the moment but I’ll fix that in a bit!

    Power button was easy enough.  Drilled a hole into the “bezel” of the frame and soldered two wires to the power button on the motherboard.  Extended those wire out through the hole and soldered them to another radio button and epoxyed it into the hole.  Then covered it with a brass washer.

     

    Soldering wires to the original power button

    Soldering wires to the original power button

     

    Drilled hole for the new power button

    Drilled hole for the new power button

     

    Installed new power button

    Installed new power button

     

    New power button with brass washer

    New power button with brass washer

     

    Oh, and by the time I installed all the electronics into the case I was beginning to wonder where the hell I was going to stick the speakers!

    No room at the inn

    No room at the inn

     

    At the bottom right you can see the touchscreen controller, next to the motherboard’s cooling fan.  Above that are the USB cables and wifi dongle (which is actually giving me some trouble at the moment, but I’m sure I’ll fix it), and above the the serial R232 PCMCIA card that connects the touchscreen controller to the motherboard.

     

     

     Go to post page

    January 17th, 2012 by sephiroth

    Installing the laptop motherboard

    Getting down to the nitty gritty : installing the electronics.

    I had to carve a bit out of the inside of the case so that the motherboard would fit.  Unfortunately there was no way I could get it to fit with the dvd drive because the pcmcia serial port sticks out so far on the other side.  No big deal.  Who uses DVD drives these days anyway? Especially on Linux.

    Other things to consider.

    1. A power socket needed to be installed on the exterior of the case.

    2. A power (on) button needed to be installed on the exterior of the case.

    3. Air vents for the cooling fan.

    4. USB Ports needed to be installed on the exterior of the case.

    5. erm… speakers?

    6. This is a biggy.  The touchscreen controller needs to run on 12v.  The laptop’s input in 19v and there is no 12v source on the motherboard!

    The power socket was harder than expected.  I tried to unsolder the original power socket from the motherboard, but Acer must have used some kind of high temperature solder or something since my soldering iron couldn’t melt it!  In the end I accidentally broke the socket altogether.

    But that’s no problem for an enthusiastic hardware hacker!  I managed to pull a power socket out of another device which was the right diameter for the plug, though the little positive pin in the middle was fatter than the original so the plug wouldn’t fit, so I salvaged the middle pin from the original port and managed to swap them over.  This worked well. :)

    I then soldered two cables to the underside of the original socket connectors on the motherboard and soldered them to the new socket, which I then installed on the exterior of the case.

    Original Power Socket on the Motherboard

    Original Power Socket on the Motherboard

     

    Broken Socket with New Cables

    Broken Socket with New Cables

     

    Power Cable Running to the Exterior

    Power Cable Running to the Exterior

     

    Power Cables Coming Out of the Exterior

    Power Cables Coming Out of the Exterior

     

    New Power Socket

    New Power Socket

     

    A bit rough around the edges, but I’ll fix that later.

     Go to post page

    January 12th, 2012 by sephiroth

    Updated pics of the casing

    Just throwing in a couple of updated pics of the steampunk case for the computer.

    Not much left to do. Should be finished by the end of next week so watch this space!

     Go to post page

    January 8th, 2012 by sephiroth

    Electro Etching Brass – Mobilis In Mobili

    I made a brass plaque for the frame of the steampunk computer using a 0.3mm thick sheet of brass and (pretty much) the electro etching tutorial posted on The Steampunk Workshop except I didn’t have any copper sulphate lying around so had to make do with a salt and distilled vinegar solution.

    I covered all sides of the brass sheet that I didn’t want etched with electrical tape so that the current was most efficiently used.

    The computer’s back story is that it was salvaged from The Nautilus, the submarine from Jules Vernes’ “20,000 Leagues Under The Sea”. The etching is of the saying of The Nautilus “Mobilis In Mobili” which I reproduced from this image.

    Original Mobilis In Mobili

    Original Mobilis In Mobili

    This was the best image I could find though it wasn’t good enough to use for the etching so I had to reproduce it using GIMP. I then printed a negative image of it using a laser printer onto some glossy paper and then ironed the image onto the brass, and VERY carefully soaked and rubbed off the paper a little at a time until all that was left was the laser jet ink.

    Mobilis In Mobili Negative

    Mobilis In Mobili Negative

    This is what it looked like before I started etching.

    Before Etching

    Before Etching

    Then I dunked it into a salt and vinegar solution and attached the positive terminal of two 12v lead acid batteries in series (making 24 volts) to the plate I wanted to etch, and then attached the negative terminal to another scrap piece of brass and dunked it into the solution as well. Be very careful the plates don’t touch!

    Begin Etching

    Begin Etching

    I left it like that for two hours, and it didn’t really look like it had done much until I cleaned off the gunk and ink afterwards and was left with this!

    Mobilis In Mobili Brass Etching 1

    Mobilis In Mobili Brass Etching 1

    Mobilis In Mobili Brass Etching 2

    Mobilis In Mobili Brass Etching 2

    Mobilis In Mobili Brass Etching 3

    Mobilis In Mobili Brass Etching 3

    Mobilis In Mobili Brass Etching 4

    Mobilis In Mobili Brass Etching 4

    For my first etching, I’m very pleased with the result! It will make an excellent highlight on the steampunk computer.

     Go to post page

    January 6th, 2012 by sephiroth

    Beautifying the underside of the lid.

    The front of the computer is now looking a bit sexy (more work still needs to be done on it) but I haven’t done anything with the back of the monitor, which looks like a techno nightmare and in no way steampunk!

    This needed to be remedied.

    Still needs a bit of sanding and some brass thrown at it, but this is still a massive improvement!

    A couple of before and after pics :

    back of the lcd monitor

    Back of the monitor... ugly ugly ugly!

    Back of steampunk monitor

    Ahhhh... that's better.

    Wooden back of the LCD Monitor

    Wooden back of the LCD Monitor

     Go to post page

    January 5th, 2012 by sephiroth