This is an old revision of the document!

MMDVM POG board mods and notes

The MMDVM POG board is a widely-available Raspberry Pi HAT. It uses an STM32F105RBT6 microcontroller with a simple analogue front-end to connect a Raspberry Pi to a radio transceiver.

The POG board is normally reflashed by installing a jumper (JP1) and toggling the reset pin. Later HAT boards like S75NAN's Hotspot series and the MMDVM-HS-HAT don't need the jumper. It's easy to modify a POG to allow this. You will need:

  • One 10k 0805 surface-mount resistor
  • Two small lengths of thin wire (e.g. wire-wrap wire)
  • A 2×3 breakaway socket or two 1×3.

The two GPIO pins we'll be using are:

  • GPIO20 (pin 38): BOOT0 (boot mode)
  • GPIO21 (pin 40): NRST (negative reset)

Installation is fairly easy:

  • Install two pieces of stripped wire-wrap wire into the holes for pins 38 and 40 of the Pi GPIO header.
  • Fit the 2×3 breakaway header into the holes too, and plug the board into the Raspberry Pi.
  • Cut the stripped lengths of the wire back so they are at the same level as the top of the pins.
  • Solder the six pins.
  • Route the wire from GPIO header pin 40 to the NRST pin of the programming header and solder it. This is the pin adjacent to the missing pin.
  • Install a 10k resistor to pin 2 of JP1 (the 2-pin “boot mode” jumper).
  • Tin the other side of the 10k resistor and connect it to the wire from GPIO header pin 38.
  • Secure the wire with tape, hot-glue or similar.

It should now be possible to upgrade the board's firmware using the tools included with Pi-Star.

To flash manually:

stm32flash -v -w firmware.bin -g 0x0 -R -i 20,-21,21:-20,21 /dev/ttyAMA0

# -v: verify writes
# -w: write flash from file
# -g: start execution at specified address (after loading)
# -R: reset device at exit
# -i: GPIO sequence --
#       enter with GPIO20 high and toggle GPIO21 L->H
#       exit with GPIO20 low and GPIO21 H
# /dev/ttyAMA0: Pi serial port
# default baud rate is 57600
  • Last modified: 2019/09/05 23:20
  • by philpem