Building a DIY touch screen point of sale system
If you're starting a business and want a modern, touch screen till system, you've probably realised that an out of the box solution will set you back thousands. Here is an alternative, DIY solution that saves money and puts you in control of all the options. 26th February 2014.
Last year I was given the project of designing and setting up a cash register system for a bar. The till had to be a touch screen system, with the possibility of adding more tills at a later time. There were several "out of the box" solutions offered by different companies, but these all amounted to thousands of pounds, with ongoing contract fees. The small startup company couldn't really afford these massive costs, and it looked like an old second hand button register was the only option. But then I had an idea.
There are many large businesses out there who specialise solely in the disposal of old computer equipment. With many of them taking to the idea of selling these used machines on sites like Ebay, it has become so easy to get your hands on old servers, desktops and even touch screen tills for a fraction of the original cost. I was able to pick up a used touch screen unit for £100, a used cash drawer for £25, and a new receipt printer for about £50.
Of course, the hardware is only half the battle. The touch screen till is basically just a standard Intel computer all packaged into a single unit. My unit was a 13 year old XN700, with a 700MHz processor and an integrated touch screen (There are much newer machines available for similar prices though). It came with a copy of Windows 2000 installed, but due to the age of this OS, there are very few POS programs that it can run. I chose to install Windows XP, as it isn't too demanding on older machines but is still supported by most software. The till is far too old to run anything newer than that. A better alternative would likely be a compact Linux distribution, but we will save that for a later article.
If you choose to install XP, keep a copy of all the drivers and setup utilities from the Windows 2000 installation, as they are nearly impossible to find on the internet. The touch screen driver was a particularly difficult one to find, and I've yet to find an appropriate driver for the graphics card. As its going to be used as a till and will never be playing videos or anything, the Windows default graphics driver will suffice. I used a handy application called nlite (visit their homepage here) to remove all the little extra utilities and add-ons installed by default on Windows XP that you would never need for running a till. Doing this will help everything run a bit quicker on the older till hardware.
Once you've finished off installing things like your receipt printer driver, you can consider what Point Of Sale software you'd like to run. There are several free, open source ones out there, of which one of the most popular has to be uniCenta oPOS. This application has been in development for several years and is very scalable. It requires Java to run, so make sure you've got the latest version installed on your till. Once you've installed uniCenta, it will create a default database on your machine and you can begin adding products and getting used to its layout.
Article continues below
Adding multiple tills
The above setup will work fine as a standalone unit, but if you have intentions to run more than one till in your business, you will want to setup an external database server. Doing so will allow multiple units to record transactions to a single place where you can easily print off your sales reports. It also means when your prices change, you only need to do it once, instead of on every till. Even though my project only required one till, I still decided to use a database server. This would allow the owners remote access to their transaction and product listings from anywhere.
For the database server hardware, I decided to use a Raspberry Pi (shown right). This little machine is more than capable of handling several tills at a time, while consuming a mere few Watts of energy. I installed a copy of Raspbian, and then configured Apache (Web server), PHP and MySQL (Database) to run on it. I then set the little device a fixed IP address so it would always be found in the same place on the network. Finally I checked out the documentation of uniCenta and set it to use the database on the Raspberry Pi.
With the basic system running, I could then start to tweak it for my specific needs. uniCenta has a large number of scripts that can be edited by the user. Its possible to add a huge range of custom features to the till, like different users, discount buttons, and smaller things like a logo on your receipt. It is best to spend some time tweaking and learning about your installation before pressing it into service. Change the scripts, fiddle with the database and learn how it all works before installing it all fresh and setting it up for the real deal.
After nearly six months, the setup is still going strong, having recorded thousands of unique transactions. I can access the database from the comfort of my home to make changes to products and download the latest sales reports. I installed PhpMyAdmin on the Raspberry Pi to make managing and backing up the database easy. The staff find the system easy to use, and the picture based product menu helps them find what they are searching for quickly. For just £175, you can have a complete, modern ePOS solution for your business for a tiny fraction of the mainstream offering.