El programador USB UPDI de Daumemo es un dispositivo DIY (con instrucciones detalladas para construirlo disponibles) que nos permite reducir sustancialmente el coste de un dispositivo estándar.
Un programador USB UPDI (Unified Program and Debug Interface) es, básicamente, una interfaz de programación Atmel/Microchip propietaria que se emplea para algunos microcontroladores AVR, tales como la serie ATtiny. Por su parte, AVR es una arquitectura RISC de 8 bits desarrollada por Atmel.
El blog Daumemo explica cómo crear nuestro propio programador USB UPDI, tanto en forma de largo texto descriptivo, como con un vídeo ilustrativo, lo que nos permite esquivar de esta manera los altos precios del programador original.
Tal y como si fuera la receta de un plato de cocina, el programador USB UPDI de Daumemo puede ser realizado a partir componentes de hardware más baratos que modificaremos, y cargando en ellos paquetes de firmware personalizados exprofeso para esta tarea.
Componentes del programador
Los ingredientes de esta particular receta empiezan por una placa Arduino Nano o, en su defecto, cualquiera que aporte al plato su mismo sabor (sea compatible), una resistencia, un condensador, y un cabezal de seis pines en ángulo.
Podemos soldar dichos componentes directamente en la placa Arduino, convirtiendo el conjunto en más manejable y facilitando con ello la programación de los dispositivos UPDI a través de una conexión USB.
Tras esto, podemos utilizar la placa microcontroladora tal cual, o bien podemos imprimir un encapsulado mediante una impresora 3D para otorgarle un grado de protección y robustez más.
En el apartado software disponemos de un repositorio en Github que contiene ejemplos que nos permitirán crear un programador USB UPDI instalando el firmware jtag2updi de ElTangas en la Arduino Uno o cualquier otra placa Arduino basada en el ATmega328.
Desde Daumemo nos indican que han probado con éxito el presente programador en el Microchip Studio, ya sea con AVRDUDE o con PlatformIO.