Help with homemade arduboy schematic

I would recommend doing this. It would allow you to load the UNO with a sketch that toggles the programming pins at a slow rate. You can then check the wiring by seeing if the proper pins are also toggling on the target board. By using a very low frequency, you can use a meter to check for them toggling if you don’t have an oscilloscope.

did you use the USBasp succesfully before on a project? If not Is your USBasp actually an USBasp or does it have USBISP on the case? if it has then it’s not an USBasp at all and you need a program called progisp.

How is the device reconized in device manager?

Try pass along the config file too. Try the following with the config file in the same folder as avrdude:

avrdude -Cavrdude.conf -v -patmega32u4 -cusbasp -Pusb -B100

or alternatively if your using AVRdude of Arduino IDE

<arduino folder>\hardware\tools\avr/bin/avrdude -C<arduino folder>\hardware\tools\avr/etc/avrdude.conf  -v -patmega32u4 -cusbasp -Pusb -B100

Where is replaced to the actual path of your Arduino folder. If the path of arduino folder contains spaces you need to put double quotes around the command and config option.

I’ve never actually used it before, it’s an EvUSBasp from Baite(or Bete)MCU, on aliexpress.
Now that I look at the pictures on the page it actually uses progisp(on the amazon page where I bought it they weren’t there), I will try to use it.
In the device manager it’s listed under USB Device(Universal Serial Bus), I installed the “libusb” driver using Zadig

Then your quest is to get figure out how to get your programmer working first. Good you’ve got a Uno you can use that as test subject to figure out your programmer (make sure you only try read commands). Some chinese programmers can be challeging to get to work.

Alternatively you can use your Uno as ArduinoISP and read out your programmer as test. Usually you’ll need to short a (solder) jumper on those programmers so the reset pin on the header is connected to the atmega8 MCU.

You may also try using WinUSB

Edit for convenience, here’s an English version of ProgISP


Oh my god thank you so much!! I was going crazy trying to find an updated version of that software, the url going up and down in the software seems to be a real estate company and another site I found is completely broken

1 Like

I’ve just given up on using the USBasp, it gave a “Chip enable error” and I couldn’t find any solutions, so I just used the Arduino. When I type the command "C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude" -C"C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" -v -patmega32u4 -cstk500v1 -PCOM3 -b19200 -Ulfuse:r:-:h -B 100
AVRDUDE outputs:
avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.06s

avrdude: Device signature = 0x1e9587 (probably m32u4) avrdude: safemode: lfuse reads as 5E avrdude: safemode: hfuse reads as 99 avrdude: safemode: efuse reads as F3 avrdude: reading lfuse memory:

Reading | ################################################## | 100% 0.01s

avrdude: writing output file "<stdout>" 0x5e

avrdude: safemode: lfuse reads as 5E avrdude: safemode: hfuse reads as 99 avrdude: safemode: efuse reads as F3 avrdude: safemode: Fuses OK (E:F3, H:99, L:5E)

avrdude done. Thank you.

So I guess it works?:grin::grin:
Do I have to set some fuses or can I directly burn the Caterina bootloader?(I’m going to burn the cathy3k or cathy2k later on)
Theoretically it’s already set to use an external oscillator since I ordered the -AU model, but I’m not sure on the speed

1 Like

If you burn the bootloader from the Arduino IDE it should set the fuses properly for you as part of the process.

The Arduino or the board were having a strange behaviour, I noticed that if the wires that connect the ICSP header on the board to the Arduino female pins don’t make good contact I get an “Invalid signature” error, so I looked this up and luckily it hasn’t happened only to me. I wonder if this could be your problem too @mameise ?
Anyway, I’ve successfully burned the bootloader
Edit: it gets recognized as an Arduino Leonardo so everything works!! :smile: :smile: :smile:


I’ve just had to replace the DW01 and the dual channel mosftet. After I firstly replaced the DW01(and shorted VSS and CS after connecting the battery) the voltage between B+ and GND wasn’t right, then after replacing the 8205A (and shorting…) it started working properly again. Do you know if keeping the battery disconnected and connecting a charger can damage one of the two components?

Unfortunately this is not the issue i have :frowning:

In the meantime i also soldered a different crystal on my board with normal capacitors (way too big components but for a test good enough.
Did not change anythin so i can assume that the crystal is not a problem for me. Also the wiring i checked more than ones and all is ok. I also already tested all the pins of the 32u4 and all are soldered properly and no shorts at all.

I will next try to understand how to use an oscilloscope to test further…

But nice that yours works first try :slight_smile: Hope i would have a bit of that luck :wink:

Good luck then! One more hypothesis, is the MCU brand new or is it the same one you used in the first version, which was also getting hot? If it’s the same, maybe it’s just broken

I have used a new one :wink: And in the meantime have set up 4 different versions to really check. Even with different components but still no luck somehow. Well i had some days off to refresh and will start on weekend again to further nail down the possible issue.

I haven’t done any work with either of these components myself. Everything I know about them is from what I’ve read in the datasheets.

As far as I can tell, powering the circuit from the charger without a battery connected shouldn’t cause problems. It would be similar to having a fully charged battery attached.

Attaching a battery with a low charge while the charger is supplying power might cause problems, though.

1 Like

It’s virtually impossible to blow up an ATmega chip. I’ve only ever done it by feeding more than 10 volts to it.

I have problems bringing up the chips ALL the time, 75% of the time it’s a solder bridge I can’t see. The other 20% of the time its an error in my board design. 5% of the time it’s a mystery that is never solved and it gets binned. Although, I gotta say that the frequency of boards I couldn’t bring up were mostly at the beginning of my “career” of making PCB, so probably my troubleshooting methods were just garbage.

First thing to do is to check resistance between power and ground planes. Then the reset line. Then after that you’ll have to check the programming pins to be isolated from all other signals. Takes forever, and if you poke the wrong trace or something then your data is messed up.

Bringing up new chips is a big challenge and that’s why Arduino is so popular in the first place, as far as I’m concerned. When I bought my first UNO I was like, “so you mean, I can plug in my usb and write code and just push a button and it works?”. Not needing expensive specialized programmers, complicated tool chains that have to be configured manually, writing your own bootloaders… Arduino solved all that.

1 Like

Good to know! :smile:

Hi, I’ve burned the Cathy2k bootloader from the Arduino IDE and I was wondering if it already sets the boot size fuses as you say in your github repo? From what I understood looking and the command, it only writes the lock memory

Edit: nevermind, I didn’t scroll further to the right :sweat:, they get set with -Uhfuse:w:0xd2:m

1 Like

Note, to be able to select and flash games from the bootloader menu you need the Cathy3K bootloader.

1 Like

Oh okay, thanks


Kindly notice that soldered 0.1mm wire :relieved:


Hmm, I celebrated too early :confused:… it seems like the mcu has reset completely. Is it even possible? I was trying to communicate with it but I think I’ll have to remove the flash chip