Firmware Update - Computers and Terminal Emulators

Computer Requirements

All that is required of a computer to update the firmware in a Mini-Scanner is as follows:

Examples of suitable computers are:

The Serial Port

The serial port connection to the Mini-Scanner is a ten-pin header on the printed circuit board.  This allows the serial cable to be a flat ribbon cable, which can easily be concealed in the car, passed under carpeting, etc.  However, you cannot use a standard serial cable from a computer store.  A suitable cable is available as an optional, extra-cost item on the Mini-Scanner order form.  Alternatively, you can make up your own cable.  There are instructions with the description of the serial cable.  The available cable has at the computer end a female "DB9" connector wired for use with the "COM" ports of an IBM-compatible PC.  This may also work with other computers, such as Apple Macs.  However, PDAs will probably have a smaller connector and you will have to make your own cable or use an adapter to the DB9 connector.

Powering the Computer

The most straightforward way to power the computer is to run it from its internal batteries or from household power.  If you use the car to power both the Mini-Scanner and the computer, check for grounding problems.  If you run the computer from household power while the Mini-Scanner is in the car, the car chassis will become connected to the computer ground and possibly the safety ground of your household wiring.  This will not cause a problem unless you simultaneously have some other electrical connection between household power and the car.

Configuring and Using the Serial Port

Probably the easiest way to configure the serial port and send the firmware file through it is to use a Terminal Emulator or "communication" program.  However, you can use any method with which you are comfortable, even the DOS command line or UNIX shell commands.  The serial port must be configured for 9,600 bits per second, eight data bits, no parity and one stop bit.  Flow control should be disabled.  The firmware file must be sent byte-for-byte exactly as it is stored and not using a file transfer protocol.

Terminal Emulator Programs

Terminal Emulator applications are available for most computers and operating systems with serial ports.  The purpose of these programs is to allow you to use the computer as a "terminal" connected to some other piece of equipment via a serial port, modem or the Internet.  They also allow you to send files to and receive files from the "remote" equipment.  Microsoft Windows™ comes with a Terminal Emulator called "HyperTerminal" in the Accessories or Communications program folder.  There are also many freeware and shareware programs that are far superior (in my opinion) to HyperTerminal.  An example is TeraTerm Pro, which is not only easier to set up and works more reliably but completes firmware updates more than four times as fast as HyperTerminal.

Microsoft Windows and HyperTerminal

Versions of Microsoft Windows™ since, I think, Windows 95 have included a Terminal Emulator called "HyperTerminal".  On Windows XP, you can find it at Start -> Programs -> Accessories -> Communications -> HyperTerminal.  In other versions it may be in different places; consult the Windows documentation for details (OK, realistically just look around until you find it).  I will now try to tell you how to use HyperTerminal, although frankly I'd rather you not use it because it is an appallingly badly designed piece of software.  I will not answer questions about HyperTerminal.

Start HyperTerminal (from the Start button, depending on where it is on your version of Windows™).  The "Connection Description" dialog will appear.  Click "Cancel" to get rid of it.  Now you just have the HyperTerminal main window.

Select "File" -> "Properties" on the menu to bring up the "New Connection Properties" dialog.  On the "Connect To" tab of this dialog, bring down the "Connect using:" pick list and select COM1 or COM2, etc. according to which serial port you are using on your computer.  Then, click the "Configure..." button to bring up the "COMn Properties" dialog.  Set the five pick lists as follows: "Bits per second:" to 9600, "Data bits:" to 8, "Parity:" to None, "Stop bits:" to 1 and "Flow control:" to None.  Click the "OK" button to accept these new settings and get rid of this dialog.  Now go to the "Settings" tab of the "New Connection Properties" dialog, which should still be on the screen.  Bring down the "Emulation" pick list and select TTY.  Click the "ASCII Setup..." button and the ASCII Setup dialog appears.  Check the "Send line ends with line feeds" checkbox.  Click the "OK" button to finish this dialog.  Everything else can be left at the default value.  Click the "OK" button to finish up configuration.  You should once again be back to the main window.

Select "File" -> "Save As..." on the menu to bring back the "Connection Description" dialog.  In the "Name" edit box, type a suitable name that will allow you to remember what this "connection" is for.  For example, you might type "Mini-Scanner Update".  If you wish, you can choose an icon from those presented.  I rather like the one with the picture of an atom. Click the "OK" button, whereupon the dialog will disappear and be replaced with the "Save As..." browser dialog.  HyperTerminal is offering to save a file describing the connection in a place of its choosing on your computer.  The filename is already filled in from what you entered in the previous dialog.  Accept this filename and location by clicking "Save".  Again, you are back at the main window.

Now, exit HyperTerminal.  Do it, I'm not joking.  You can use "File" -> "Exit" or click the Close button (the one at top-right with a cross in it), but do it.  Don't try to use HyperTerminal to communicate with the Mini-Scanner at this point.

Go back to start HyperTerminal again, but now as you reach the end of your exploration of the Start menu you will see two "HyperTerminal"s.  The new one is a folder, which you can tell from the icon and the arrow pointing to another menu level.  Continue to this menu level and you should find the connection you just set up under the name you gave it.  Select this, and HyperTerminal will start up with all the configuration already done.  At this point, you should have completed step 3 in the Firmware Upload procedure.  In future, just start HyperTerminal using your pre-configured connection as described in this paragraph.

In step 7, you need to send the firmware file to the Mini-Scanner Flash Loader.  Select "Transfer" -> "Send Text File..." on the menu to bring up the "Send Text File" file browser dialog.  Using this browser, locate the firmware file on your computer, click on it to select it and then click the "Open" button.  The dialog will close and the file transfer will begin.  You should see the dots begin to appear in the main HyperTerminal window as each record passes from the file to the Mini-Scanner and is acknowledged as correct.  Do not touch the keyboard until the file upload is complete and the Flash Loader presents you with a new prompt.  The upload will take several minutes.  If you've been through the first-time configuration procedure described above, fix yourself a refreshing cup of tea while you wait.

TeraTerm Pro

TeraTerm Pro is a freeware Telnet client that can quickly be configured as a terminal emulator.  Freeware means that nobody is asking you to pay anything for it, ever.  There are many places on the Internet from which you can download TeraTerm Pro, for example TuCows.  The Zip distribution is only about a megabyte.  Get the version appropriate to your operating system.

Here's how to configure a fresh download of TeraTerm Pro version 3.13 on Windows XP.  There may be minor differences with other versions and other operating systems.

When you first start TeraTerm Pro, it will show you the "TeraTerm: New connection" dialog.  Click the "Serial" radio button and in the "Port:" pick list, select COM1 or COM2, etc. according to which serial port you are using on your computer.  Click "OK".  On the menu, select "Setup" -> "Terminal..." to bring up the "TeraTerm: Terminal setup" dialog.  In the "New-line" box, "Transmit:" pick list, select CR+LF.  Click "OK".  On the menu, select "Setup" -> "Save setup..." to bring up the "TeraTerm: Save setup" browser dialog.  You should be in the directory in which you installed TeraTerm Pro and the default settings file will be "teraterm.ini".  Accept this, and in future when you start TeraTerm Pro it will be correctly configured.  That's it.  You're ready to go.  All other settings are correct at the default values.  If you want to check the serial port settings, they are in "Setup" -> "Serial port...".  To send the firmware file, on the menu select "File" -> "Send file..." to bring up the "TeraTerm: Send file" browser dialog.  Browse to the file, select it and click "Open".  Don't check the "Binary" option.  TeraTerm Pro lets you know how the file send is progressing and you can abort it if you picked a bad file by clicking the "Close" button.  I have found only one stupid behavior.  If you perform a file send before you save your settings, you are offered the folder from which you picked the file to send, not where you installed TeraTerm Pro and you have to browse your way back.  As far as I can tell, this is caused by Windows XP, not TeraTerm Pro itself, and may not happen on other versions of the operating system.  So, even when someone cleans up Microsoft's rubbish for free, Bill finds a way to dump more rubbish on their head.  You can probably tell I'm not a fan of Microsoft.


Last edited July 31, 2003.  All material Copyright © 2003 Graham Davies.  No liability accepted.