Testing out the UPDI Friend#

Today I received a couple of Adafruit UPDI Friend programmers from The Pi Hut.

This time around, I decided to use a dedicated programmer rather than relying on the DIY Arduino-based UPDI setup I built last year. That approach worked perfectly well, but the board was eventually repurposed into another project, and I’d rather not keep rebuilding tools that I know I’ll need again.

This felt like a sensible upgrade: small, purpose-built, and ready to go without any additional setup.

It’s worth noting that this is the standard version, not the high-voltage variant. I only discovered the HV version after ordering, but for my current use case that’s not a major concern. I’m not planning on locking myself out of devices, so I don’t expect to need the 12V recovery pulse that the HV version provides.

I’ll likely pick one up in the future and keep it around as a fallback — you never know when it might be needed.

First test with an ATtiny1614#

With an upcoming project likely to use ATtiny1614 devices, I put together a quick test setup to validate the programmer.

I soldered an ATtiny1614 onto a breakout board, connected an LED with a 100 Ω resistor to pin 5, and used a simple blink program to confirm everything was working.

The test worked first time — well, almost. I initially selected the wrong chip in the Arduino IDE and spent a couple of minutes wondering what I’d broken. Once corrected, everything behaved as expected and I was rewarded with the reassuring blink of an LED.

Wiring the UPDI Friend was straightforward:

  • VCC → pin 1 (VDD)
  • GND → pin 14 (GND)
  • UPDI → pin 10 (RESET / UPDI)

Once connected, the workflow is exactly what you’d expect:

  • Open or create a sketch in the Arduino IDE
  • Select the correct board, chip, and programmer
  • Upload the sketch
  • Observe the blinking LED

Power considerations#

One thing I paid particular attention to during testing was how the target board was powered.

The UPDI Friend is capable of supplying VCC to the target device, which is convenient for simple setups like this. However, in a real PCB design this can become problematic. If the programmer ends up powering the entire board, it can lead to unpredictable behaviour, especially if other components are present. It can also place unnecessary load on the programmer itself.

For this test, I allowed the programmer to supply power directly. In future designs, I’ll likely isolate VCC during programming using a jumper or similar mechanism, ensuring the programmer does not unintentionally power the whole system.

Setting up the Arduino environment#

To program the ATtiny1614 using the Arduino IDE, I used the megaTinyCore package by Spence Konde.

This requires adding the following URL to the Additional Boards Manager URLs field:

http://drazzy.com/package_drazzy.com_index.json

This can be found under:

File → Preferences

Once added, install megaTinyCore via the Boards Manager.

For the test itself, I used a slightly modified version of the standard blink example:

void setup() {
  pinMode(A7, OUTPUT);
}

void loop() {
  digitalWrite(A7, HIGH);
  delay(500);
  digitalWrite(A7, LOW);
  delay(500);
}

Pin A7 maps to physical pin 5 on the ATtiny1614, which matches the LED connection used in this test.

Within the Arduino IDE, the following configuration was used:

  • Board → megaTinyCore → ATtiny3224/1624/1614/1604…
  • Chip → ATtiny1614
  • Programmer → SerialUPDI

From there:

  • Run Verify/Compile
  • Then Upload

The LED toggled as expected, confirming both the wiring and programming setup were correct.

The ATtiny1614 uses an internal oscillator, so no external crystal is required.

Adafruit UPDI Friend

Adafruit UPDI Friend

LED On

LED On

LED Off

LED Off

Verdict#

The UPDI Friend is a solid, no-fuss programmer and a worthwhile addition to the bench. It removes the need for improvised setups and makes working with modern ATtiny devices straightforward.

While this was a simple test completed in under an hour, it reinforces how capable these smaller microcontrollers are for general-purpose control tasks.

I can see both the UPDI Friend and the ATtiny1614 featuring in future designs where a small, low-cost microcontroller is all that’s required.


I run Protoworks (NI) in Northern Ireland, helping small businesses design prototypes and build custom software. If you have a hardware or software idea you’d like to sketch out, feel free to get in touch.