JS8Spotter for JS8Call

Free and Open Source under the terms of the MIT License

Last updated 9/30/2024. Special thanks to KE0DHO, KF0HHR, N0GES, N6CYB, KQ4DRG, NK8O, N0YJ, KI6ESH, N4FWD, WB5TEX, KQ4HQD, W7HLM, KE0VCD, and everyone else who has contributed


Introduction Videos

A bit dated, but still useful. These are a brief introduction to the software.


Training Videos

A bit dated, but still useful. These correspond to the main features of JS8Spotter.


1: Introduction

2: Profile-Based Activity Search

3: APRS Commands

4: Offline Maps

5: Expect Subsystem

6: MC Forms

Supplemental Training Videos

These videos contain updates and demos for features added after the main training videos above.

Overview

Potential users should already be familiar with JS8Call by KN4CRD. JS8Call decodes activity on the left Band Activity pane, and attempts to place relevant activity in the center Message Pane. Callsign activity and other related information is placed in the right Call Activity pane. In all of this, it is likely that the operator will miss or lose track of activity that is relevant. That is where JS8Spotter comes in.

JS8Spotter was created to fill gaps in the JS8Call feature set. It can help users sort and track band activity, send APRS messages more easily, view stations on an offline map, send custom automated responses, and even implement simple forms. Data is stored in an SQLite database file, which is easily accessed via SQLiteStudio (export features are also built-in to JS8Spotter, for easy save or copy without having to open the database file.)

While useful, JS8Spotter does not pretend to be a fix-everything solution. Above all, JS8Spotter does not attempt to dumb-down JS8Call or make it more accessible to those who are having a hard time learning it. Rather, it extends the utility of JS8Call by filling gaps in the JS8Call feature set. It was written by a hobbyist programmer, who hopes that hobbyist operators will enjoy it and find it useful. JS8Spotter is distributed under an MIT license, and may be used and distributed free of charge.


The Manual

A manual (v0.9 updated 10/3/24) is handy when you don't have the time or bandwidth to watch videos. I'm partial to manuals over videos, to be honest. Here's a manual for JS8Spotter, that covers the basics of how everything works. It may not cover all minor additions to the latest version of Spotter. It's sure to have errors, please feel free to let me know when you see them.

Manual v0.9 for JS8Spotter v1.11b (PDF)


JS8Spotter Features

  • Profile-Based Activity Search - The primary function of JS8Spotter. The ability to create search terms, save, export, and review band activity traffic that you want to track.
  • ARPS Commands - Simple interfaces to send SMS, email, grid, and POTAGW via APRS and JS8Call, without having to remember the syntax and type it in manually.
  • Map - A very basic offline map that gives you a general picture of grid coordinates that are gathered from band activity.
  • Visualize Waterfall - Quickly view a visual of JS8Call traffic over time, in a simulated waterfall display.
  • Expect - A subsystem that allows you to store more than just "INFO?" and "STATUS?" responses. Create as many auto responses as you'd like. Forms are also stored here.
  • MCForms - Multiple Choice Forms, forms for JS8Call, for those who find value in forms. You may read more about MCForms here, or view all published forms here.
  • MCForms Gateway - Optionally auto-submit any forms you collect to your own easy-to-create gateway server. Do whatever you want with the data.
  • Changelog - View changes per build.

Download Latest

You may download the latest build of JS8Spotter below. It is installer-free and may be run directly after the zip file is extracted.

JS8Spotter v1.11b (main) CX_Freeze Windows Executable + Source (for Windows or Linux) -- Built on Win10 64-bit, but should work on systems up to Win11. Virustotal scanned clean.
JS8Spotter v1.11b (alternate) PyInstaller Windows Executable + Source (for Windows or Linux) -- Built on Win10 64-bit, but should work on systems up to Win11. See virus scanning false positive notes below.
JS8Spotter v1.11b Source For use on systems where you intend to run the python file directly using the python interpreter (Windows, Linux, Mac, Pi, etc). Contains no compiled executable file. This is the official src release (I am not managing any github releases).

Install / Upgrade Notes

Several people have reached out to me with questions, issues, and resolutions. I will need to work through a few emails to capture them all, but I'll share what I have for now:

  • Many novice Linux users contact me with questions about installing libraries. These are usually installed with pip or apt, as is noted in the readme files. Google also has a lot of information on how to install python libraries. I don't mind helping, but keep in mind there are many resources for this basic python question.
  • Steve KE0VCD and other operator he's in contact with noticed that corrupt or empty forms files will crash v1.10b. Version 1.11b has corrected this oversight in part, or verify your forms if you crash with a forms error at startup. Avoid special non-ascii characters, and use a basic text editor. Follow the format in the manual, or use a valid for as a starting point.
  • The database format changed from 1.09b to 1.11b. A gui-based tool has been included to update your database file. If you have issues, please contact me (info on QRZ.com). Also, if you'd prefer to email me your .db file I will update it for you.
  • Thank you to Ed, WG5F and Mike, AD0YM of the 4SQRP group for noting that if you receive an error related to a missing vcruntime140.dll file, the fix is to install the Microsoft Visual C++ Redistributable 2015-2022 package (Direct Download).
  • Some users have attempted to manually copy JS8Spotter into the C:\Program Files\ folder. This will usually create file access issues resulting in errors opening the js8spotter.db file when loading the program. It is recommended that you keep your install outside system-controlled locations.
  • If you attempt to double-click the .zip file after downloading, and then double-click the .exe file to run, the supporting library files won't be available to the program. You must extract / unpack the zip file before running the program. The same is true for the database update tool.


Previous Versions

The following are recent previous builds of JS8Spotter:

JS8Spotter v1.10b JS8Spotter v1.10b Source Only
JS8Spotter v1.09b JS8Spotter v1.09b Source Only
JS8Spotter v1.08b JS8Spotter v1.08b Source Only
JS8Spotter v1.07b JS8Spotter v1.07b Source Only
Download even older versions here

Notes

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Virus scanning note: You should always scan every program you download with a reputable virus scanner. I scan all posted files with VirusTotal.com, which uses ALL of the major virus scanning engines. Version 1.11b was scanned and reports clean on all engines *when using the cx_freeze build*. The pyinstaller build reports issues on 7 of 67 engines. These are surely false positives, and they are expected with pyinstaller, but you should be aware of this when deciding which build you want to use.

GitHub Note: If you downloaded a github version of JS8Spotter, it is likely out of date. I am no longer maintaining any github version. Other users may choose to, but the official versions will always be on kf7mix.com.

DB Update Tool note: Always backup your database file before attempting an update. Note that the compiled Windows binary for the database update tool was created with pyinstaller. To avoid false positives, it was packed in a password protected zip file and included with the cx_freeze build. The password is "spotter" and the source is included. If the pyinstaller build is a problem for you, use the source version.

Platform note: I currently use JS8Call on both Windows and Linux platforms. This program should behave properly on both. I have done basic testing on MacOS with success, but am not equipped to support that platform. Multiple users reported success running Spotter on MacOS.

Upgrade notes: When upgrading JS8Spotter, you may wish to retain your database. A migration tool will be included with builds that require changes to the database. Otherwise, simply copy your old database file to the new location.

Support: I'm more than happy to offer whatever help I can for js8spotter and js8call, time permitting. My email is current on QRZ, feel free to reach out with any specific questions.