Pese a ser un ATTiny85 estas placas, al menos cuando se usan con su USB, no usan los core habituales para tal, sino un core Arduino especial que dispone, además, de soporte para su USB 'especial': https://github.com/digistump/DigistumpArduino
Pasos para instalar el soporte para DigiSpark AVR en el IDE Arduino:
Pongo los de Windows, pero en Linux y Mac es exactamente igual.
Necesitas Arduino 1.6.4 o superior.
1) Abrimos el IDE Arduino
2) Vamos al menú "Archivo" -> "Preferencias"
3) En el cuadro de texto "Gestor de URLs Adicionales de Tarjetas ponemos:
https://raw.githubusercontent.com/digis ... index.json
Y pulsamos el botón "Ok".
4) Abrimos el menú "Herramientas" -> "Placa" -> "Gestor de tarjetas..."
5) Una vez que se haya actualizado la información (se hace automáticamente) buscamos la opción "Digistump AVR Boards" por "Digistump" y pulsamos el botón "Instalar".
6) Esperamos mientras dura el proceso de descarga e instalación.
7) Comprobamos que está instalado
8) Ya estarán disponibles las placas en el menú "Herramientas" -> "Placa"
Poblemas comunes Linux:
Poblema libusb en Ubuntu:
Si al intentar subir un sketch nos dá un error de libusb, tendremos que instalarla:
Código: Seleccionar todo
sudo apt-get install libusb-0.1
Si nos dá el siguiente error:
Código: Seleccionar todo
error during upload. micronucleus: library/micronucleus_lib.c:63: micronucleus_connect: Assertion `res >= 4' failed.
1) Ejecutar el IDE como root, aunque esto no me lo solucionó.
2) Probar de quitar y volver a poner el USB, y ejecutar la programación nada mas conectarlo.
3) Probar con diferentes conexiones USB, hubs, etc. Solo me reconoció la placa con el 3er HUB USB que probé.
4) Cambiar las reglas udev:
Como root, editar el siguiente archivo nuevo: /etc/udev/rules.d/49-micronucleus.rules
Poner el él:
Código: Seleccionar todo
# 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.
Tras ello, ejecutamos:
Código: Seleccionar todo
sudo udevadm control --reload-rules
Esta constante noe stá definida, pero según el modelo el LED integrado se encuentra en el pin 0 o el 1.
Ejemplo de compra en Aliexpress:
ATtiny85 Micro USB