Multi Purpose PIC Controller - as published in RadCom June 2011
PIC Special I/O Lines
Cross Reference table listing the I/O pins allocated for the peripherals on a range of popular devices.
FT817 KeyPad allows direct entry of frequency without having to twiddle tiny knobs
Elad FDM-Duo version
FT817 controller full archive - Diagrams, PIC code, PCB layouts
FDM-Duo full archive
PicKit to 'JNT Programming Lead Most projects on this site using PICs make use of a 4 pin in-circuit programming interface. Use this connecting lead to interface to PicKit2 and PicKit3 programmers.
AD9850_51.ZIP
Controlling AD9850 and AD9851 DDS chips with RS232 control.
9852SW.ZIP
Code for the AD9852 DDS module. Two versions are included:
use 9852DDS with a 16C84 or 16F84 PIC controller,
or 9852DDSX for the more up-to-date (and cheaper) 16F628 device. Source
code can be found in the .ASM files, binary in the .HEX files
SYNTHBLB.ASM
Control an LMX1501 Synthesiser chip. Interface via RS232 for CW or stepped sweep. Frequency stored
in EE for standalone operation. Minimal changes needed for later generation devices such as LMX23xx / LMX24xx
Circuit Diagram
DTMFREM.ZIP
DTMF Remote controller
published in RadCom August 2001. The source code(.ASM) for a later version
with three priority PINs is also included
VertiCom Synthesizer Controller and utilities Control these microwave synthesizer modules using ASCII HEX commands over a serial RS232 link.
VHFBCN05.ASM
Code for driving VHF Beacons such
as GB3VHF. Includes the code for generating JT65 from prestored data
generated by
JT65CODE.ZIP and
reading Motorola compatible binary data from Oncore GPS modules and
some Jupiter-T ones
DDSBeacons.zip
Utilities for programming DDS soures for use in beacons - calculating frequency codes, formatting JT65 symbols from JT65CODE.
HFBCN02.ASM
The code used for controlling the 5MHz beacons
GB3WES and 'ORK
Includes the source code for reading NMEA data from
various GPS modules.
NEWHFBCN.ASM
Controls an AD9852 DDS for a self-contained HF beacon driver, and was used for GB3SSS on 1960kHz. This was a propagation test beacon operating from Poldhu, Cornwall from Nov 2006 to Feb 2007. Transmits a sequence of callsign and power steps similar to GB3RAL/WES/ORK, but with the pulsed sounder sequence replaced by a PSK31 message. All generated by reprogramming the DDS chip. From November 2007, GB3SSS is back on using the same hardware, but this time on 3579kHz
BCNKEYER.ZIP
Beacon keyer module. Includes CW messages, Programmable pauses, Tx/Rx control.
The module can be re-programmed over an RS232 link so no PIC programmer is needed to change the data.
... and now ... One with an analogue input line. The voltage in the range 0 - 5V is measured and can be sent back
in the CW message in a number of different formats offering different accuracies and complexity. Use, for example, to allow a
beacon to sends its own measured RF power as a user confidence check.
QRSKEYER.ZIP
Version of BCNKEYER for SLOWCW (QRS)
keying of LF Beacons. CW Dot lengths programmable from 1 to 20 seconds,
delays 20 - 400 seconds. See .ASM file for details
Beacon Timestamp
Adding a timestamp to beacon transmissions to allow automatic QSLing and
verification of reception.
Supporting software BCTMSTMP.ZIP
RTTY and CW Keyboard Adapters small PIC based adapter for using a PC keyboard to generate
raw 5V logic level 45 baud RTTY or CW data. Can be used in parallel with the NUE-PSK Modem with a subset of common control codes.
Includes a type ahead buffer to allow for fast typists. Use the 50 Baud version of the .HEX file if you need this speed instead.
Latest version includes a Keyboard to CW sender with 16 CW speeds selectable.
PCB layouts, circuit diagram and PIC .HEX code.
PIC_DDS.pdf A low frequency DDS using just a PIC and R-2R ladder. Generates frequencies
up to about 40kHz with two tone FSK. Frequencies can be user set via ASCII / RS232 interface with auto baud
determination. Two FSK options; one allows standard continuous phase FSK, the other uses frequency exchange keying keeping each of the
two tones coherent and is more suited to weak signalling. See a comparison of the two FSK_Types.pdf
The .zip archive as above, and includes all PIC source and .HEX files for
both FSK versions and a simple single tone demonstrator. PCB layout in various .PDF formats for home constructors.
- Now includes a dual channel version with 90 degree phase shifted I/Q outputs for direct image cancelling RF upconversion.
Uses the 28 pin 16F870 PIC
PLSDNMEA.ASM
Read the serial data from the OEM Trimble
Palisade GPS Timing units (Field 10-8F-AE).
Outputs the date and time as an NMEA $GPRMC string.
Palisade Data Format Description of the 8F-AE extended Packet sent from this module,
as used in PLSDNMEA.ASM
GPLOCDIS.ZIP
Reads the NMEA data (GPRMC string) from a
GPS module and displays on a standard (Hitachi compatible) LCD. The code is
optimised for a 2 line 16 character LCD, but source code is supplied for customisation.
Display can be cycled through Date, Time, 8 digit Locator, Lat/Long, Speed (in m/s & mph).
Later version (2010/04/02) includes a routine for initialising Motorola GPS moduules)
The Mark2 version (2010/09/15) shows all data simultaneously on a 20 char x 4 line display, and now includes Course Over Ground
as well as higher resolution for the speed in miles / hour
NMEA_Status.zip Simple NMEA monitoring programme running on an 8-pin 12F629 PIC.
Monitors the GPRMC string and outputs the state of the GPS Status flag (The "A" or "V") as a logic level.
Drive a warning LED or use to inhibit transmitters. As a bonus, there is also a minute marker pulse on another pin.
See the documentation at the start of the .ASM file for connections etc.
All PIC code is offered completely free for you to download for personal use.
But, writing PIC code is very time consuming, especially I sometimes get requests for customised code which are usually honoured
So please consider making a donation via Paypal to give some impetus to further additions here ...