My third book is released! Learn what you'll need to know in order to become an embedded engineer.
Check out my second book; learn practical stuff about building robots and control systems around Linux PCs and the Atmel AVR.
My first book gives you all the intro you need on developing 32-bit embedded systems on a hobbyist budget.
Portable Terminal Project
In my day job, I quite often need to go out in the field, or to the roof of a building, and perform range tests on radio receiver, transmitter and transceiver products. This task usually involves some careful work back at the lab in order to design an experimental setup that can be operated by one person. Generally, these setups also require some custom-modified appliance firmware. For example, we might modify a wireless sensor so that it sends out a beacon automatically once every ten seconds, rather than only when a particular switch changes state. Unfortunately, it quite often happens that we get out in the field and start testing, only to realize that we aren't capturing quite the data we need to nail down the problem we're trying to fix - which means a trip back to the office to burn new firmware, and lots of wasted time.
As part of our general war chest of test equipment, we have several useful little devices that we use on the lab bench, including sniffers that listen to the radio frequencies we use, decode any messages they hear, and display the results on a serial-connected terminal. While we're at our desks, we can use PCs to process this text data stream and glean all sorts of useful data. However, we don't have that luxury out in the field.
You might think that the obvious answer to this is "bring a laptop", but this really doesn't work as well as it sounds. Laptops are expensive assets - they tend to get borrowed or worse. They also run on expensive proprietary battery packs that have a very short operational life, and that self-discharge rapidly. Leave a laptop in your field kit for a week and it will need to be charged before you can go out on the road. Leave the laptop in your kit for a year, and the battery will probably be useless.
My (self-imposed) challenge, therefore, is to devise some combination of hardware that can be used as part of a field kit, to help collect and pre-analyze data in the field. A large portion of this task involves building a receiver with enough breakout signals that we can capture the baseband signal (in the analog domain) and other useful data, as well as providing our standard serial-output diagnostic log - I won't be talking about that side of things on this web site. However, the other portion of this task is to select or build a data terminal device that can be used to store and view gathered results. That task will be chronicled on this page.
Here's a short list of my criteria for a portable terminal device:
- Must be commonly available, or at least common enough that it can be considered expendable.
- Must be powered from replaceable alkaline or lithium cells. Rechargeable batteries are never fully charged when you want them to be, and their lifespan is too short.
- Must be diskless. All software must be ROM-based. This is partly for mechanical robustness, but mainly because it's irksome to waste time waiting for computers to start up in the field. Drives also get corrupted, and that's a maintenance headache.
- Should have a terminal emulation mode with 80 column text. Our sniffers are designed to work on standard 80-column terminals.
- Should provide some means for entering short notes about experimental setup; i.e. a simple text editor.
- Must be able to send data to a host PC using standard communication protocols (i.e. no proprietary software on the PC side).
- Must have a screen that is readable in direct sunlight. I didn't think of this issue until I started experimenting with candidates. This fact alone eliminates all laptops with transmissive LCDs; there are a handful of (expensive) transflective laptops on the market, but they fail on other criteria anyway.
- Ideally, should be programmable so that the terminal can be used to generate stimuli in the field test setup. For example, it would be useful to be able to write a program that closes a relay, waits for up to ten seconds to see a radio message on the serial port, and then records a pass if the message arrived, or a fail if it did not.
- Although this is a very low priority goal, I'd also like to have one of these machines; whichever one I eventually choose; to take notes at college.
It seems to me - being the vintage computer hound that I am - that numerous vintage portable computing platforms would be a good match for this job. In fact, the exact machine I wanted to get for the task is the Amstrad NC100, which is a Z-80-based portable computer with 80x8 LCD, a Type I PCMCIA slot (SRAM cards only), 64K RAM, parallel and serial ports, and - most importantly - a lovely dialect of BBC BASIC in ROM (along with other software, such as a word processor and terminal program). Unfortunately, the NC100 is really hard to come by in the United States, so I'm looking at other devices. Here's a list of devices I have ordered or considered. Links within this list indicate that I have already received and tested the device in question (the link will take you to the corresponding review page in my museum site):
- Tandy WP2 portable word processor. Currently this device is the second favorite candidate. I have two units, purchased from 8bit-micro.com. Two 128K RAM upgrades are en route to me.
- Brief specs: architecturally related to NC100, Z80 based, 80x8 text, 32K RAM (expandable to 128K), word processor, terminal emulator (up to 9600bps), calendar, phone directory, RS232 and parallel ports. Runs off 4 x AA (20h) and 1 x CR2430.
- Pro: Ergonomically very nice; slim, great keyboard. WP document format transfers easily to PC (it appears to be raw ASCII with a 64-byte header I have yet to analyze). Full schematics available. Works with Tandy TRS-80 Model 100/102 serial floppy drive.
- Con: No inbuilt programming language. Removable memory storage card slot is proprietary. Rather slow performance, both on text editing and with respect to the 9600bps maximum serial speed. ROM is a soldered surface-mount (QFP) device and it's hard to remove and customize the firmware. WP limited to approx 22K document size.
- Vtech Laser PC5 portable computer. I have two units, purchased on eBay for $9.98 each.
- Brief specs: Z80180 based, 80x8 text, 256K RAM, word processor, serial port (up to 57600bps), calculator, spellchecker, database, spreadsheet. Powered by 4 x AA (20h) and 2 x LR44/SR44.
- Pro: Large memory. Probably very readily available. Socketed firmware.
- Con: Proprietary serial/parallel combo connector. Version that's commonly available has had BASIC removed by an educational vendor, severely restricting the usefulness of the device. Ergonomic design poor (low-quality keyboard, device is overall rather fat). WP limited to approx 22K document size.
- Tandy TRS-80 Model 100. One unit is currently en route to me.
- Brief specs: Tandy-OEM version of Kyocera computer, this device was also sold (in slightly different form factors) under the Kyocera and NEC brand names (Kyo-85, NEC PC-8201/8201A). 80C85 based. 8K RAM, expandable to 24K. Serial, light pen, modem connections. 40x8 LCD. Inbuilt BASIC, text editor, PIM and other software. Powered by 4 x AA (20h).
- Pro: Lots of peripherals and third-party software. Not fully analyzed yet.
- Con: 40x8 LCD. Not fully analyzed yet.
- Cambridge (essentially Sinclair) Z88. Currently, this device is the favored candidate. Two units are currently en route to me; one from London, UK, one from Rotterdam, The Netherlands. My first unit (ser# 053151) already arrived from Wolverhampton, UK, and two others arrived from domestically (Mentor OH and Decatur IL).
- Brief specs: 3.2768MHz Z80A, three cartridge slots (RAM/EPROM/FLASH; slot 3 can burn EPROMs and FLASH as well as reading them), RS232 port (38400bps max). Word processor, spreadsheet terminal, diary, calculator, BBC BASIC and other inbuilt software. 32K/128K/512K RAM, 128K ROM (it appears the 32K RAM version is rare?). 640x64 LCD, up to 104x8 characters.
- Pro: Semi-waterproof design, light, VERY powerful operating system and inbuilt software, highly expandable. Speed of WP operation is, as yet, unmatched in other Z80-based candidates. Somewhat water-resistant. High-resolution grayscale screen. Socketed ROM, images for other OS versions readily available on the net. Internal RAM easily expanded from 32K to 128K (or, slightly less easily, to 512K). Fantastic BBC BASIC.
- Con: Apparently, poorly documented (I haven't got a manual yet, and using the software is not always easy). Keyboard takes a bit of getting used to and looks as if it won't last for very long. Spare parts not readily available.