Company
Home
  | Control SystemsStation Accessories 
|  DIY Projects  Customers  Store  | Support  |  Contact


SC1 Board
Station Controller and "Do-It-Yourself" Project Platform


 

Introduction
The SC1 board was initially designed  to be a powerful microprocessor controlled TR sequencer called the TR1.  For more info on that go to the TR sequencer product page.  It soon became clear that the hardware and software necessary to make the TR sequencer work could be applied to many other uses in the ham shack.  Eventually the final version of the TR1 board was based on a flash-programmed PIC microcontroller and included 3 buffered digital inputs, 4 0-28 VDC analog inputs, 5 buffered digital outputs each with a SPST reed relay providing dry contacts for switching just about anything less than an amp, a serial port, power regulation, status LEDs, and more.  It even supports a RS485-based local device control network that we call the SierraBus.  All this was necessary to make a full featured TR sequencer.  For those of you looking to build your own controller project read on...

There are two ways to use the SC1 as the heart of your own project, you can take the SC1 board with the standard firmware and configure it for your own application or just use the SC1 hardware and write your own firmware.  In the first case, using the standard SC1 firmware, this can be done by setting operating parameters through the serial port.  A more sophisticated application can be made by adding a PC program that send serial commands to the SC1 board.  This approach leverages all the command structure built in the SC1 firmware and lets you write your own "control panel" program in Basic, C, Visual Basic, or whatever PC or Linux programming language you like.  All you need is the ability to send and receive ASCII characters through a serial port or USB adapter.  The reason this is possible is that the standard SC1 firmware supports many more commands beyond the sequencing function.  You can turn on / off outputs, read analog inputs, read digital inputs, and other functions through a set of simple serial commands.  

The second way to use the SC1 board for your own custom project, is to start with the SC1 board and write all the firmware yourself.  This is actually easier than you might imagine.  Today there are lots of good C and Basic compilers available for the PIC microcontroller that can work great with the SC1 board.  We supply all the hardware documentation you need to get going.  There are even source code examples of simple ham oriented projects listed on this web site.


Sample Project:  Using the SC1 as a HAMSTER (HAM STation controllER)   Download
The modern ham radio station often has multiple radios, antennas, and other station accessories.  A station controller can be used to turn devices on and off, switch antenna relays, send CW, measure battery voltages, etc.  With the SRS Station Controller firmware installed in the SC1 board and an hooked up to a PC, the SC1 board can be used to control many types of devices.  The PC is used as a "virtual front panel" with soft pushbuttons that trigger various output conditions.  For example, the SC1 board can be wired up to a solid state AC power relay to turn on a large 12 VDC power supply that runs the station.  When you press the  Power ON  button on the PC control program, it will send a command to the SC1 board which will then turn on an output pin which could be used to switch a mechanical or solid state AC relay and turn on the station power supply.  A more sophisticated statio may require a sequence of operations.  For example, turn on the HF radio power supply, wait a few seconds, then turn on the VHF radio power supply, then pulse a latching coax relay selecting the beam antenna.

Soft buttons in the station control program can be assigned to provide a on / off or pulsed output.  In the pulsed output mode, the output pin is held low for a short time then released.  This can be used to switch a latching relay, activate an automatic antenna tuner or reboot a computer.  The options are practically unlimited. The control commands from the PC to the SC1 are simple ASCII control commands sent at 9600 baud RS-232.  The command structure is published so you can write your own programs to configure and control the station controller board.

Using the SC1 as a hardware platform for your own DIY projects
If you are interested in building your own microprocessor based ham radio project, the SC1 board me be just the platform you need for your project.  The SC1 is built around a Microchip PIC 18F2620 flash-based microcontroller.  With a several good software development tools available today it is increasingly easy to create your own microcontroller based applications.  To get started you need to pick a hardware platform and a software development tool.  There are many good CPU chips to choose from.  The PIC 18F family of 8 bit microcontrollers offers many desirable attributes.  They are easily available, fast, inexpensive, include many built in types of IO, are flash programmed and very good in a high RF or harsh enfironment.  We have selected the 18F2620 because it supports the maximum amount program and working memory in a small 28 pin DIP package.  There are popular hardware platforms available.  Many projects are built with small modules such as the Basic Stamp, or Arduino microcontrollers.  While these are good products they are rarely enough to build a complere control system.  They typically lack input or output buffering, power regulation, status LEDs, RS232 or RS485 level shifters, relays, analog input scaling, or appropriate connectors.  The SC1 board is designed to be a complete control system platform with all these most commonly needed capabilities.  
Once you choose the SC1 board, the next step is choosing your firmware development tool set.  There are a variety of free or inexpensive compilers available.  Some of the most popular tools include the Microchip C18 compiler and MPLAB development environment.  They can be downloaded free of charge from the Microchip web site.  These are excellent tools and perhaps the best choice for  professional firmware development.  For most ham radio projects we have little time or inclination to become professional programmers and learn rather sophisticated development environments.  For the rest of us, there are good Basic language compilers on the market that can make programming simple to medium complexity programs fairly easy.  These commercial products typically cost between $100 to $250.  Popular Basic compilers  include Proton Basic from Crownhill Associates, PIC Basic Pro from Microelectronic Labs, Swordfish Basic.

Sample firmware for the SC1 bord are supplied written Proton Basic.  These examples can be rewritten for just about any of the basic compilers available.
The last thing you will need to get your firmware working is an in-circuit programmer.  This is a serial or USB device that takes the compiled firmware on the PC and download into the SC1 board.  Any programmer designed for the PIC 18F2620 will work but each one has its own unique programming connector.  The SC1 board is designed for the Microchip PicKit2 programmer.  This is one of the least expensive programmers on the market and can even be used to power the SC1 board while developing firmware.  The PicKit2 programmer sells for about $35 and is available from Microchip or distributors including Digikey.



SC1 Documentation
    SC1 Do-It-Yourself project guide         Download
    SierraBus network protocol overview   
Download



Standard SC1 Firmware - This is the .hex code that is loaded into the SC1 board.  
    The standard SC1 firmware provides all the TR sequencer features plus additional serial command support to communicate with
    a host PC "front panel" appllication.

    Standard SC1 firmware - version 5, build 8        Download     Added state update output to //event type 5 toggle event.



SC1 Board Application Software - These are PC programs built to control the SC1 board that uses the standard SC1 firmware.  
Use them "as is" or modify the source code to build your own application.

Remote Coax Relay Control
    Download    
This little application sends the //pulse1 or //pulse2 commands from the PC to the SC1 board when the Radio 1
or Radio 2 button is pressed.  In this application, output 1 and output 2 of the SC1 board are wired up to the two coils on a latching coax relay.
This lets you use the little software control panel on your PC to flip the coax relay between two radios.  This is a veyr simple app that
is a good starting point to learn how to write your own program to interface and contrl the SC1 board using standard SC1 firmware.
This program is written in Liberty Basic and source code is supplied.
 
HAMSTER - HAM radio STation controllER
  Download
Hamster is a little more advanced application.  Similar to the remote coax switch program but it lets you control all 5 buffered outputs
as on/off devices.  The program also monitors the 4 analog inputs and reports the voltages on the control panel.  Every few seconds
the hamster program will ping the SC1 board and request the current status.  The status back from the board will update the "LEDs"
indicating the state of the outputs (Green = on, Red = off) and the analog input voltages.  If the serial port connection is broken, the
program will report that the "link has failed" and the LEDs will turn gray indicating loss of communications with the SC1 board.  
This program is written in Liberty Basic and source code is supplied.

Memory Keyer
   
Download
The memory keyer program shows how to use the SC1 board's built in CW sending feature.  When the program is run, it will read an ASCII
text file with configuration parameters including text strings which are loaded into the memory keyers messag buffers.  You can use these
message strings or type in your own on the fly.  When you press the function key on the keyboard or click the F button on the control panel,
the program will tell the SC1 board to send the text message.  There is also a window for entering text on the fly.  This is a very simple
text window and does not buffer the text.  CW speed is set in the config file or by clicking the + - buttons.
This program is written in Liberty Basic and source code is supplied.



Custom SC1 Firmware Projects - This is the .hex code that is loaded into the SC1 board.  
    These projects provide the source code and .hex binary files that can be programmed into the SC1 board.  This code
    replaces the standard SC1 firmware.


Firmware exemples written with the Microchip C18 compiler and MPLAB
    SC1 Blinky program - Blinks the status LED     Download
    SC1 input / output test program     Download

Firmware exemples written with the Proton Basic compiler
    SC1 IO status LED blinker program   
Source   Hex file
    SC1 A/D converter test program      Source   Hex file
    SC1 digital input test program         Source   Hex file
    SC1 digital output test program       Source   Hex file
    SC1 send CW program                    Source   Hex file

 


In-Circuit Programming Software
- Tools used with an in-circuit programmer to download firmware into the SC1 board.
    Microchip PicKit2 in-circuit programmer    Link


Free PC Software Downloads - These 3rd party tools are very handy for developing applications on the SC1 board.
    Terminal - Simple terminal emulation program     Download
    YAT - Yet another terminal program     Download
    Serial port monitor   Download
    Lantronix com port redirector, GUI version 4.2.0.1   Download
    Lantronix com port redirector, command line version 4.2.0.1   Download
    Lantronix com port redirector readme file   Download


Firmware Development Tools - These programs and tools help you develop custom firmware for the SC1 board.
    Free Microchip C18 compiler (recommended)   Link
    Proton Basic from Crownhill Associates (recommended)   Link
    Free PIC Micro Pascal compiler    Link
    Free Great Cow basic compiler
   Link
    PIC Basic Pro from MicroElectronic Labs    Link
    Swordfish Basic    Link


PC Software Development Resources
    Liberty Basic web site
    Microsoft Visual Studio, Visual Basic, Visual C#, Visual C++