Тёмный

Good bye Arduino / Umstieg auf tinyAVR: UPDI Programmierung 

maker-garage-de
Подписаться 7 тыс.
Просмотров 9 тыс.
50% 1

Der "neue" tinyAVR ersetzt bei mir die Arduinos. Kleiner, einfacher, besser! Ich zeig Euch die wie einfach die UPDI Programmierung ist.
Lesestoff gibt's heir: github.com/Spe...
Ich teile hier meine Tricks, meine Meinung und meine Erfahrungen - Gute wie Schlechte. Nachmachen, nachbauen, nachkaufen bitte immer auf eigenes Risiko. Ich übernehme keine Haftung. Egal wobei: Bitte IMMER aller Sicherheitsvorschriften beachten.

Опубликовано:

 

15 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 35   
@lotenmann1655
@lotenmann1655 8 месяцев назад
Auch von meiner Seite danke für das tolle Video! Ich hab mich die letzten Tage durch deinen Kanal "durchgeschaut" und dadurch schon viel Neues gelernt. Ich nutze jetzt den ATTiny 1614, den ich selbst auf eine Adapter Platine gelötet habe. Da hätte ich mich ohne Deine Videos nie rangetraut. Dann habe ich UPDI mit VS Code hinbekommen (inkl. Serieller Monitor). Die erste Schaltung mit KiCaD habe ich auch schon angefangen, Ziel ist hier auch eine eigene Platine fertigen zu lassen. Ich hatte vorher schon einiges an E-Technik Wissen und Werkzeug, hatte aber aus verschiedenen Gründen immer wieder zu wenig Zeit und Motivation, da dran zu bleiben. Deine Videos sind für mich super verständlich, nachvollziehbar und das Beste: sie motivieren. ;-)
@maker-garage-de1060
@maker-garage-de1060 8 месяцев назад
Perfekt 👍 Einfach machen 🙂
@Thommelbommel
@Thommelbommel 10 месяцев назад
Danke für die hervorragenden Videos!! Ich möchte auch mit der Attiny 1-series und AVR DB beginnen. Diese sollen mit CAN Kommunikation die Basis in meiner Home-Automatisierung bilden. Anbindung an ESPHome und Home Assistant. Mein Ziel ist eine Lösung ohne Funk mit hoher Zuverlässigkeit, wenig Udates und geringem Stromverbrauch. Freue mich auf die nächsten Videos!
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Danke und gutes Gelingen 👍
@Thommelbommel
@Thommelbommel 10 месяцев назад
Was hälst du von der DD und DB Serie?
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Hab ich ja auch vor einiger Zeit schon ein Video zu gemacht. Würde auch gerne die vermehrt nutzen, allerdings ist die Verfügbarkeit eine Katastrophe
@losmanus730
@losmanus730 10 месяцев назад
Danke für das schöne Video. Lassen sich die neuen Controller auch noch über die Anschlüsse MISO MOSI SCK programmieren? Zum Beispiel mit einem USBasp Programmiergerät?
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Ich glaube das geht nicht mehr. Ist mir jedenfalls noch nicht über den Weg gelaufen 🤔
@andreasgerth3654
@andreasgerth3654 9 месяцев назад
Die meisten Programmer von DIAMEX lassen sich sowohl im ISP wie auch UPDI Mode betreiben. Daher ist die Frage vollkommen überflüssig, weil es je nach Tiny Modell kein festgelegten Standard-SPI Ports gibt, die für SPI benötigt werden. Diese Müssen je nach TINY und PIN-Out erst festgelegt werden. Dabei können ja nach TINY mehrere MOSI / MISO u. SCL PIN-Paare in Frage kommen. Ja man könnte eine Boot-Loader schreiben, der mit dem Power-ON Init 3 PIns als SPI-Schnittstelle fest definiert, ebenso das man den UPDI Port an RESET Pin via FUSE ummünzt, aber was bringt es dir ? Du belegst mehr Pins, du verlierst eine USART und knallst dir zudem den Flash zu !? Sinnvoll ? Aus meinen Augen nicht.
@user-fi2et6js1j
@user-fi2et6js1j 10 месяцев назад
Gut erklärt, bei mir läuft der ATtiny auch beim programmieren mit 3,3V.
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Gute Frage! Ich hab im Datasheet nichts gegenteiliges gefunden. Habe nur gelesen, dass erase scheitert, wenn BOD (Burn out detection ist zwangsweise an) triggert also Spannung unter 1.8 V fällt. Scheint also möglich
@spreeuferberlin
@spreeuferberlin 10 месяцев назад
danke
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Gerne 😀
@user-qe9fy9fv8v
@user-qe9fy9fv8v Месяц назад
I managed to do this only by replacing R4 - TX (1.5k) with a 330 Ohm resistor and possibly removing the LEDs to increase speed.
@maker-garage-de1060
@maker-garage-de1060 Месяц назад
More speed is always welcome :-) Can you please explain more details?
@ElektrischInkorrekt
@ElektrischInkorrekt 10 месяцев назад
Hab mich gestern tatsächlich genau zu dem Thema auf 'ner Fachmesse beraten lassen. Die Arduino-Variante ermöglicht nämlich dooferweise kein Live-Debugging. Empfehlung des Herstellers ist entweder der Curiosity Nano, der wohl auch live debugbar ist. (Hier könnte man z.B. den Programmierpart aus dem Schaltplan in die eigene Schaltung übernehmen; Kostenpunkt für den Curiosity Nano: etwa 30€) Variante 2 ist die Nutzung des PicKit 4 (liegt wohl bei etwa 100€, ist aber auch schon EOL/abgekündigt). ----- *Mit Debugging meine ich die Funktionalität, den Code u.a. auf dem Controller auszuführen und an einer beliebigen Stelle pausieren zu können.
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Mit Debugging hab ich keine Erfahrung, komme halt eher aus der Arduino Welt. Grundsätzlich sollte es über UPDI funzen. Müsste man mal rauskriegen wie 🫣
@ElektrischInkorrekt
@ElektrischInkorrekt 10 месяцев назад
@@maker-garage-de1060 Ist grundsätzlich immer dann sinnvoll, wenn man nicht genau die Ursache eines Softwarefehlers kennt, oder der Code entsprechend umfangreich ist. D.h. man kann in der IDE an den gewünschten Zeilen eine Flag (rote Flagge oder roter Punkt) anbringen. Dann läuft das Programm bis zu dem Punkt und man kann dann dieses Programm dann auch Schritt für Schritt durchgehen, um den Fehler zu finden. Teilweise gibt es hier sogar Zusatzfunktionen, wie z.B. dass man sich Variablenwerte und den Speicherinhalt zu diesem Zeitpunkt anschauen kann. Teilweise ist das auch in der Arduino IDE verbaut, dort habe ich das leider ebenfalls nicht mit dem Attiny zum funktionieren gebracht.
@ElektrischInkorrekt
@ElektrischInkorrekt 9 месяцев назад
@@daCount0 Äh, ist leider ein wenig am Thema vorbei. Weder ist auf dem Arduino Zero ein ATtiny verbaut, noch hat dieser die UPDI-Schnittstelle. Es ging hier speziell um diese 1-Wire-Programmierschnittstelle. (Ist so, wie wenn man eigentlich über alternative Kraftstoffe bei Benzinern redet - dann kommt jemand und meint, "also ich kann mein Fahrzeug auch mit Sonnenblumenöl fahren"...)
@Spoxi12
@Spoxi12 4 месяца назад
Wie würde man den SerialPrint ausgeben in einer dedizierten schaltung? Umstecken geht dann ja nicht?
@maker-garage-de1060
@maker-garage-de1060 4 месяца назад
Schau mal mein Experimentierboard (Video+GitHub) an, da hab ich es mit einem Schalter gelöst. Könne man auch einen Jumper nehmen.
@yay8507
@yay8507 7 месяцев назад
hi, kenne mich mit dem Thema überhaupt nicht aus. Kann ich als Diode auch eine Schottky oder Zenerdiode nehmen?
@maker-garage-de1060
@maker-garage-de1060 7 месяцев назад
Schottky wäre optimal, eine simple 1n4148 tuts bei mir aber auch. Zener sind für was anderes.
@yay8507
@yay8507 7 месяцев назад
@@maker-garage-de1060ok danke 👌
@tobi9648
@tobi9648 10 месяцев назад
was ist denn jetzt der Vorteil von so einem tinyAVR im Vergleich zum Arduino?
@maker-garage-de1060
@maker-garage-de1060 10 месяцев назад
Die Arduinos basieren meist auf dem ATmega328p -- der ist schon echt angestaubt. Der TinyAVR ist schneller, eigene Boards werden wegen UPDI kleiner, er hat Custom Logic, er hat das Event System, man kann die Pins umlegen, schneller ADC, DAC, verschiedene Timer, usw. Schau mal meine letzten beiden Videos.
@Henry-sv3wv
@Henry-sv3wv 9 месяцев назад
Naja 3 bit RAM für 30 Euro ist doch cool im vergleich zum ESP32 der auch noch bluetooth und wifi kann für nen Zener.
@andreasgerth3654
@andreasgerth3654 9 месяцев назад
@@Henry-sv3wv 3 Bit das ist schon einmal eine Aussage die dich als Troll qualifiziert. Unabhängig es geht um eine Ersatz für einen angetagten ATMega328 und nicht um dieses Tinys mit einen ESp zu vergleichen ! Wenn du nicht den Horizont hast, was der Unterschied zwischen einem AVR und einem ESP ist, sowie nicht nachvollziehen kannst, das es immer noch Aufgaben- und Anwendungsbereiche gibt die ein solcher AVR besser, kleiner und vor allem mit einem deutlich geringeren Strombedarf erledigen kann, dann hast du wieder einmal nichts begriffen. Diese AVRs ATTINY, sind in der RAM Ausstattung, Flash-Speicherausstattung inzwischen auf dem Niveau eines 328UP angekommen. Da muss man nicht mit einen ESP wenn es keine Bedarf an WLAN und Bluetooth gibt mit Kanonen auf Spatzen schießen. Spätestens wenn du einmal mit einer Autarken Schaltung gekämpft hat, wo Betriebszeit und damit Akkulaufzeit, sowie Ausfallsicherheit das höhere Anforderungskriterium ist, wirst du merken, das dein ganzes Gesapple nur sinnloses Gesülze ist. Dort wo es mit einem aktiven Core dein ESP nicht mehr unter 80 mA macht, da werkelt so ein Tiny schon mit nur noch knappen 2,8 mA und erfüllt genau die selben Aufgaben im Rahmen seiner Programmspeicherkapazitäten ! Und wenn du mal deine rosarote Brille absetzen würdest, dann würdest du merken, das sich ein solcher TINY sehr, sehr gut als SUB System eignet, um den ESP oder andere größere µC bei Teilaufgaben zu unterstützen. Aber wenn man nur reine Leistungszahlen als Vergleichsmaßstab ansetzt, nach dem Motto höher schneller weiter, aber dabei den Platzbedarf, den Strombedarf und die Leistungsskalierung vollkommen außer Acht läßt, dann hat man nicht in der Waffel, nur eine große Menge Quark.
@hiennguyenminh9214
@hiennguyenminh9214 5 месяцев назад
I followed the steps as you instructed, but for ATTINY3224 it gave me the error Traceback (most recent call last): File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10/tools/prog.py", line 286, in main() File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10/tools/prog.py", line 128, in main return_code = pymcuprog_basic(args, fuses_dict) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10/tools/prog.py", line 201, in pymcuprog_basic args_start) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog\pymcuprog_main.py", line 545, in _start_session backend.start_session(sessionconfig) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog\backend.py", line 362, in start_session sessionconfig.interface_speed) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog\programmer.py", line 83, in setup_device options=self.options) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog vm.py", line 42, in get_nvm_access_provider accessprovider = NvmAccessProviderSerial(transport, device_info, baud=frequency, options=options) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog vmserialupdi.py", line 54, in __init__ self.avr = UpdiApplication(port, baud, self.dut) File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog\serialupdi\application.py", line 79, in __init__ datalink.init_datalink() File "C:\Users\Golde\AppData\Local\Arduino15\packages\megaTinyCore\hardware\megaavr\2.6.10\tools\libs\pymcuprog\serialupdi\link.py", line 44, in init_datalink raise PymcuprogError("UPDI initialisation failed") pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialisation failed Failed programming: uploading error: exit status 1 And I tried with Arduino nano and it also gave me an error?
@maker-garage-de1060
@maker-garage-de1060 5 месяцев назад
Hmm, bad 😕 I don’t have Windows (only Linux). But looks like you have not the “correct” Arduino IDE: Do you use the “golden” version 1.8.13?
@hiennguyenminh9214
@hiennguyenminh9214 5 месяцев назад
Hello, I am using arduino 2.3.2 on windows 11. I have watched many videos but still there is no better way to load the program into attiny3224. I will try something else with the pickit 4 which may have something to do with the cost to buy
@maker-garage-de1060
@maker-garage-de1060 5 месяцев назад
Hi, the MagaTinyCore won’t work with this Version.
@hiennguyenminh9214
@hiennguyenminh9214 5 месяцев назад
@@maker-garage-de1060 I just tried again with version 1.8.13, I tried it before and this time I tried again and it still showed the error "pymcuprog.pymcuprog_errors.PymcuprogError: UPDI initialization failed" This is the actual capacity Sketch uses 18530 bytes (56%) of program storage space. Maximum is 32768 bytes. Global variables use 227 bytes (7%) of dynamic memory, leaving 2845 bytes for local variables. Maximum is 3072 bytes.
@hiennguyenminh9214
@hiennguyenminh9214 5 месяцев назад
Looks like the updated changes in megatinycore? I will find a way because it is an indispensable part of the mini Reflow soldering project
Далее
Projekt: Elektronik Helfer
13:57
Просмотров 3,2 тыс.
I²C Bus erklärt .. und geht OLED am ATtiny?
10:28
Просмотров 2,2 тыс.
😂😂
00:16
Просмотров 869 тыс.
Make a UPDI Programmer for the Arduino ATTiny
14:50
Просмотров 23 тыс.
Projekt "Experimentierboard": Alles erklärt!!
8:42
Просмотров 3,8 тыс.
UPDI - The Next Best Thing Since Bread Came Sliced
18:44
ESP32 und STM32 gegen ATtiny -- Unfair?
14:09
Просмотров 10 тыс.