China NANO clone (CH340) mit New Bootloader?

Hallo an alle

Normalerweise wird als Hilfestellung bei China NANO Clonen die Info gegeben in der IDE im Menü "Tools" - "Boards" die Einstellung "Arduino NANO" und dann unter "Prozessor" den "ATmega328 (old Bootloader)" zu wählen.

Mir ist nun ein NANO Clon von Kuman: " Kuman 10 x Mini for Nano V3.0 ATmega328P 5V 16M Micro Controller Board Module for ArduinoIDE KY64-10" ( https://www.amazon.it/gp/product/B01NCM5W9O/ref=ppx_yo_dt_b_asin_title_o09_s00?ie=UTF8&psc=1 ) untergekommen der den neuen Bootloader drauf hat.

Also scheint, daß in Asien auch der neue Bootloader angekommen ist.

Grüße Uwe

PS auch ich benutze manchmal Nachbauten. Vor allem wenn ich den eingebaut in ein Projekt verschenke und die Gefahr, daß er ein stilles ungenutztes Dasein beim beschenkten fristen wird.

1 Like

Danke für die Info :+1:

Dass es auch (schon) Nano-Clone (CH340) mit neuem Bootloader gibt kann auch ich bestätigen. Den hatten Nano-Clone drauf, die ich im vergangenen Jahr gekauft habe (Händler weiß ich leider nicht mehr).
War kurz irritiert, weil sich der Clon mit den "üblichen Einstellungen" (Old Bootloader) nicht programmieren ließ, hab dann aber schnell gemerkt was Sache ist. :slight_smile:
Jetzt gibt es in der "Nano-Box" einen Beutel der mit "new Bootloader" beschriftet ist.

btw: gibts eigentlich irgend einen Grund für den "new bootloader"? Ich gib auf alles mit 16MHz den UNO Bootloader drauf. Spart mir zumindest die Umstellerei in der IDE. Oder in anderen Worten, was ist im "Nano - New Bootloader" anders/besser/schöner/schneller/bunter als am UNO Bootloader?

Nichts.
Schaust Du Boards.txt

1 Like

Der einzige wesentliche Vorteil des Wechsels vom alten Nano-Bootloader zum neuen Nano-Bootloader besteht darin, den Fehler zu beheben, bei dem das Board nach einem Watchdog-Reset in eine endlose Reset-Schleife geht.
https://forum.arduino.cc/t/its-possible-update-atmega328p-old-bootloader/547669/4

wesentlich vom Nano Old Bootloader zum Nano New Bootloader ist definitiv auch die verbleibende Größe des Usersketch, sind 1.5K.

Daher war meine Frage vom Nano New Bootloader zum UNO Bootloader - und hier gibts wohl keinen. Siehe boards.txt

Genau:
Nano New Bootloader == UNO Bootloader

Der "alte" Bootloader war auf dem Arduino 2009 (Duemilanove) , dem Vorgänger des UNO. Der Arduino NANO ist zur Zeit des Arduino 2009 und IDE bis 0023 entstanden mit dem gleichen USB-Serial Adapter (FT232) und dem gleichen Bootloader. Beim UNO (ide 1.xx) wurde dann der neue Bootloader verwendet.
Beim Orginalen Arduino NANO wurde der Bootloader erst einige Jahre später geändert. Davon hat die asiatische Clon-Produktion bis vor kurzem nichts mitbekommen. Jetzt scheinen einige Hersteller das bemerkt zu haben und nun den Neuen Bootloader aufspielen.

Grüße Uwe

1 Like

Falsch!

Da sieht man den wesentlichen Unterschied nicht.

Der alte Bootloader führt beim Einsatz des WDT in eine DauerResetSchleife.
Der UNO Bootloader behebt das Problem.

Ansonsten, viel Mist.....

Lies nochmal.

Es ist nicht die Frage old/new-bootloader.

Vergleiche mal die Fuses von UNO und neuem Nano Bootloader.
Da ist ein bemerkenswert "dummer" Unterschied.

uno.bootloader.low_fuses=0xFF
uno.bootloader.high_fuses=0xDE
uno.bootloader.extended_fuses=0xFD
uno.bootloader.unlock_bits=0x3F
uno.bootloader.lock_bits=0x0F
uno.bootloader.file=optiboot/optiboot_atmega328.hex

uno.build.mcu=atmega328p

Der Uno ist also richtig gesetzt?

Wenn dem NICHT so ist, wüsste ich gerne, was daran anders ist einen Nano328p mit diesen Fuses zu setzen und mit optiboot zu flashen.

Du siehst den Unterschied nicht?
Auch ok....

Doch.
Du weichst wieder aus.
Daher nochmal:

Der Uno ist also richtig gesetzt?

Lass doch gut sein....
Hier gehts um den Nano, nicht um den UNO.

Doppelt falsch.

Hier geht es darum den NANO328p mit dem UNO-(optiboot)Bootloader zu bespielen.
Das ist Dir vielleicht anfänglich entgangen. Kein Problem.

noiasca hat alles richtig gemacht.
Wer den Nano so wie in #4

mit den UNO Einstellungen bespielt macht alles richtig.

Es gibt dann den feinen Unterschied zwischen newbootloader und UNO. Nur dann gibt es nämlich den zusätzlichen Speicher.

Der Einwurf "vergleich die Fuses" ist unsinnig. Was soll verglichen werden?
Du hast Dich verrannt:
Bei der Umstellung des bootloaders auf optiboot - wurde seitens arduino "vergessen" die Fuses passend zu setzen.

nano.menu.cpu.atmega328.bootloader.high_fuses=0xDA

nano.menu.cpu.atmega328old.bootloader.high_fuses=0xDA

Richtig wäre gewesen:

nano.menu.cpu.atmega328.bootloader.high_fuses=0xDE

Wurde vergessen - is nu so.

Darum geht es aber nicht.
Wer den Bootloader - mit den UNO-Fuses - draufspielt, muss auch beim flashen darauf achten, das er den UNO auswählt.
Nicht mehr und nicht weniger.
Nichts Fuses.
Nichts umstellen.

Wer mag, kann sich auch eine kleine feine lokale boards.txt
einrichten und einen zusätzlichen Menupunkt basteln. Sowas wie: "Nano328p mit vollem UNO-Speicher" (oder so ähnlich).

Dann auch die Bespielgeschwindigkeit mitnehmen und alles ist gut.

  • na dann...
1 Like

So so...
Wenn es um den Nano geht, dann ist das falsch, weil es um den Nano geht.
Iss klar.....

Alles klar, entgangen ist mir da auch einiges....
sicherlich habe ich genau deswegen diesen Link gepostet. (in #10)

So wie ich das sehe, gibt es 2 Möglichkeiten.

  1. das Thema ist (für mich/von mir) schon vor 3 Jahren abgehandelt worden
  2. du hast zu viel Schaum vorm Mund, um das zu bemerken.

Vermutlich treffen beide Möglichkeiten zu....

Also nur zu, erkläre mich weiter für blöd, unaufmerksam, oder was du auch willst.
Meinen Segen, du hast.

mag noch wer erörtern wofür der

nano.build.variant=eightanaloginputs

in der Praxis Anwendung findet und in welcher Konstellation es in der Theorie mit einem "Nano als UNO geflasht incl. der Fuses gem. UNO" dann zu Schwierigkeiten kommen könnte?

ad hoc finde ich da nur die
pins_arduino.h

#include "../standard/pins_arduino.h"
#undef NUM_ANALOG_INPUTS
#define NUM_ANALOG_INPUTS           8

aber noch kein Beispiel welcher Code, welche Datei das abfragt...

Da addresseDaten = analogRead(A7); problemlos für den UNO kompiliert wird, wohl nirgends.