New Compass-Rose Display software
for the
Montreal Doppler III DF unit
(and the Doppler II unit running the alternate firmware.)

You can also have an "outboard" (remote) compass rose display - here's how!

Please note:
  This is not an official page of VE2EMM:  Please read the disclaimer below.

Replacement firmware is now available for the Compass Rose display for the Montreal Doppler III unit (even using Jacques' original firmware) that offers a number of enhanced features:
Using the compass rose with the Montreal Doppler II unit.

Using the Alternate Firmware, this same software may be used with the older Montreal Doppler II unit to provide a compass-rose display. 

This firmware adds the capability of a synchronous data stream to the Doppler II:  For more information on how it is connected, see the Doppler II modifications page. 

Front and back views of the (modified) compass rose display.
Click on either image for a larger version.

Required modifications:

Because of the expanded capabilities, there are a few simple modifications required to update a currently-operational display. Note that this software is not fully usable unless dual-color LEDs are installed -  but it can be used with single-color LEDs if appropriately configured - see below!

Replacing the LEDs:

  • All 36 of the compass-rose LEDs (LED1 - LED36) must be replaced with (or originally installed as) dual-color units.  The recommended LEDs are T1-3/4 sized and, if the LEDs originally suggested by Jacques (in his first version of the compass rose) had been used, this will require drilling larger holes in the front panel.
  • The LEDs recommended for the compass are DigiKey P/N: 160-1038-ND which is Liteon P/N: LTL-293SJW.
  • The Liteon LTL-293SJW is same type as originally recommended by Jacques for the center LED on the older versions of the compass rose.
  • The newer versions of the compass rose board (e.g. version 3.2) specify the use of a 3-lead dual-color LED - see below for more info.
  • Note that the center LED (LED37) need not be changed on the "pre-Version 3.2" boards.
  • Different two-color LEDs may also be used as long as they are of the two-lead variety where color (red/green) is determined by polarity of the applied voltage.  Note that the use of different LEDs may cause the "yellow" (a mixture of red and green) to be either too "greenish" or "red-ish" - depending on the relative brightness of the green/red emitters in the LED.  If this is the case, the color may be "tuned" slightly by the selection of an install option or, if that doesn't work, by the addition of resistors/diodes - contact me (at the email address below) for details.
  • LED Installation notes: Mounting the center LED in the original - "pre version 3.2" boards:
    Important note about the newer Version 3.2 Compass Rose boards:

    Be careful when using the "Version 3.2" boards!

    When Jacques released the "Version 3.2" boards, there was one major change made to the Compass Rose display:  He changed from using a 2-lead red/green LED to a 3-lead version.

    If you have a Version 3.2 board and are using it with my "alternate" firmware, you cannot use the "3-lead" center LED!!!  Refer to the instructions to the left for the necessary modifications.

    If you do use a 3-legged LED, the "mode" switch functions will not work as it will appear as though one or both buttons are being "pushed" with one or more of the symptoms:

    • Working normally, the aziumth LEDs will "spin" 3 times (one in each color) when it is powered up.  This will NOT happen if either button is being "pressed."
    • The compass rose display will not respond to bearings from the main unit - that is, it won't "track" what you see on the LCD.
    If this happens, first remove the center LED and the mode switch completely and check for solder bridges and then power it up again:  If it "spins" 3 times, the problem is with the wiring of the "mode" switch and the center LED.

    If it still does not work properly, then check for shorts to ground on RB0-RB7 (e.g. pins 6-13) - and also that the PIC chip is inserted properly - that is, pin 1 is oriented away from the center of the board.

    Newer versions (Version 3.2) of the Compass Rose board specify a 3-lead LED.
    Fortunately, the work-around is easy:  Simply use a 2-lead, 2-color LED - one of the same type used for the compass rose (e.g. the Liteon device mentioned above.)

    When using  the 2-lead Liteon LED on the version 3.2 board, skip over the center (ground) hole, making sure that the flat side of the LED is facing the "NORTH" LED (that is, up.)  It seems that when the board was reworked to accomodate the 3-lead LED that the physical location of the pins was changed, so make certain that you avoid using the pin that was grounded!

    In this case, only one 220 ohm resistor is needed, and this resistor's value may be adjusted to provide the desired brightness of the center LED, so either one of the original resistors may simply be jumpered across.  If you are re-fitting an original Version 3.2 board, there's no real need to remove (and jumper across) one of the resistors unless you find the center LED to be too dim for your taste.

    Swapping Data and Clock leads:

    When Jacques originally designed the Compass rose, he simply used a software "bit-bang" function to receive the SPI data as the PIC he originally chose (the PIC16F628/A) does not have hardware SPI capability.  Because this new software does a lot of multiplexing of the LEDs, this approach could not work.

    While the PIC that I use (the PIC16F819) does have a hardware SPI module, the pins used by Jacques do not map to the SPI inputs.  Rather than requiring a more complicated rewiring of the board, I was able to utilize Timer0 to receive the SPI clock signal - but this requires that the Data and Clock leads be swapped - a very simple modification.
    Schematic showing the connection of the mode/select switches for the compass rose display.
    Schematic showing the connection of the mode selector switch(es).
    Click on image for a readable version

    Mode selector switch:

    The addition of a mode-select switch is highly recommended.  The ideal choice is a momentary, center-off SPDT switch - but these can sometimes be difficult to find.  (I used a CW Industries model GRS-4013C-0001 switch, available from Mouser Electronics.  This is a snap-in, square, black rocker switch.)  If you have too much difficulty finding a center-off momentary SPDT switch, an alternative is to use a pair of momentary SPST switches.  Note that the signal from pin 16 of the PIC is somewhat noise-sensitive, so it is best to locate the switch fairly close to the PIC itself - especially the 10k resistor in the case of the single SPDT switch version.  In the case of two SPST pushbutton configuration, it is best to minimize lead length as much as practical.

    Note that mode changes are saved in EEPROM so they will be in effect the next time that power is applied.

    Replacing the chip:

    The final modification is quite simple:  Plug in the processor with the new software.  (You did use a socket, didn't you?)

    Operation of the mode selector switch(es):

    There are two positions of the switch(es):  The "+" position - closing the switch connected to V+ - or the "-" position - closing the switch connected to ground.

    There are also three ways to operate the switch(es):

    Holding a button while applying power: Pushing a button momentarily: Pushing and holding a button:
    Compass rose firmware versions prior to 19 July, 2005 had the "Dim/Bright" and "Enable/Disable History" button functions swapped, that is a momentary press enabled/disabled history while a "pressing-and-holding" toggled dim/bright.

    The center LED:

    In Jacques' original firmware, the only 2-color LED was the center LED:  This indicated red to show that the bearing was bad and green to show that the bearing was good.

    In this firmware, the center LED blinks briefly along with the cardinal points and the color indicates one of several conditions:

    If averaging is enabled:

    If averaging is disabled: Comment:

    Other blinking LEDs:

    The LEDs at the 4 cardinal points (North, South, East and West) dimly blink in unison with the center LED.  The North LED always blinks GREEN while the other three blink RED.  This is done so that one may visually orient the display in the dark.

    Useful operational tips:

    Comments pertaining to the use of the 36 LED compass rose display and the display of the "averaged" bearing when used with the Doppler II or Doppler III "alternate" firmware:

    For firmware versions older than "2E":

    This "alternate Compass Rose" firmware has the capability of displaying a "live" bearing (in green) and an "averaged" bearing (in yellow) while "bad" bearings are displayed in red.

    In order for this firmware to have been compatible with the original Doppler III firmware, the "average" bearing is calculated by the compass rose display itself, based on the bearings that it has received.  Because the original data format contains only the bearing (represented as a number 0-35) and whether or not it was a "bad" bearing, the compass rose display cannot do any averaging based on the varying quality of those bearings.

    The alternate firmware for the Doppler II/III currently provides for being able to send either the "current" (integrated - but not averaged) bearing to the compass rose (to be displayed in green) OR the "averaged" bearing to the compass rose (to be displayed in green as well.)

    This has two implications:
    Personally, I normally set the "ROSE" parameter to "INT" when doing transmitter hunting.  While this doesn't provide for as well-filtered a reading as setting it to "AVG" would, when in a moving vehicle, bearing trends are the most important factors, anyway.  While in this mode, the green LED may go all over the place with multipath, the yellow LED does a good job in showing trends.

    Why would you want to set the "ROSE" parameter to "AVG" then?  The main disadvantage would be that showing a bearing based only on an average may slow its response somewhat, but this can be mitigated by using the "AC" (average clear) function to allow very fast response to a brief carrier - even when a "slow" averaging is selected.  Additionally, there may be cases where the signal is very weak or the bearings of poor quality where displaying the average (and the "average of the average") may be helpful in identifying bearing trends that would otherwise be difficult to spot.

    For firmware versions "2E" and newer:

    Beginning with firmware version "2E" (in conjunction with the Alternate Firmware "7A" or newer) it is possible to send both the "current" (integrated) and the "averaged" bearings, as displayed on the LCD, separately.  In previous versions, the "average" displayed on the compass rose was based soley on the past 16 bearings that had been received by the compass rose and had nothing to do with the average calculated and displayed on the LCD.

    With this newer firmware, if the "ROSE" parameter is set to "BTH" (meaning "both" bearings) then the compass rose display will automatically display the "current" bearing (on the left side of the LCD) in green and the "averaged" bearing (on the right side of the LCD) in yellow.

    Compatibility information:

    Compatibility with the original Doppler III firmware:  The "Alternate" compass rose firmware described on this page may be used with at least some versions of Jacques' original Doppler III firmware.  (I say "at least some" because I have tried it only with the version that I have and do not know if earlier/later versions had some differences that might cause incompatbility.)  I have observed that the original VE2EMM-supplied compass rose firmware may not be compatible with the "Alternate firmware" for the main Doppler unit:  I have no idea why this would be...

    Usability if you do not install dual-color LEDS:  I have not tried it, but the newest version of firmware (described below) should be at least somewhat usable even if single-color LEDs are installed.  If this is done, there are a few things to consider:
    Firmware version information:

    The version number of the compass rose firmware is written directly on the chip itself.

    Version "1R" (dated 20050323).  This was the first version to be released.

    Version "1S" (dated 20050719).   Minor changes were made as noted:

    Version "2E":
    Version "2F":

    Changes since version 2E:
    If you have an older version and wish to update it, please let me know.

    On July 20, 2005, a number of corrections were made to the documentation, pertaining to the center LED and blinking cardinal point LEDs:  Sorry for any confusion.


    For information about availability of this firmware, please go here.

    If you plan to use this compass rose with the older Doppler II unit, you may have to make your own circuit board.  It has been reported that Jacques is willing to sell just the compass rose display board, but that the availability of these may be limited due to their being made as a pair with the companion main Doppler III board.


    While the code used in the Doppler unit itself was originally based on that of the original Montreal Doppler II DF unit by Jacques Brodeur, VE2EMM, the code for this compass-rose display was not..  Because this work was my own and was not done with his involvement, Jacques cannot reasonably be asked to offer any support or assistance regarding its operation!

    Although good faith efforts have been made to make certain that the operation of the hardware/firmware is as described, it is possible that "undocumented features" (bugs) may be present:  It is through testing, use, and feedback from the users that projects such as this may be improved, and the user is asked to be understanding of this fact.  This firmware is strictly intended only for non-commercial amateur-radio use and any other use is in violation of applicable laws.

    Do you have any questions on this or other DF-related topics?  Go here.

    Return to the KA7OEI ARDF Page.


    KA7OEI - 20110505

    Since 12/2010: