Built a couple of Branches, MI’s random “coin toss” module.
Very simple, straightforward build with no issues -it’s just a handful of 0603 components and a not particularly fine pitch MCU that’s easy to drag solder. It often gets recommended as a good entry level 0603 SMD project.
However, the processor is an ATMega88PA not an STM, so it’s not flashed via ST-LINK like many of the MI modules are.
This is a step by step guide on how to flash it using the branches.elf file (you can find it in the BUILD folder of this Github repository) and Atmel Studio 7, and one of the many cheap AVR ISPII clones available on Ebay.
The six pin jumper on the back of the board needs to be connected to the ten pin jumper on the AVRISP II. I used Dupont cables and referenced the board layout for the pinout in EAGLE: MISO to MISO, SCK to SCK, etc.
The white line on top of one of the pins denotes Pin One: MISO. The module does not need to be connected to a power supply to flash it.
Opening Atmel Studio 7, go to TOOLS, then Device Programming.

Change Box 1 to “AVRISP mkII”, box 2 (Device) to “ATmega88PA” and then click 3 (APPLY). Click 4 (READ).

You should see this message, and the device signature and Target Voltage, if it can read the MCU. If not, don’t go any further – check your soldering – reflow the ATmega88 IC – and try again.

Go to the FUSES tab on the left menu (these are from the Branches MAKEFILE).
Fill these boxes out:
EXTENDED: 0xF8
HIGH 0xDD
LOW 0xE2
Then click PROGRAM.

You should see this message.

Then, set the Lock Bit by choosing “Lock Bits” from the left hand menu (here in yellow) and filling this box out:
LOCKBIT: 0x2F
Then click Program.

You should see this message:

Finally, upload the branches.elf file to the MCU. Choose “Production file” from the left menu, browse to where you saved the file, change the dropdown from .s19 to .elf, check the “Flash” box, then click Program.
You should see the results below, and that’s your module flashed.
