- THE SPOT GRABBER -
Virtual notebook

'as featured in QST'

Frequently Asked Questions.
by Paulo N. Jorge, CT1EFL

1 - Introduction.
1.1 - What's a Spot Grabber?
1.2 - Why does this FAQ exist?
1.3 - Who is this FAQ for?
1.4 - Where can I get the latest version of this FAQ?
1.5 - About the Author.

2 - Common Spot Grabber Hardware Questions.
2.1 - What other sources are there for S1?
2.2 - How do I wire S1?
2.3 - What can I use to house the Spot Grabber?
2.4 - How do you obtain a neat finish to the cabinet's front panel?
2.5 - Do I need an LCD module with a backlight?
2.6 - What type of LCD module can I use?
2.7 - Why doesn't my LCD's backlight work?
2.8 - Is the orientation of C6 and C7 correct on the circuit diagram?
2.9 - Does the 7805 voltage regulator, U4, require a heatsink?
2.10 - Should I use sockets for the ICs?
2.11 - What does the MAX232 chip, U3, do exactly?
2.12 - How does the Spot Grabber distinguish dx spots from other packet traffic?
2.13 - Why isn't my Spot Grabber seeing packet traffic?
2.14 - What type of printer can I use?
2.15 - Why don't grabbed dx spots print out?
2.16 - How should I configure my TNC?
2.17 - Can the Spot Grabber communicate at speeds other than 2400 Bauds?
2.18 - Why 2400 Bauds?
2.19 - Can I use a Baycom type TNC with the Spot Grabber?
2.20 - Why use a PIC microcontroller?
2.21 - Why the 16F876?
2.22 - What special care should be taken with the PIC?
2.23 - Why is the HS oscillator setting used when programming the PIC 16F876?
2.24 - What type of memory does the PIC 16F876 use?
2.25 - What is the endurance of the PIC 16F876’s memories?
2.26 - Where can I get a suitable PIC programmer?
2.27 - How was the PIC code written?
2.28 - Why is the PIC code written as it is?
2.29 - What are the code version differences?
2.30 - What's on the Spot Grabber 'wish list'?
2.31 - Is there a PCB component overlay diagram available?

3 - About The Spot Grabber Setup Interface Program.
3.1 - Which versions of Windows will run the Spot Grabber Setup Interface program?
3.2 - What type of PC do I need to run the Spot Grabber Setup Interface program?
3.3 - Is there a non-Windows Setup Interface Utility available?
3.4 - Why do I get a 'Port Already Open' error message on running the program?
3.5 - What exactly does the 'Read + Preview' button do?
3.6 - Why does the Spot Grabber response to a 'Read + Preview' include a morse 'DX/CALL'?
3.7 - Why, when I click ‘Read + Preview’, does the Spot Grabber only return a morse 'R'?
3.8 - Can I use the '*' wildcard character in the Dx Target text boxes of the Setup Interface?
3.9 - Where is the Spot Grabber Setup Interface program configuration kept?
3.10 - Why is the Spot Grabber Setup Interface initialisation file called 'ficheiro.ini'?

4 - Miscellaneous.
4.1 - References.
4.2 - Acknowledgements.
4.3 - Feedback

 


 

1 - Introduction

1.1 - What's a Spot Grabber?
The Spot Grabber was a project I conjured up in the Summer of 2000 to relieve the PC of the mundane task of monitoring the local dx packetcluster node. I wanted a system that would silently stand guard 24 hours a day, 7 days a week, for any dx spots heard and then warn me of the interesting ones.

1.2 - Why does this FAQ exist?
This FAQ was written to aliviate the task of having to repeatedly write individual replies to common queries regarding the Spot Grabber. Answers to most questions can be found by reading this FAQ. This document also expands on some specific issues which weren't covered in the original QST article.

1.3 - Who is this FAQ for?
This FAQ may be of interest to anyone building or using a Spot Grabber… after having first read the Spot Grabber article in the June 2001 issue of QST. Reading the original article is essential as numerous references are made to it.

1.4 - Where can I get the latest version of this FAQ?
The latest version of this FAQ can be seen at my homepage http://www.qsl.net/ct1efl

1.5 - About the Author.
I was first licensed in 1985 in England and still hold the callsign G0MUW. After studying and working in the UK as a Merchant Navy Radio Officer, I now work at Sintra Satellite Earth Station in Portugal. I can regularly be found on HF CW when I'm not busy homebrewing.

     

2 - Common Spot Grabber Hardware Questions.

2.1 - What other sources are there for S1?
As stressed in the original article, the rotary switch from a three way A/B/C economy data switch box is the best source. These are available almost everywhere (computer or office supply stores ex: Office Centre, Staples). A four way A/B/C/D switch box will also do of course - the fourth position is unused. Switches providing many poles are also available from good electronic component suppliers. They are usually referred to as 'rotary switch kits' - because stackable switch wafers are fixed onto a rotary shaft assembly allowing you to custom build the switching configuration of your choice. However, these switch kits are normally more expensive and physically larger than the data switch box solution.

2.2 - How do I wire S1?
The neatest and most compact way to wire all the wires from S1 is to solder short wires around the switch. Thus, interconnecting all the various poles and positions. Then only 6 wires need go from this switch to the board - these being S1A, S1B, S1C, S1D, S1M and S1N.

2.3 - What can I use to house the Spot Grabber?
Any suitable case can be used. However, if you got S1 from a data switch then a nice cabinet can be made by recycling the data switch's box. Take care with the holes and cutout and make sure that DS2, DS1, S1 and R6/S2 will all fit onto the front panel.

2.4 - How do you obtain a neat finish to the cabinet's front panel?
You can draw front panels (lettering and controls) using a graphics program - in fact, I use a pcb cad program and so keep to 0.1 inch spacings. Print out the panel layout and then get it photocopied onto a clear self-adhesive acetate sheet (most copier stores will do this). Stick this onto the cabinet front and use a craft-knife and needle-file to trim for any switch, led or potentiometer mountings. For the Spot Grabber I used normal instead of self-adhesive acetate sheet. This allowed me to design a nice clear protective LCD 'window' with bezel - then double-sided sticky tape was used under the black LCD bezel to fix the acetate onto the cabinet's front panel. This method will work best on cabinets which have light coloured front panels (ex: white, beige, grey or metal).

2.5 - Do I need an LCD module with a backlight?
No, this is optional. The main advantage is better LCD viewing in low light environments. Disadvantages, if you can call it this - they consume slightly more power and are a touch more expensive.

2.6 - What type of LCD module can I use?
Any 2 line x 20 characters module which uses the Hitachi HD44780 LCD controller chip can be used.

2.7 - Why doesn't my LCD's backlight work?
The backlight usually derives from a set of green or yellow LEDs which sit behind the LCD glass. As well as having more pins and being more expensive, a backlit version of an LCD module is often thicker than its non backlit counterpart. Since they are LEDs you must current limit their supply - this is the purpose of R9. Without it, you could fry the backlight LEDs. On some LCDs this current limiting resistor may be replaced by a general purpose diode (ex:1N4004). The backlight supply voltage is usually applied to pin 15 but there are some modules which have a separate input pin for the backlight - check your LCD module's Data Sheet.

2.8 - Is the orientation of C6 and C7 correct on the circuit diagram?
Yes, this is not a circuit error. C6 is connected with its negative side to +5 Volts and its positive side to pin 2 of U3. C7 is connected with its positive side to ground and its negative side to pin 6 of U3. The figure 2 circuit diagram is correct. This may seem unconventional but has to do with how U3, the MAX232, generates the RS232 + and - 12 Volts (approx.) However, there is an error in the silk screen I drew for the board which is available from FAR Circuits. This board has C6's component placement inverted... follow the circuit diagram in QST and you'll be OK. (thanks to Artur, CT2HNI, for pointing out this discrepancy.)

2.9 - Does the 7805 voltage regulator, U4, require a heatsink?
The circuit's fairly low power consumption means that U4 doesn't get appreciably hot. You can test this yourself after building the unit. If, for peace of mind, you decide to use a heatsink on it don’t forget - don't ground it.

2.10 - Should I use sockets for the ICs?
Although you will probably never have to replace the ICs, it's good homebrew practice to use sockets on all ICs. At least use one for the PIC 17F876 microcontroller, U1, to facilitate any possible code upgrades.

2.11 - What does U3, the MAX232, do exactly?
The Maxim MAX232 is an RS232 Driver/Receiver. The Spot Grabber circuit works at TTL levels but RS232, needed to communicate to the outside world, requires voltages of about + and - 12 Volts. This IC converts between the TTL electrical levels of 0 Volts and +5 Volts and RS232 electrical levels of -12 Volts and +12 Volts (approx). It has a built in +ve and -ve voltage generator for this and needs only a few external capacitors to work. More information can be found from the manufacturer at www.maxim-ic.com

2.12 - How does the Spot Grabber distinguish dx spots from other packet traffic?
The Spot Grabber analyses all traffic the TNC receives and waits for ‘DX de ‘ which marks the beginning of a dx spot. It then saves all the subsequent dx spot information like callsign, frequency and time which it parses out for processing. Finally the last character of the dx spot (the 75th) is confirmed to be a ‘Z’- this is the Zulu time (UTC) indicator and minimizes the chance of the unit picking out general traffic containing ‘DX de ‘ mistakenly as a dx spot.

2.13 - Why isn't my Spot Grabber seeing packet traffic?
Confirm that all connections between the main board, switch and DB25 'TNC' socket are correct. Check the wiring of the cable connecting the 'TNC' port to the TNC. Verify that the TNC is set to deliver data at 2400 Baud , 8N1. I've noticed that my Kantronics KAM TNC stops sending packet traffic after its output buffer fills up. This happens when it's left switched on but not communicating with either my PC or the Spot Grabber for some time. A few 'enter' key presses on my PC wakes it up again and I can then switch in the Spot Grabber. Often it's simpler to switch the KAM 'off' and 'on' to clear the output buffer and so restart receiving packet traffic.

2.14 - What type of printer can I use?
The Spot Grabber can send dx spot data to Centronics port equipped printers. I’ve used it with various Epson and HP models. Older, noisy printers work just as well and may even make the Spot Grabber's audible alarm unnecessary.

2.15 - Why don't grabbed dx spots print out?
Verify the board, connections from this to the DB25 'Printer' socket and the printer cable. Also make sure that the 'Printer' checkbox is selected in the 'Alarm' tab, during setting up of the Spot Grabber, and that the printer is in fact powered on and full of paper.

2.16 - How should I configure my TNC?
The TNC should be configured to speak to the Spot Grabber at 2400 Bauds, 8 Data Bits, No Parity and 1 Stop Bit (commonly called 2400 Bauds, 8N1). Hardware flow control should be chosen, usually by the command ‘XFLOW’ set to ‘off’. The MONitor parameter should be ‘on’ so the TNC monitors exchanged data packet traffic and make sure you are operating the TNC in ‘command mode’. As commands vary between models of TNCs, consult the documentation for your specific TNC to find the applicable commands.

2.17 - Can the Spot Grabber communicate at speeds other than 2400 Bauds?
No, for the moment the Spot Grabber only communicates to the outside world (receiving the TNC´s packet traffic and dialoguing with the Spot Grabber Setup Interface program) at 2400 Bauds. This speed is automatically selected by the Setup Interface program and can be set on most TNCs by using the ABAUD command.

2.18 - Why 2400 Bauds?
This was the default code debugging speed – so keeping it for TNC and PC RS232 communications facilitated project development. A 2400 Bauds serial port provides reliable RS232 communications and is available on most TNCs and PCs.

2.19 - Can I use a Baycom type TNC with the Spot Grabber?
No. Only conventional stand alone TNCs are suitable.

2.20 - Why use a PIC microcontrollers?
Microchip's PICs are cheap, widely available, offer good support and, most importantly, I was already used to their internal workings after writing numerous assembly programs for them. More information about Microchip products, including microcontroller data sheets, are available from their site at  www.microchip.com

2.21 - Why the 16F876?
Having started out by using a PIC 16F84 the code soon outgrew its 1K program memory as new facilities were added to the project. I spent a time using the PIC 16F873 but the PIC 16F876 was used on the final unit - more program memory, RAM and I/O pins. Like the others it also uses Flash memory for faster development and possible upgrading.

2.22 - What special care should be taken with the PIC?
Since these microcontrollers use CMOS technology, measures to prevent damage from electrostatic discharge (ESD) should be employed. Keep the chip in an anti-static package until use and consider wearing a grounded anti-static wrist strap when handling it. Before installing the PIC in its socket and powering up, double check everything by referring to the figure 2 circuit diagram - the PIC's input/output pins can be permanently damaged if a destructive short circuit exists.

2.23 - Why is the HS oscillator setting used when programming the PIC 16F876?
Microchip's PIC 16F876 Data Sheet (page 123, table 12-1) recommends the HS (High Speed Crystal/Resonator) setting when programming for circuits which work above 8 MHz. However using the XT (Crystal/Resonator) setting also seems to work. All other programming settings should be adhered to as discussed in the original article.

2.24 - What type of memory does the PIC 16F876 use?
The Spot Grabber code is permanently burned into the PIC’s 8K x 14 words of Program Flash Memory - this is what the ‘F’ stands for in 16F876. The user configuration is permanently stored in the PIC’s 256 x 8 bytes of Data EEPROM Memory using the Setup Interface Program. All program variables are temporarily stored in the PIC’s 368 x 8 bytes of RAM Data Memory.

2.25 - What is the endurance of the PIC 16F876’s memories?
Section 15.3 ‘DC Characteristics’ of the PIC 16F876’s Data Sheet, lists a minimum endurance of 100000 write cycles at 25ēC/5V for the PIC’s Data EEPROM Memory and 1000 write cycles for the PIC’s Program Flash Memory.

2.26 - Where can I get a suitable PIC programmer?
The easiest option is to search the Internet and buy a commercial PIC programmer. The EPIC programmer and software from MicroEngineering Labs Inc is popular and can be seen at their site at www.microengineeringlabs.com. Homebrew programmer projects are also described at various Internet sites - some that spring to mind are listed at virtuaweb.com/picprog/projects.htm.

2.27 - How was the PIC code written?
In the past I've always used assembler to write PIC code. Although tedious it's definetly the best way to get to know the microcontroller's internal workings. A while ago I decided to invest in a good compiler. This is my first project using the MicroEngineering Lab's PicBasic Pro compiler - it sure makes life easier. You can get more information at www.microengineeringlabs.com.

2.28 - Why is the PIC code written as it is?
Some lines of code may not appear to be very elegantly written. There are probably more efficient ways to solve particular code tasks. The code solutions were the ones I thought of at the time. Some lines of code could be more efficient and thus shorter but I left it alone, this makes it easier to read and allows for any lacking 'remarks'. If one day I add any new features I’ll probably have to make more program code space by streamlining this existing code. There are also many code remenants from the first version, which worked with the PIC 16F84 and 16F873, which I didn't change - 'if it isn't broken, don't fix it'!

2.29 - What are the code version differences?
Version 1.1 of the PIC's code is the final version sent to QST for publication. Version 1.0 was what I called the code during the development stages.

2.30 - What's on the Spot Grabber wish list?
After playing around for a while with rig control and voice chips I realised that to implement extra Spot Grabber functions would need major hardware/software changes - since the Spot Grabber's straightforward circuit and low parts count is one of its best attributes, I've left these ideas on hold. However, I'm currently building a version which uses a VFD (Vacuum Fluorescent Display) as a replacement to the LCD. If you can afford VFDs and don't mind more current consumption, this is probably the easiest improvement to make to the unit.  

2.31 - Is there a PCB component overlay diagram available?
Yes, you can download sg_comp2_good.gif, this is the PCB's component side and can be used to facilitate component placement. Please note that this is a corrected version of FAR Circuits' commercially available board - see 2.8 (On the FAR Circuits' PCB, C6 was shown wrongly orientated - check against the QST circuit diagram and you will be ok).

 

3 - About The Spot Grabber Setup Interface Program.

3.1 - Which versions of Windows will run the Spot Grabber Setup Interface program?
This program has been installed and used on PCs running Windows 95 and 98. Due to the backward compatability nature of Windows no problems are expected on newer versions.

3.2 - What type of PC do I need to run the Spot Grabber Setup Interface program?
Any Windows capable PC is sufficient. I've used it on various 486s and Pentiums, with speeds starting at 50MHz. A screen resolution of 800 x 600 is required to view the whole of the program's window.

3.3 - Is there a non-Windows Setup Interface Utility available?
No. Due to the widespread use of the Windows operating system this wasn't deemed necessary.

3.4 - Why do I get a 'Port Already Open' error message on running the program?
The first time you run the Setup Interface program it defaults to using the Com 1 serial port of your PC for communicating with the Spot Grabber. This error appears if, on starting the utility, the Com 1 port is already in use by another program - the Setup Interface utility will not run correctly. To avoid this ensure that no other application is using Com 1 (ex: modem, serial mouse). After, you may choose between Com 1 or Com 2 using the 'Port' menu from within the Setup Interface.

3.5 - What exactly does the 'Read + Preview' button do?
You can use this button to find out what the audible warning selections you have chosen sound like. The program forces the Spot Grabber to read its EEPROM configuration memory and output a dummy audible alarm.

3.6 - Why does the Spot Grabber response to a 'Read + Preview' include a morse 'DX/CALL'?
The 'DX/CALL' it sends is just a dummy callsign used with the 'Read + Preview' button to illustrate how the Spot Grabber would warn you in morse of an actual grabbed dx spot callsign.

3.7 - Why, when I click ‘Read + Preview’, does the Spot Grabber only return a morse 'R'?
If the 'Repeat' value is zero and the 'Preamble' checkbox is unselected no audible alarm is sounded by the unit after grabbing a spot. The morse 'R' merely indicates your 'Read + Preview' request was carried out.

3.8 - Can I use the '*' wildcard character in the Dx Target text boxes of the Setup Interface?
No, the exact call must be entered. The unit doesn't allow for partial callsigns.

3.9 - Where is the Spot Grabber Setup Interface program configuration kept?
As mentioned in the original article, its configuraion is saved to the c:\windows directory every time you exit this program.

3.10 - Why is the Spot Grabber Setup Interface initialisation file called 'ficheiro.ini'?
This file could have been called anything, 'spot_grabber.ini', 'sg.ini', 'xyz.ini'. As long as it's unique and the Setup Interface program knows its name and where to find it. I left it as 'ficheiro', which means 'file' in Portuguese and left it at that.

 

4 - Miscellaneous.

4.1 - References.
- 'The Spot Grabber', Paulo N. Jorge, CT1EFL, QST, June 2001, pp 28-35.
- 'PIC16F87X Data Sheet', Microchip Technology Inc.
- 'Embedded Control Handbook', Microchip Technology Inc.
- 'PBP Compiler Handbook', MicroEngineering Labs Inc.

4.2 - Acknowledgements.
Many thanks...
To the 'ARRL' for publishing my 'brain child' - especially Steve Ford, Paul Pagel, Joe Carcia, Joe Bottiglieri, Mike Tracy and all the QST team.
To 'Far Circuits' for distributing the pcb and programmed pic - especially Fred Reimers.
To my YL for being so understanding during the many weekends and long evenings when I was 'messing around' with pic code and breadboards.

4.3 - Feedback
A photo taken by QST's Joe Bottiglieri, of my original Spot Grabber can be seen at the top of this page. Why not send me a picture of yours to display here!

 

 

Back to Fun Stuff