DCC Funktionsdecoder mit ATtiny85

mit den Digispark ATtiny85 steuere ich die Beleuchtungen von Wagons

für die Wagenbeleuchtung verwende ich einen Digispark ATtiny85 als DCC Decoder, welcher mit einer Lok Adresse und den Funktionstasten F0, F1 - F3 (-F12) die LED's ansteuert,
es werden nur sehr wenige Bauteile dafür benötigt, kostengünstig.

Voraussetzung alt:
Erweiterung der Arduino IDE Einstellungen um zusätzliche Boardverwalter-URL: http://digistump.com/package_digistump_index.json (alt, offline, Stand: 03.2024)
Werkzeug Board Auswahl: Digispark (Default - 16.5mhz)


Voraussetzung alt:
Erweiterung der Arduino IDE Einstellungen um zusätzliche Boardverwalter-URL: https://drazzy.com/package_drazzy.com_index.json
Board-Verwaltung: suche nach "ATTiny85" und installiere: ATTinycore von Spence Konde V1.5.2
Board Auswahl: "ATTinyCore - ATtiny85 (Micronucleus / DigiSpark)"

Da die URL http://digistump.com/package-digistp.index.json und https://drazzy.com/package_drazzy.com_index.json schon längere Zeit nicht mehr erreichbar sind, eine manuelle Installation.

Voraussetzung:
Erweiterung der Arduino IDE Einstellungen um Zusätzliche Boardverwalter-URL:
https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json
im Boardverwalter suche nach „digistump“ und installiere: Digistump AVR Boards (1.7.5).
Von GitHub https://github.com/SpenceKonde/ATTinyCore/archive/refs/tags/1.5.2.zip Datei downloaden und den Inhalt für die IDE bereitstellen.
unter Windows nach C:\Users\xxx\AppData\Local\Arduino15\packages\ATTinyCore-1.5.2 kopieren
unter Linux Mint nach /home/xxx/.arduino15/packages/ATTinyCore-1.5.2 kopieren.
Nach dem Neustart der IDE ist das Board: "ATtiny85 (Micronucleus / DigiSpark)" auswählbar.

nun nur noch in die Bibliotheksverwaltung: suche nach "nmra" und installiere: NmraDcc von Alex Shepherd, Wolfgang Kuffer, ... V2.0.17

Hinweis alt zu Windows 10:
ich hatte folgenden Fehlermeldung in Windows 10, beim hochladen zum ATtiny85: "Fehlgeschlagenes Hochladen: Hochladefehler: exit status 0xc0000135" (libusb0.dll nicht gefunden)
Abhilfe war C:\Users\username\AppData\Local\Arduino15\packages\ATTinyCore\tools\micronucleus\2.5-azd1b\Drivers\DPinst64.exe als Administrator ausführen.

Hinweis zu Windows 11:
Bei mir war beim Hochladen zum ATtiny85 folgende Fehlermeldung: Fehlgeschlagenes Hochladen: Hochladefehler: exit status 0xc0000135 (libusb0.dll nicht gefunden)
Abhilfe war "C:\Users\username\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.6\Digistump_Drivers\DPinst64.exe" als Administrator ausführen und folgende Dateien (libusb0.dll, libusb0.sys, libusbK.dll, lowcdc.sys) kopieren
von "C:\Users\username\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.6\Digistump_Drivers\amd64\*"
nach "C:\Users\username\AppData\Local\Arduino15\packages\digistump\tools\micronucleus\2.6\"

ATtiny85_DCC_Decoder_schematic.jpg Wagen.jpg


nun mein Sketch für den ATtiny85 DCC Funktionsdecoder DCC_ATtiny85.zip (aktualisiert 01.2025)
nur die DCC-Adresse "This_Decoder_Address" anpassen und mit der Arduino IDE, auch im eingelöteten Zustand, zum ATtiny85 hochladen (4 x Schalten).
Mit der F1 Taste wird auch die on Board LED geschaltet.

oder Sketch für den ATtiny85 DCC Funktionsdecoder mit Fahrtrichtungserkennung DCC_DecoderRichtung.zip (aktualisiert 08.2025) (2 x Schalten und 2x Schalten Fahrt-richtungsabhängig)

getestet mit diesen Digispark ATtiny85 Varianten:

ATtiny85_USB-A.jpg ATtiny85_mini.jpg


der Standard Bootloader t85_default.hex benötigt ca. 6 Sec. Bootloaderzeit.
darum Optional, aber sinnvoll, in Windows, ohne Arduino IDE, nur einmalig pro ATtiny85 Update der ATtiny85 Bootloader Firmware über USB, damit wird die Bootloaderzeit auf 300 mSec minimiert.
Download von Source code (zip) den Inhalt der Datei: micronucleus-firmware-2.6.0.zip entpacken, (externer Link)
in das Verzeichnis nach ...\micronucleus-firmware-2.6.0\utils\ wechseln und 1_Upgrade-t85_entry_on_powerOn_activePullup_fastExit_noLED.cmd ausführen.
Nun wird man aufgefordert den ATtiny85 an einen USB-Anschluss anzustecken, (auch im eingelöteten Zustand),
anschließend wird die Bootloader Firmware upgrade-t85_entry_on_powerOn_activePullup_fastExit_noLED.hex auf Version 2.6 aktualisiert.

Hier weitere Information zu Digispark ATtiny85 (externe Links)