Tiny AVR programmer not found

I have previously successfully used the Tiny AVR Programmer for several projects. However today (using the same laptop) when I tried to down load the sketch using the Programmer I got the error:
avrdude: Error: Could not find USBtiny devine (0x1781/0xc9f)
Looking at in the Arduino IDE window the Board is correctly set (ATtiny25/45/85) as are the Processor (ATTiny85), Clock (Internal 1 MHz) and Programmer (USBtinyISP), BUT the port is greyed out.
Checking the Laptop' device manager shows that the programmer has been recognized as a Universal serial bus device but as FabISP.
image

At the bottom RH corner of the IDE screen the prcessor is noted at ATtiny25/45/85, but is shown as not connected
image

Given that I did not have this "Preogrammer not found" problem previously when programming several ATTiny85's numerous times and as far as I'm aware nothing has changed I am puzzled as to why it no longer works.

I have tried with serveral versions of Arduino IDE, the latest I have is V2.2.1, then V1.8.19 & V1.8.13 in all cases the programmer is not "found"

I hope that the images included can be seen and that somebody can give me guidance to solve the problem
Thank you

I have a USB device that loses its ability to communicate with its application every time Windows does any update - which could be every day until Windows gets done with updates to updates. The resolution is; I must re-install the app.

Further, this installation of the app must be run as admin and backwards compatible for Windows 7 (yeah, I know, that's what I say every time) on a Windows 11 system.

Is this topic the same as your other topic?

If so, I like this guy's "how to" program the ATtiny85...

xfpd
First thank you for your reply, apologies for delay in acknowledging it. When you say "..must re-instal the app" by app do you mean the Arduino IDE or the driver for the USB device?
Secondly yes it was related to my other post about programming the ATtiny85 using UNO R3 - something which I have now succeeded in doing.
However the "Tiny AVR Programmer" was so useful to me that i would like to get it working again. Using my laptop and IDE V 1.8.19 with the Programmer inserted into a USB slot at the bottom RH corner of the IDE window is "ATtiny25/45/85, ATtiny85, Internal 1 MHz on COM4" as shown in the image:
Bottom RH coner Laptop
This seems to suggest that the IDE app has found the programmer on COM4, BUT in the Tools dropdown dialog box the Port is greyed out as shown:-


And when I try to upload the sketch the error could not find the USBtiny device appears. So I really would like to solve this!!

Hope you can help

Thanks

No, it only means that you selected "COM4" from the Tools > Port menu. Arduino IDE remembers this port selection even when the port is no longer present on your system.

So the fact that it says "COM4" on the Arduino IDE status bar has absolutely no significance in this particular situation.

That is normal and expected. This programmer is a pure USB device that does not produce a serial port so the Tools > Port menu is completely irrelevant while using the programmer.

I gave it a try with my USBtinyISP programmer and experienced the same unexpected error. I restarted my computer and after that I was able to use the programmer without any problems.

So restart your computer and then try again. Hopefully that will solve the problem.

I think this is OK. I remember seeing that device name before when using my USBtinyISP.

Thank you for your reply - I do like the way in which you tackle each point separately, it is excellent.
So again I have followed your advice, firstly switching on the laptop with the Tiny programmer in the USB slot then opening Arduino IDE - result error USBtiny not found.
Next step restart laptop, open IDE upload sketch - result same error. Conclusion re-starting computer does not solve problem.
I do use a wirless mouse on my laptop so third step was to remove all other devices plugged into USB slots leaving just the Tiny programmer. Still same error for all of the 3 USB slots in turn (real belt & braces, clutching at straws stuff!)
So I am at a loss as to why now, Jan 2024, I keep getting this error whilst last summer and autumn I had no problems at all.
My next thought is whether the fault lies with the programmer, is it possible that it is faulty?
Or is it that the device driver has been lost or corrupted? The original instructions with the Tiny AVR Programmer were to download the driver using Zadig. Opening that software with the programmer in a USB slot resulted in:


The Zadig sofware has not found any device, does this re-inforce the idea that the programmer is faulty?
Whilst I can (using the UNO) programme the ATtiny85, I really would like to get to the root cause of the failure to use the Tiny AVR Programmer - so your help is very much appreciated

Not necessarily. You will only see the USBtinyISP device in Zadig if you have selected Options > List All Devices from the Zadig menus.

Open the "Options" menu in Zadig and check whether there is a checkmark to the left of the "List All Devices" menu item. If not, select that menu item and then check to see if the device then appears in the dropdown menu.

ptillish,
I cannot thank you enough!
On Zadig the programmer device is listed (Options>List All Devices) as FabISP, so selecting the libusb-win32(v1.2.6.0) and re-installing the driver seems to have solved the problem, or at least I have managed to upload a sketch to an ATtiny85 chip.
Oh how I yearn for the days when I first learnt any computing (Fortran) when one had big thick reference books that one could study at length!

You are welcome. I'm glad it is working now. Thanks for taking the time to post an update with your solution!

Regards,
Per

Oh dear here we go again!! Without changing any thing since our last conversation I wanted to re-programme the ATtiny85, but it failed with the error:-

avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.
First I re-installed the FabISP driver, no change; then I followed your previous advice and re-started the laptop, again no change.
I then went to my desktop PC, Device Manager showed the AT programmer as a "libsub-win32 device/FabISP", but as a check I re-installed the driver, but again when uploading using "Upload Using Programmere" the same error message appeared.
Is it possible that the Tiny AVR Programmer is faulty? Any other suggestions?

May I ask another question? I have successfully tried to programme the ATtiny85 using my UNO as the programmer, but only uploading the example sketch Blink. The sketch I want to upload uses all the pins on the 85 (pins 2 & 3 as INPUT, 1, 5,6 & 7 as output. When programming the chip from the UNO pins 1,5,6 & 7 are connected to the UNO to faciltate the upload. Is there any conflict once the sketch has been uploaded and begins to run?

I appreciate the time you take to answer my queries and look forward to your answer!

Would be glad to see the picture of your "USBtinyISP Programmer" and the "fuse-bit values" of your ATtiny85.

Try to program the ATtiny85 using "Arduino as ISP" Programmer.

Thank you for your reply, the programmer is the Tiny AVR Programmer by SparkFun. A photo appears below.


Whilst I know that "Fuses" are configuration bytes in non-volatile memory I have never (being relatively new to microcontrollers) had any thing to do with them and thus assume that those in the tiny85 that I'm use are at default vallues.
Turning to your other point I have successfully programmed the tiny85 using an UNO R3, but the Tiny AVR Programmer is so convenient and worked well when I first used after purchase that I really would like to continue to use it and cannot understand why it worked at the end of January (this year!) but now does not. The Arduino IDE has NOT been updated since January

I'm going to ask you to post the full verbose output from an upload attempt.


:exclamation: This procedure is not intended to solve the problem. The purpose is to gather more information.


Please do this:

  1. Select File > Preferences... (or Arduino IDE > Settings... for macOS users) from the Arduino IDE menus.
    The "Preferences" dialog will open.
  2. Uncheck the box next to Show verbose output during: compilation in the "Preferences" dialog.
  3. Check the box next to Show verbose output during: ☐ upload.
  4. Click the "OK" button.
  5. Attempt an "Upload Using Programmer", just as you did before.
  6. Wait for the upload to fail.
  7. You will see a "Upload error: ..." notification at the bottom right corner of the Arduino IDE window. Click the "COPY ERROR MESSAGES" button on that notification.
  8. Open a forum reply here by clicking the "Reply" button.
  9. Click the <CODE/> icon on the post composer toolbar.
    This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block icon on toolbar
  10. Press the Ctrl+V keyboard shortcut (Command+V for macOS users).
    This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code block markup before you add any additional text to your reply.
  12. Click the "Reply" button to post the output.

To develop ATtiny85 based product/project, I prefer to use the following ATtiny85 Dev Boards under the hood of ATTinyCore and Arduino IDE. I have AVR Programmer and Universal Programmer to set fuse bits.
Attiny85DevBoard
DigisparkAttiny85Board

Good Afternoon ptillisch,
Thank you for your reply, apologies for my delay I've had to undertake some manual labour in preparation for a contractor to work here tomorrow.
I have done as requested and the result is below - I hope that this will tell you why the failure to upload happened.
Regards,

Arduino: 1.8.19 (Windows 10), Board: "ATtiny25/45/85, ATtiny85, Internal 1 MHz"

Sketch uses 1094 bytes (13%) of program storage space. Maximum is 8192 bytes.

Global variables use 15 bytes (2%) of dynamic memory, leaving 497 bytes for local variables. Maximum is 512 bytes.

C:\Users\turne\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/bin/avrdude -CC:\Users\turne\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf -v -pattiny85 -cusbtiny -Uflash:w:C:\Users\turne\AppData\Local\Temp\arduino_build_327935/Vac_pump_delay_control_V5a.ino.hex:i 



avrdude: Version 6.3-20190619

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch



         System wide configuration file is "C:\Users\turne\AppData\Local\Arduino15\packages\arduino\tools\avrdude\6.3.0-arduino17/etc/avrdude.conf"



         Using Port                    : usb

         Using Programmer              : usbtiny

avrdude: usbdev_open(): Found USBtinyISP, bus:device: bus-0:\\.\libusb0-0001--0x1781-0x0c9f

         AVR Part                      : ATtiny85

         Chip Erase delay              : 400000 us

         PAGEL                         : P00

         BS2                           : P00

         RESET disposition             : possible i/o

         RETRY pulse                   : SCK

         serial program mode           : yes

         parallel program mode         : yes

         Timeout                       : 200

         StabDelay                     : 100

         CmdexeDelay                   : 25

         SyncLoops                     : 32

         ByteDelay                     : 0

         PollIndex                     : 3

         PollValue                     : 0x53

         Memory Detail                 :



                                  Block Poll               Page                       Polled

           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack

           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------

           eeprom        65    12     4    0 no        512    4      0  4000  4500 0xff 0xff

           flash         65     6    32    0 yes      8192   64    128 30000 30000 0xff 0xff

           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00

           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00



         Programmer Type : USBtiny

         Description     : USBtiny simple USB programmer, https://learn.adafruit.com/usbtinyisp

avrdude: programmer operation not supported



avrdude: Using SCK period of 10 usec

An error occurred while uploading the sketch

avrdude: initialization failed, rc=-1

         Double check connections and try again, or use -F to override

         this check.





avrdude done.  Thank you.





This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Possibly, but it is at least equally possible the problem is either with the connections between the programmer and the ATtiny85, or with the ATtiny85 itself.

The computer is able to recognize the Tiny AVR Programmer, so we know that everything is good in the subset of the programmer's systems that provides the communication between the programmer and the computer. It is possible there could be a problem in the subset of the programmer's systems that provides communication between the programmer and the target (e.g., damaged I/O pin).

Have you done that since the time when the uploads started failing when using the Tiny AVR Programmer?

The fuses are set according to the definition of the board you have selected from the Arduino IDE's Tools > Board menu, as well as the selections from the other Tools menus (e.g., Tools > Clock) when you select Tools > Burn Bootloader from the Arduino IDE menus.

ptillisch,
Again many thanks for a thorough reply.
I can confirm that a.) I have tried 2 ATtiny85 chips in the programmer, both failed to programme and b.) yes I have successfully programmed one of these with my UNO R3 after failure in the programmer. The Tiny AVR Programmer is plugged directly into the laptop USB port, the laptop is running Arduino IDE V1.8.19

My desktop has Arduino V2.2.1 and if I try to use the Tiny AVR programmer (again plugged into the PC USB port) I get the following verbose error message (both compiling and uploading ticked verbose):-

FQBN: attiny:avr:ATtinyX5:cpu=attiny85
Using board 'ATtinyX5' from platform in folder: C:\Users\David\AppData\Local\Arduino15\packages\attiny\hardware\avr\1.0.2
Using core 'arduino' from platform in folder: C:\Users\David\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6

Detecting libraries used...
C:\Users\David\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10607 -DARDUINO_attiny -DARDUINO_ARCH_AVR -IC:\Users\David\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\David\AppData\Local\Arduino15\packages\attiny\hardware\avr\1.0.2\variants\tiny8 C:\Users\David\AppData\Local\Temp\arduino\sketches\96BC33D880D5F1258333ABAC5CEDEF91\sketch\Vac_pump_delay_control_V5b.ino.cpp -o nul
Generating function prototypes...
C:\Users\David\AppData\Local\Arduino15\packages\arduino\tools\avr-gcc\7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10607 -DARDUINO_attiny -DARDUINO_ARCH_AVR -IC:\Users\David\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.6\cores\arduino -IC:\Users\David\AppData\Local\Arduino15\packages\attiny\hardware\avr\1.0.2\variants\tiny8 C:\Users\David\AppData\Local\Temp\arduino\sketches\96BC33D880D5F1258333ABAC5CEDEF91\sketch\Vac_pump_delay_control_V5b.ino.cpp -o C:\Users\David\AppData\Local\Temp\1176363074\sketch_merged.cpp
C:\Users\David\AppData\Local\Arduino15\packages\builtin\tools\ctags\5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives C:\Users\David\AppData\Local\Temp\1176363074\sketch_merged.cpp
Compiling sketch...
"C:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=attiny85 -DF_CPU=1000000L -DARDUINO=10607 -DARDUINO_attiny -DARDUINO_ARCH_AVR "-IC:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\avr\\1.8.6\\cores\\arduino" "-IC:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\attiny\\hardware\\avr\\1.0.2\\variants\\tiny8" "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91\\sketch\\Vac_pump_delay_control_V5b.ino.cpp" -o "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91\\sketch\\Vac_pump_delay_control_V5b.ino.cpp.o"
Compiling libraries...
Compiling core...
Using precompiled core: C:\Users\David\AppData\Local\Temp\arduino\cores\attiny_avr_ATtinyX5_cpu_attiny85,clock_internal1_ef9d0690eb7676428f5dbc9d61b13d0a\core.a
Linking everything together...
"C:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-gcc" -w -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=attiny85 -o "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.elf" "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91\\sketch\\Vac_pump_delay_control_V5b.ino.cpp.o" "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/..\\..\\cores\\attiny_avr_ATtinyX5_cpu_attiny85,clock_internal1_ef9d0690eb7676428f5dbc9d61b13d0a\\core.a" "-LC:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91" -lm
"C:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.elf" "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.eep"
"C:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-objcopy" -O ihex -R .eeprom "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.elf" "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.hex"

"C:\\Users\\David\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\avr-gcc\\7.3.0-atmel3.6.1-arduino7/bin/avr-size" -A "C:\\Users\\David\\AppData\\Local\\Temp\\arduino\\sketches\\96BC33D880D5F1258333ABAC5CEDEF91/Vac_pump_delay_control_V5b.ino.elf"
Sketch uses 1062 bytes (12%) of program storage space. Maximum is 8192 bytes.
Global variables use 15 bytes (2%) of dynamic memory, leaving 497 bytes for local variables. Maximum is 512 bytes.
A programmer is required to upload

So it compiles OK, but no board detected.
Maybe I should just buy a new programmer!
Thank you

Clicking the upload button in IDE V1.x will automatically use the programmer when required.

This is not the case for IDE V2.x. You need to select Sketch>Upload Using Programmer from the menu.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.