A cheap Cintiq style graphics tablet from a pen based Tablet PC.
I recently stumbled across a few Fujtisu stylistic ST4110 'penabled' tablets on ebay. These are old pentium 3 tablet PCs with wacom digitisers. 10 years ago these retailed for over £1000 so I couldn't resist the auction as they were so cheap. Trouble was I didn't really have a use for them, I was thinking of turning them into touchscreen jukeboxes, not realising that they required the pens to function (unlike some other older Styltistics I've seen, which work with a finger).
I then hit upon the idea of using the tablet interface as an input device for a faster PC.
The wacom digitisers are serial based so it seemed trivial to send the output over the network to a modern PC. It then struck I might be able to use a VNC server/client to send the display back out to the tablet.
Although I have only tested this with the Fujtisu tablets, I don't see why it should not work with any tablet sporting a Wacom digitizer on a serial port.
I have created a linux distro using the fabulous lightweight SliTaz GNU Linux to bundle all this up. The following bits of software are used. (The client in this example is running Windows 7 x64, though any modern windows flavour should work).
Features
- Pressure sensitive (because these digitisers are pressure sensitive)
- Works over WiFi (a wireless digitiser, oh yes YMMV)
- Runs entirely in RAM (so no disks to worry about messing up once it's booted, saves power too).
- Will announce its hostname to windows networks using the NMBD portion of the samba suite.
- Screen scaling on the client (e.g. a 1280x1024 resolution get scaled to fit the tablet screen).
For the client
HW VSP3 - Virtual Serial Port - A virtual network serial port. Free for private use. There are some open source solutions around but this is really easy to use.
The USB to serial version of Wacom ISD driver - There is some slight slight hacking required especially for x64 bit windows.
TightVNC for Windows - A VNC server implementation for windows.
Launcher batch file - to simplify connecting to the tablet.
For the tablet
Tablet Digitizer distro - A 'live' .ISO based on Linux Slitaz. Burn this to a CD to get going and then install as per instructions below.
Tablet installation
Burn the ISO to a CD. If you don't have a CD drive (or docking station) for the tablet you might be able to PXE boot the ISO and somehow loopback mount the ISO image to install.
Once booted you need to ssh (use putty for windows) in to the tablet to start the installer. You should be able to refer to the tablet by it's name 'graphtablet', or by the IP address displayed on the tablet.
Login with the credentials 'root' and password 'root'.
NB: THIS WILL DESTROY ANY DATA ON YOUR TABLET'S HARDDISK.
login as: root Secure login on SliTaz GNU/Linux powered by Dropbear SSH server.
This email address is being protected from spambots. You need JavaScript enabled to view it.'s password:root
Welcome to the Open Source World! SliTaz GNU/Linux is distributed in the hope that it will be useful, but with ABSOLUTELY NO WARRANTY. root@graphtablet:~# mount /dev/cdrom root@graphtablet:~# cd /media/cdrom/
root@graphtablet:/media/cdrom# ./install.sh
This is a quick and dirty harddisk installer. Use at your own risk.
THIS SHOULD ONLY BE RUN ON THE TABLET YOU ARE INSTALLING TO.
This will attempt to install the fj_digitizer distro to your harddisk.
This WILL DESTROY ALL DATA on your harddisk. It will create a new
primary harddisk of 60M on /dev/hda. It will leave the rest of this
disk empty.
Do you want to continue? [y/n]y
Are you absolutely sure? [y/n]y
Stage 1 - parition drive
Stage 2 - format drive to vfat
Stage 3 - Installing bootloader
1+0 records in
1+0 records out
Stage 4 - Mount the new disk and copy distro files. This can a minute or two from the CDROM.
Stage 5 Cleaning up
Hopefully that all went well.
You can edit /mnt/network.conf to setup your network including wireless
You can edit /mnt/hostname to set the hostname
Type reboot to restart.
The commands you need to enter are printed in red.
Next if you want wireless support (and you have a wifi card that is supported out of the box) you can edit the /mnt/netconf.conf file. I found wi-fi to be quick enough on my setup. YMMV.
# /etc/network.conf: SliTaz system wide networking configuration.
# Config file used by: /etc/init.d/network.sh
#
# Set default interface.
INTERFACE="eth0"
# Dynamic IP address.
# Enable/disable DHCP client at boot time.
DHCP="yes"
# Static IP address.
# Enable/disable static IP at boot time.
STATIC="no"
# Set IP address and netmask for a static IP.
IP="192.168.0.6"
NETMASK="255.255.255.0"
# Set route gateway for a static IP.
GATEWAY="192.168.0.1"
# Set DNS server for a static IP.
DNS_SERVER="192.168.0.1"
# Wifi connection.
# Enable/disable wireless connection at boot time.
WIFI="yes"
# Wifi interface (iwconfig) and ESSID.
WIFI_INTERFACE="wlan0"
# Note the ESSID is case sensitive
WIFI_ESSID="YOURWIFISSID"
WIFI_MODE="managed"
WIFI_KEY="yourWiFiKey"
# Wifi key type can be 'wpa' 'none' or 'wep'. Most people will use WPA for WPSK etc.
WIFI_KEY_TYPE="wpa"
WPA_DRIVER=""
WIFI_CHANNEL=""
WIFI_IWCONFIG_ARGS=""
The portions that need modifying are in most cases are in red. You can also edit the hostname of the device by editing /mnt/hostname. The system implements the NMBD portion of the samba suite and so should announce itself your local windows subnet for name resolution.
Reboot the tablet off of the Harddisk.
Client Setup
The client in this case is a windows PC running Windows 7.
1) Install HW VSP3 - Virtual Serial Port software and configure it using the HW Virtual Serial Port icon. The settings should look like this:-
And on the Settings Tab:-
Click the Save Settings to INI file. Go back to the 'Virtual Serial Port' tab and click connect.
2) Install the The USB to serial version of Wacom ISD driver tablet. The driver requires a little hacking to get working and some additional hacking to get it working of x64 bit windows.
2a) Extract the driver to a folder. Enter the extracted folder and then enter the System32 folder. Rename the file ISDCom.dat to isdoem.dat
2b) Edit the isdoem.dat file and change the line
STEP01=RegValueString;SOFTWARE\\WACOM\\ISDPort;ISDPortName;COM1
to
STEP01=RegValueString;SOFTWARE\\WACOM\\ISDPort;ISDPortName;COM3
If your on 32bit windows you can go ahead and install the driver. If your on 64 bit windows you need to do a bit more:-
3c) (For x64 windows only) In the root of the driver folder edit the file Common.dat. Delete the entire section marked [Service64]. Copy the entire section marked [Service] and paste it below. Change the section of the duplicated [Service] to [Service64]. The file should now read something like:-
#Common.dat
[PlatformData]
SERVICEBASENT=\\SYSTEM\\CurrentControlSet\\Services\\TabletService\\PARAMETERS
SERVICEBASE9X=\\Software\\Tablet
SERVICEBASETE=\\SYSTEM\\CurrentControlSet\\Services\\TabletService\\PARAMETERS
[Service]
STEP01=Command;!CleanupOldService!
STEP02=10;CopyFile;.\\System32\\Tablet.exe;!SYSTEM!\\Tablet.exe
STEP03=Command;!CleanupOldHook!
STEP04=7;CopyFile;.\\System32\\Wintab32.dll;!SYSTEM!\\Wintab32.dll
STEP05=Command;!CleanupOldWintab16!
STEP06=Command;!ZoomData!;.\\System32\\Zoom.dat
STEP07=Exist;!Program Files!\\Tablet\\PenInst.dll;10
STEP08=CopyFile;.\\System32\\Drivers\\PenInst.dll;!Program Files!\\Tablet\\PenInst.dll
STEP09=1;CopyOEMINF;.\\System32\\Drivers\\wtablet.inf
STEP10=Command;!ISDCOM_NODRIVER!;.\\System32\\isdoem.dat
STEP11=DONE
[Service64]
STEP01=Command;!CleanupOldService!
STEP02=10;CopyFile;.\\System32\\Tablet.exe;!SYSTEM!\\Tablet.exe
STEP03=Command;!CleanupOldHook!
STEP04=7;CopyFile;.\\System32\\Wintab32.dll;!SYSTEM!\\Wintab32.dll
STEP05=Command;!CleanupOldWintab16!
STEP06=Command;!ZoomData!;.\\System32\\Zoom.dat
STEP07=Exist;!Program Files!\\Tablet\\PenInst.dll;10
STEP08=CopyFile;.\\System32\\Drivers\\PenInst.dll;!Program Files!\\Tablet\\PenInst.dll
STEP09=1;CopyOEMINF;.\\System32\\Drivers\\wtablet.inf
STEP10=Command;!ISDCOM_NODRIVER!;.\\System32\\isdoem.dat
STEP11=DONE
[AddEraseData]
STEP01=Command;!EraseData!;.\\System32\\Eraser.dat
STEP02=DONE
With the altered pieces in red.
NB: This little kludge should also help out those people having trouble getting their older serial wacom tablets to work with USB to serial RS232 adapters on x64. Use at your own risk and note that un-installation might have to be done manually.
4) Go ahead and run the setup file. Assuming the tablet is running and all went well you should now be able to control the screen with the pen on the tablet.
5) Setting up the viewer. Install TightVNC.
6) The tablet is running a listening VNC viewer so we need to get our main PC to connect to this. In order to simplify connecting to the tablet we will make a copy of the TightVNC executable so we can kill it easily without affecting other running instances. Go to the Program Files\TightVNC folder and make a duplicate of the tvnserver.exe file in the same folder. Rename the duplicate tablet_tnvserver.exe.
7) Copy the Launcher batch file into the Program Files\TightVNC folder. Make a shortcut to the batch file for easy launching.
Launch the batch file via the shortcut and if all is well you should see you screen appear on the tablet.
Thanks to:-
SliTaz for a really cool lightweight customisable linux distro.
HW Group for the excellent, feature full and easy to use serial port software.
Notes:-
Your comments, suggestions and questions are very welcome. I have only had the ST4110 tablet to work with but I can't see why this would not work with any pen-based tablet that uses a serial port and has a Wacom digitizer. The linux ISO contains drivers for the Intel i830 graphics (which were a PITA on this particular tablet, hence the 3.7.0 rc5 kernel which incorporated patches to make the card work on this particular hardware). It also contains a VESA driver. I'd love to hear from anyone who has this working on a different model of tablet.
There is a growing discussion on this project going on in the forums at tabletpcreview.com.
Update
Ersatz Haderach at has expanded (and simplfied) on this process and made it more generic using Ubuntu. See his article here (link broken as of 06/04/2016).
If you found this useful please consider buying me a beer with a small donation using the PayPal button on the right. Many Thanks.
Matt.