Thinking of upgrading the touchscreen on your device? This article will outline a few things to consider as you think about your future design.  Upgrades are basically broken down into two
categories: Hardware and Software.  In this article I will talk about each of the two different types of upgrades and hopefully help you avoid some of the common misconceptions.

If a “quick” upgrade is what you are looking for I would suggest that you stick with only upgrading your software. The reason for this is that the software will be written to fit that screen, no matter what language it is written in there will need to be many changes, and time invested, if the screen size and/or resolution changes.  A good assumption is that if it changes the basic structure and you think it’s a small change, it’s not.  You should always consult with the software designers for a rough estimate before deciding how long the upgrades are going to take. Something as “simple” as adding in an admin level account that can access all other accounts can completely restructure the programming and take a lot longer than expected.  On the flip side something like having a scrollable list in android sounds time consuming but is in fact a quick and easy process.  My last piece of advice when it comes to software would be to add two weeks. There will always be unforeseen problems with the code and you should plan on this time so that you are not skipping the bug checking.

Changing the hardware can take substantially longer than just upgrading the software.  If you are planning on upgrading within the same type of device you may be able to get away with a shorter upgrade time.  One example of this would be if you upgraded from one Linux platform to another, but if you were going from a proprietary code set to a Linux operating system it is just like starting from scratch.  While you have the general flow of the program you will have to rewrite every line of code in the new programming language. There will also be issues like having to rewrite drivers (kernels) for all of the peripheral I/O attached to your device.  With I/O devices you have to make sure that they are going to interface properly with the screen and driver that you are choosing.  You should not have to upgrade the whole system to make the new screen work. One example of this would be if you are using an android device it is harder to use a serial connection, with a RS422 to USB converter, than to have a Bluetooth connection when it comes to timing and pairing of devices.

The final thing about hardware is the difference between doing a prototype and production.  If the plan is to start using an Android device to control your product there are a couple things to consider.  If this is a one-off or a small batch it is worthwhile to use an off-the-shelf device so that you do not have to design all of the hardware. With this I would also recommend that you not focus on the details of the screen layout, as is may change as you spec in your own hardware.  If you are going to be making production volumes you should invest the time into designing the hardware so that you have control over the design and you will not have to worry about the product going obsolete.  This will take longer up front so I would suggest having two parallel routes of design.  I would have the software programmers making the android, or other off-the-shelf device, work with the I/O at the same time as your hardware engineers are starting to create the hardware for production.

This advice may seem basic, but I hope it will help to give you set realistic expectations on the timeline for development. I also want to stress that if you are going into production that you need to invest the time into designing your own hardware so that the off-the-shelf components do not change.

Are you interested in talking more about hardware and software? Or want to learn how my expertise can assist you in your next project? Send me an emai directly, at