miércoles, 13 de mayo de 2020

Nota rápida sobre cómo programar un Attiny85 (DigiStump USB) en Arch Linux:

1) Clon chino del Digistump (detalle: bootloader NUEVO)

2) Luego de agregar mediante el Gestor de Tarjetas los Attiny de Digistump y tratar de programarlos, el IDE Arduino no podía hacerlo.

3) Instalando via AUR el micronucleus seguía fallando (nota: paquete out-of-date, ese es el problema, o al menos uno de ellos).

4) Bajar las fuentes de https://github.com/micronucleus/micronucleus, ir a la carpeta commandline, correr make y luego copiar (previo renombrado del binario "micronucleus" localizado allí) el nuevo binario a /home/usuario/.arduino15/packages/digistump/tools/micronucleus/2.0a4 o equivalente.
Esto fue solución. Con este nuevo binario el IDE Arduino ya programa bien los Digistump.


Edición:

Puede ser necesario, para solucionar el tema permisos, ya sea instalar el paquete micronucleus desde el AUR usando, por ejemplo:

$yay -S micronucleus

O agregando (como root), el archivo /etc/udev/rules.d/49-micronucleus.rules con el siguiente contenido:

# UDEV Rules for Micronucleus boards including the Digispark.
# This file must be placed at:
#
# /etc/udev/rules.d/49-micronucleus.rules    (preferred location)
#   or
# /lib/udev/rules.d/49-micronucleus.rules    (req'd on some broken systems)
#
# After this file is copied, physically unplug and reconnect the board.
#
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16d0", ATTRS{idProduct}=="0753", MODE:="0666", ENV{ID_MM_DEVICE_IGNORE}="1"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.

Quizás sea necesario recargar las reglas usando (como root siempre):
#udevadm control --reload-rules