Tuesday, June 10, 2014

Minima - Multiple FN Buttons

At the request of John - MI0DFG, I have been rewriting my Alternate Mimima Tuning Method.

John suggested that moving the cursor via (additional) buttons would work much better than waiting for the cursor mode to automatically switch intervals as I proposed.

The problem is the original Farhan's Minima does not have extra pins available for dedicated connections for additional switches. John suggested maybe we abandon pins 2 and 3, because he has an alternate method of programming his Arduino. I checked the possibilities and it could be done at the expense of Arduino Bootloader use, and at the expense of the programmer DEBUG output. Nether of which I would like to abandon.


An alternate method was suggested by someone (?) on the Minima Reflector, more User Buttons can be provided by a network of Resistors and Switches on an analog pin.

The current FN Switch is on an analog pin, and switches (and resistors) can be added in parallel.


I have successfully added six additional Switches in parallel to the original FN switch, and have written a Sketch Modification to decode them.

I was able to retain the original FN button's definition; Momentary, Double Push, and Long Push.

The first two new switches will be used to move the cursor; "Left" and "Right".

Current the other four switches are currently being defined as the Sketch is being changed.

This new (and preliminary) User Interface (UI) works very natural and smoothly with my new Sketch. I will soon publish the NEW Sketch that I used to decode these switches (unfortunately, I currently have another major project that is interfering with this Hobby project).

The following circuit should be added to implement multiple switches parallel
to the original FN Switch.

Arduino |
    AVCC|--------+---1K---- +5V
        |        |
        |        = 100nF
        |        |
        |        v
        |    |       |
        |   47K      = 100nF
        |    |       |
        |    |       v
        |    |
        |    |           |         |         |         |         |         |
        |   FNS          S         S         S         S         S         S
        |    |           |         |         |         |         |         |
        |    |
--------+    v

            "FN"       "Left"   "Right"   "SBand"     "Up"     "Down"     btn7
           (btn1)      (btn2)    (btn3)   (btn4)     (btn5)    (btn6)    (btn7)

  4K7 is a 4.7K ohm resistor
  47K is a 47K ohm resistor
  FNS is the original FN switch
    S is a new switch
    = is a capacitor
    v is a ground and AGND

  AVCC is:
     pin 20 on ATMEGA328P-PU, check spec sheet for other packages
  AREF is:
     pin 21 on ATMEGA328P-PU, check spec sheet for other packages

  AGND is:
     pin 22 on ATMEGA328P-PU, check spec sheet for other packages

Note: The use of AVCC, AREF, and AGND with these analog circuits ensure consistance
      decoded values for use within the Sketch.

Note: To avoid ground loops, the ground sides of all Switches should be
      connected to the same point on the FN Switch and AGND.

Note: Not all switches and resistors are necessary, install only
      the left most desired switches and resistors, the current software
      only decodes seven switches total.

When used with my Alternate Tuning Method Sketch:
      "Left" and "Right" buttons moves the Cursor
      "SBand" selects the Side Band Mode; "Auto SB", "USB", or "LSB".
      "Up" and "Down" switches Ham Band, and saves the current


Note: this information is preliminary, and applicable to only the most adventurous Minima builders.

See a suggested Button Grouping at:

UPDATE: Jul 2, 2014 12:33
The GitHub that contains the Preliminary Sketch that supports the above is at:



  1. Thanks, Eldon.
    I used this idea and your code for switching tuning rate and bands in this receiver using an si5351. < https://youtu.be/791NupCbiWU >
    Tom, ak2b