Customer:
I received a Dasduino LITE (ATTiny1604) and attempted to program the microcontroller, but Arduino IDE shows errors regardless of settings, cable, or computer. I cannot upload code to the microcontroller.
I tried uploading this program:
void setup() {
pinMode(5, OUTPUT);
}
void loop() {
digitalWrite(5, HIGH);
delay(1000);
digitalWrite(5, LOW);
delay(1000);
}
After clicking upload and immediately plugging the USB cable into the Dasduino, the console showed successful programming and the LED next to TXD started blinking according to the code. After changing the delay parameters and attempting to upload the code again, it refused to load.
I have tried all USB ports on my computer and laptop, uninstalled and reinstalled drivers and board definitions from https://github.com/SolderedElectronics/Dasduino-Board-Definitions-for-Arduino-IDE/raw/master/package_Dasduino_Boards_index.json.
When clicking the reset button, nothing appears to happen.
Console message when programming succeeded:
avrdude: Version 6.
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\[user]\AppData\Local\Arduino15\packages\Dasduino_Boards\hardware\megaavr\2.1.0/avrdude.conf"
Using Port : COM6
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATtiny1604
Chip Erase delay : 0 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 0
StabDelay : 0
CmdexeDelay : 0
SyncLoops : 0
ByteDelay : 0
PollIndex : 0
PollValue : 0x00
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———– —- —– —– —- —— —— —- —— —– —– ———
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
prodsig 0 0 0 0 no 61 61 0 0 0 0x00 0x00
fuses 0 0 0 0 no 9 10 0 0 0 0x00 0x00
fuse0 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse1 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse2 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse4 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse5 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse6 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse7 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse8 0 0 0 0 no 1 0 0 0 0 0x00 0x00
lock 0 0 0 0 no 1 0 0 0 0 0x00 0x00
data 0 0 0 0 no 0 0 0 0 0 0x00 0x00
usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00
flash 0 0 0 0 no 16384 64 0 0 0 0x00 0x00
eeprom 0 0 0 0 no 256 32 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 9.1
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9425 (probably t1604)
avrdude: reading input file "C:\Users\[user]\AppData\Local\Temp\arduino\sketches\EE9AB7C049BA2F9BEFBA5288C1D15F4F/sketch_oct11a.ino.hex"
avrdude: writing flash (832 bytes):
Writing | ################################################## | 100% -0.00s
avrdude: 832 bytes of flash written
avrdude: verifying flash memory against C:\Users\[user]\AppData\Local\Temp\arduino\sketches\EE9AB7C049BA2F9BEFBA5288C1D15F4F/sketch_oct11a.ino.hex:
avrdude: load data flash data from input file C:\Users\[user]\AppData\Local\Temp\arduino\sketches\EE9AB7C049BA2F9BEFBA5288C1D15F4F/sketch_oct11a.ino.hex:
avrdude: input file C:\Users\[user]\AppData\Local\Temp\arduino\sketches\EE9AB7C049BA2F9BEFBA5288C1D15F4F/sketch_oct11a.ino.hex contains 832 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% -0.00s
avrdude: verifying …
avrdude: 832 bytes of flash verified
avrdude done.
Errors that appear:
avrdude: ser_open(): can't open device "\\.\\ COM6": Access is denied.
stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0xea
Originally submitted via email support on 11 October 2024. Migrated to the forum for community visibility.
Soldered Support:
I think the problem is that digital pin 5 is used for programming the device, so you cannot put the device into programming mode over USB.
I have an idea. If you have Python installed, try running:
pip install pymcuprog
Then:
pymcuprog -d attiny1604 erase
This should erase the flash memory on the Dasduino LITE. If this doesn’t work, do you have a UPDI programmer nearby?
Original message (Croatian)
mislim da je problem u tome što digital pin 5 se koristi za programiranje uređaja, pa se preko USB-a ne može uređaj staviti u mod za programiranje.
Imam ideju, ako imaš instaliran python, probaj pokrenuti:
pip install pymcuprog
i onda
pymcuprog -d attiny1604 erase
Ovo bi moglo obrisati flash memoriju sa Dasduino LITE-a. Ako ovo ne bude radilo, imaš li UPDI programer u blizini?
Customer:
I attempted to solve the problem according to your suggestions, but unfortunately I was not successful. The pymcuprog tool did not recognize the device and returned the error “No CMSIS-DAP devices found”. I do not have a UPDI programmer available, so I cannot proceed with that approach.
Original message (Croatian)
Bok, Pokušao sam riješiti problem prema vašim prijedlozima, ali nažalost nisam uspio. Pymcuprog alat nije prepoznao uređaj i javlja grešku “No CMSIS-DAP devices found”. Nemam UPDI programer kod sebe pa ne mogu nastaviti tim putem. Hvala puno na pomoći! Lijep pozdrav, [name removed]
Soldered Support:
I consulted with a colleague and they said that if the RESET button functions, code upload should work regardless. I would try programming an empty sketch onto the Dasduino LITE while holding the RESET button.
If something does not work, you could potentially use another microcontroller temporarily as a UPDI programmer, depending on which microcontroller you have. I can try to find a guide for you. HV UPDI programming should be able to completely fix the Dasduino and bring it to a state where it can be programmed.
Original message (Croatian)
konzultirao sam se s kolegom i rekao je da ako RESET tipka funkcionira, upload koda bi trebao raditi svejedno. Ja bi probao programirati prazan sketch na Dasduino LITE dok držiš RESET tipku.
Ako nešto ne radi, možda možeš iskoristit drugi mikroupravljač privremeno kao UPDI programer, ovisno o tome koji mikroupravljač imaš, mogu ti probati naći neki guide. HV UPDI programiranje bi trebalo moći potpuno popraviti Dasduino i dovesti ga u stanje gdje se može programirati.
Customer:
I attempted to program the Dasduino LITE with an empty sketch, but I continue to get the error:
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xca
when attempting to transfer the code. I checked the reset button, which appears to work, but the code still cannot be transferred. I have an Arduino UNO microcontroller available. I can set it up as a UPDI programmer.
Original message (Croatian)
Pozdrav, Pokušao sam programirati Dasduino LITE s prazan sketchom, ali i dalje dobivam grešku avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0xca prilikom pokušaja prijenosa koda. Provjerio sam reset tipku, koja se čini da radi, ali kod se i dalje ne može prenijeti.
Imam Arduino UNO mikroupravljač, mogu ga postaviti kao UPDI programer.
Hvala na pomoći! Lijep pozdrav, [name removed]
Soldered Support:
Try this. Full disclosure: I generated this and then manually reviewed and added a few details.
-
Prepare Arduino UNO as a JTAG2UPDI programmer
Open Arduino IDE and go to File > Examples > 11. ArduinoISP > jtag2updi. Upload the JTAG2UPDI sketch to your Arduino UNO: Select Arduino UNO as the board (Tools > Board > Arduino UNO). Select the appropriate Port (Tools > Port). Click Upload.
-
Connect Arduino UNO to ATtiny1604
Connect Arduino UNO to ATtiny1604 as follows:
- 5V to Vcc (pin 1) on ATtiny1604
- GND to GND (pin 14) on ATtiny1604
- Digital Pin 6 on Arduino UNO to the UPDI pin (it is separated from the other pins) on ATtiny1604
- Connect a 4.7kΩ resistor between the UPDI pin and the 5V pin on ATtiny1604
-
Arduino IDE settings for programming ATtiny1604
Go to Tools > Board and select the appropriate board (Dasduino Lite). Under Tools > Chip, select ATtiny1604. (This should already be selected). Under Tools > Programmer, select jtag2updi (dasduino lite). Under Tools > Port, select the appropriate port where Arduino UNO is connected. Now you can program the ATtiny1604 via Arduino IDE. Open an empty sketch and click Upload using programmer (important).
-
Load code onto ATtiny1604
Click Upload and Arduino UNO will start programming ATtiny1604 via JTAG2UPDI. If everything is set up correctly, you will get a confirmation of successful code upload.
Report back with results. If you don’t have a 4.7k resistor, something close will work well enough. The point is to have a pull-up.
Original message (Croatian)
Evo probaj ovo, full disclosure ovo sam izgenerirao i onda ručno prešao i dodao par sitnica 
- Priprema Arduino UNO kao JTAG2UPDI programer Otvori Arduino IDE i idi na File > Examples > 11. ArduinoISP > jtag2updi. Uploadaj JTAG2UPDI sketch na svoj Arduino UNO: Odaberi Arduino UNO kao ploču (Tools > Board > Arduino UNO). Odaberi odgovarajući Port (Tools > Port). Klikni na Upload. 2. Spajanje Arduino UNO-a na ATtiny1604 Spoji Arduino UNO s ATtiny1604 prema sljedećem: 5V s Vcc (pin 1) na ATtiny1604. GND s GND (pin 14) na ATtiny1604. Digitalni Pin 6 na Arduino UNO s UPDI pinom (on je odvojen od ostalih pinova) na ATtiny1604. Spoji 4.7kΩ otpornik između UPDI pina i 5V pina na ATtiny1604. 3. Postavke u Arduino IDE-u za Programiranje ATtiny1604 Idi na Tools > Board i odaberi odgovarajuću ploču (Dasduino Lite). Pod Tools > Chip, odaberi ATtiny1604. (Ovo je ja mislim već odabrano) Pod Tools > Programmer, odaberi jtag2updi (dasduino lite). Pod Tools > Port, odaberi odgovarajući port na kojem je Arduino UNO. Sada možeš programirati ATtiny1604 preko Arduino IDE-a. Otvori prazan sketch i klikni Upload using programmer (važno). 4. Učitavanje Koda na ATtiny1604 Klikni na Upload i Arduino UNO će početi programirati ATtiny1604 putem JTAG2UPDI-a. Ako je sve ispravno podešeno, dobit ćeš potvrdu o uspješnom učitavanju koda.
Javi s rezultatima. Ako nemaš otpornik of 4.7k, neki blizu će biti dovoljno dobar. Poanta je da ima pull up.
Customer:
I connected the Arduino UNO to the Dasduino LITE according to the instructions and got this in the console:
avrdude: Version 6.
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Users\[user] removed]\AppData\Local\Arduino15\packages\Dasduino_Boards\hardware\megaavr\2.1.0/avrdude.conf"
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATtiny1604
Chip Erase delay : 0 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 0
StabDelay : 0
CmdexeDelay : 0
SyncLoops : 0
ByteDelay : 0
PollIndex : 0
PollValue : 0x00
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
———– ————- —— ————- ———— ————— ———— ————- ———— —————— —— —————
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
prodsig 0 0 0 0 no 61 61 0 0 0 0x00 0x00
fuses 0 0 0 0 no 9 10 0 0 0 0x00 0x00
fuse0 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse1 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse2 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse4 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse5 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse6 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse7 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse8 0 0 0 0 no 1 0 0 0 0 0x00 0x00
lock 0 0 0 0 no 1 0 0 0 0 0x00 0x00
data 0 0 0 0 no 0 0 0 0 0 0x00 0x00
usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00
flash 0 0 0 0 no 16384 64 0 0 0 0x00 0x00
eeprom 0 0 0 0 no 256 32 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: Expected signature for ATtiny1604 is 1E 94 25
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Original message (Croatian)
spojio sam arduino uno na dasduino lite prema uputama i dobio sam ovo u konzoli:
avrdude: Version 6.
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is “C:\Users[user] removed]\AppData\Local\Arduino15\packages\Dasduino_Boards\hardware\megaavr\2.1.0/avrdude.conf”
Using Port : COM5
Using Programmer : arduino
Overriding Baud Rate : 115200
AVR Part : ATtiny1604
Chip Erase delay : 0 us
PAGEL : P00
BS2 : P00
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 0
StabDelay : 0
CmdexeDelay : 0
SyncLoops : 0
ByteDelay : 0
PollIndex : 0
PollValue : 0x00
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
prodsig 0 0 0 0 no 61 61 0 0 0 0x00 0x00
fuses 0 0 0 0 no 9 10 0 0 0 0x00 0x00
fuse0 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse1 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse2 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse4 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse5 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse6 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse7 0 0 0 0 no 1 0 0 0 0 0x00 0x00
fuse8 0 0 0 0 no 1 0 0 0 0 0x00 0x00
lock 0 0 0 0 no 1 0 0 0 0 0x00 0x00
data 0 0 0 0 no 0 0 0 0 0 0x00 0x00
usersig 0 0 0 0 no 32 32 0 0 0 0x00 0x00
flash 0 0 0 0 no 16384 64 0 0 0 0x00 0x00
eeprom 0 0 0 0 no 256 32 0 0 0 0x00 0x00
Programmer Type : Arduino
Description : Arduino
Hardware Version: 3
Firmware Version: 4.4
Vtarget : 0.3 V
Varef : 0.3 V
Oscillator : 28.800 kHz
SCK period : 3.3 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: Expected signature for ATtiny1604 is 1E 94 25
Double check chip, or use -F to override this check.
avrdude done. Thank you.
Soldered Support:
Did you select the attiny1604 (dasduino lite) board definition and click “upload via programmer” and select jtag2updi? Because here avrdude is trying to program your Arduino, but you actually must first put Arduino into jtag2updi mode with the sketch upload, and then use Arduino as a UPDI programmer for the attiny1604 - meaning Arduino is just the intermediary. It used to happen to me that I would click “upload” multiple times when I actually needed to use “upload using programmer”. In this avrdude log I see that Arduino IDE is trying to read the attiny signature and instead reads from the atmega328p, which is Arduino UNO. Please check that and try again.
Original message (Croatian)
jesi li odabrao attiny1604 (dasduino lite) board definition i kliknuo “upload via programmer” i odabrao jtag2updi? Jer ovdje avrdude pokušava programirati tvoj Arduino, a ti u stvari moraš prvo postaviti Arduino u jtag2updi mode sa uploadom sketcha za to, i onda koristiti Arduino kao UPDI programer za attiny1604 - znači arduino je samo posrednik. Meni se znalo događati da sam par puta uporno kliknuo “upload” a kad sam zapravo trebao “upload using programmer”. Ovdje u avrdude logu vidim da Arduino IDE pokušava pročitati attiny-ev signature a pročita od atmege328p što je ArduinoUNO. Molim te provjeri to i probaj opet.