Arduino IDE on Ubuntu with USBasp-cannot set sck

My question is will the Arduino IDE on Ubuntu be able to upload sketch using an USBasp programmer that has not been updated?

I have read that Avrdude will give this error message but will be able to upload anyway:

avrdude: warning: cannot set sck period. please check for usbasp firmware update.

So can the Arduino IDE do that too or does the Arduino IDE fail if this error message is generated? I really need an answer to that question, but there is more discussion, although it seems like this subject has been beaten to death already. I don't use Windows so I don't have the driver issues. There is the permission issue, I know how to deal with that. I have run a really old Arduino IDE and programmed using the bootloader and USB connection, but I want to go the next step and use ISP for programming. Sometimes a project has battery power, so I wanted to be able to disconnect the power coming from the USBasp - the one I bought has a jumper for the power so I can just leave it off, or set it for 3.3V or 5V, I like that. There is a modification I saw online showing how one can get the USBasp to run on the 3.3V and thus have 3.3V signals on the MISO/MOSI/CK pins of the ISP cable, I like that, but that modification violates the ATMEGA specifications for available clock rate vs. operating voltage. I asked Herr Fischel if the USBasp can run on a different clock (and thus fall within the ATMEGA specification) but the answer is no. So I cooked up this modification to run the USBasp on 3.75V and I think it would work within the specifications.

First of all, it is a warning, not an error message. The answer to your question is: It does not. This warning is normal and expected when using some of the more common Chinese USBasp programmers (e.g., "Baite" brand). The chinese have some modified version of the firmware that causes this warning.

So please just ignore it. This warning sometimes causes people to replace the Chinese firmware with the official one, but the Chinese one is actually better than the original, so that is a downgrade.

The Chinese firmware is perfectly sufficient for 95% of people. If you do end up running into its limitations at some point, there is a community created version of the firmware, which is better than the Chinese one both in functionality and in being open source:

But I wouldn't recommend going through the trouble to update if you don't need it.

Thanks PeterVH, this is very helpful. I will move forward on the expectation that this warning will not hinder using the ISP programming method from the Arduino IDE.

I still wonder about how people are using the USBasp device in those two cases:

  1. Do people mostly provide power from the USBasp to the target device?
  2. How about when the target is a 3.3V device?

With the original design from Herr Fischel, there was no choice but to supply power from the USBasp and it was 5V. This Chinese unit seems to be the most common and very low cost, and it has a jumper to choose providing power at either 5V or 3.3V, or to provide no power by leaving the jumper off. But in the case when you choose the 3.3V, the signal voltage on MISO/MOSI/CK would be outside the maximum ratings for the target. The modification I found online would enable the USBasp processor to also run on 3.3V, but this places it out of the specifications for clock rate vs. operating voltage.

Yes, big thanks to petervh and also to bperrybap for their work on this firmware.

There is some additional information on the subject if you like a long but interesting read:

I really need to clean our USBasp project up.
Years ago I tried to contact Fishl but he never responded to me.

Our version of the f/w does some auto clocking so you don't have to use the slow clock jumper.

I also have some nice updates including scripts that makes builds easier.
Also it has pre-compiled images and the firmware can be updated using drag and drop from a file manager gui on Windows, Linux, or mac, in my repo under the 1.06-alpha branch down under the firmware directory.

I need to get with Peter and move this project over to the usbasp repo I set up for the firmware here: usbasp · GitHub
Since my code is fork from Peter's I wanted to get my updates into his repo and then move that repo to the usbasp repo so we can put it to bed.

I've been meaning to do it for quite some time, but just never gotten around to it.
There weren't any issues with Peter it was just a matter of actually doing it.

--- bill

1 Like

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