Leonardo bootloader??

Hi all, see if you can help me with this problem, please just mount using the schema Leonardo Leonardo Paperduino:

http://txapuzas.blogspot.com.es/2009/12/paperduino-leonardo-clon -of-arduino.html

To load the boot I use an Arduino Uno: after loading the example Arduino ISP in the UNO and connect the UNO with the Leonardo by the ICSP, I select as leonardo plate, then Arduino as ICSP, and port what I get is com6 I give and start recording sequence, and everything seems correct flash rx / tx of one but not the Leonardo at the end tells me that everything is fine, no errors. but leonardo directly connect the pc tells me Usb USB unknown device, and when trying to load the blink gives me this error:
Found programmer: Id = "So¤"; type = p
Software Version = V

avrdude: error: buffered memory access not supported. Maybe it is not
a butterfly / AVR109 AVR910 but a device?

I fail to understand why if the boot is loaded right, when connected by usb device is not recognized.

Greetings!

Which version of Arduino IDE are you using?
Did you install Leonardo drivers?

mart256:
Which version of Arduino IDE are you using?
Did you install Leonardo drivers?

Using 1.0.5-r2 Arduino IDE.
If the driver is not the problem, wich one can be? (Not proved yet, the friend that are making it, will prove it tomorrow. )

ok. The driver is installed and working. Recognizes the "official" Leonardo, but not the "custom". We upload the bootloader with the UNO and then the LED blinks quickly for about 8 seconds, and then blinks one per second.

Any idea?

Did you make sure that the vid/pid are set to reasonable values? Iirc, the source does not default to the arduino-owned values...

westfw:
Did you make sure that the vid/pid are set to reasonable values? Iirc, the source does not default to the arduino-owned values...

Sorry, I think I dont understand :slight_smile: what is it vid/pid? lirc?

Every USB device reports two numbers to the host system one is th Vendor ID, (vid) and the other is the PID

WestFW is saying that your bootloader may not be compiled with the correct ID numbers.

If it doesn't have the Leonardo VID and PID your PC will not know its a Leonardo, and will not load the drivers.

There are work arounds on windows for this, but the easier option is to change the bootloader so it reports the correct numbers

rogerClark:
Every USB device reports two numbers to the host system one is th Vendor ID, (vid) and the other is the PID

WestFW is saying that your bootloader may not be compiled with the correct ID numbers.

If it doesn't have the Leonardo VID and PID your PC will not know its a Leonardo, and will not load the drivers.

There are work arounds on windows for this, but the easier option is to change the bootloader so it reports the correct numbers

Ok, i think begining undestand. But why the bootloader may be not compiled with the correct ID numbers if it is the bootloader comes with Arduino IDE?
At all, if it is the problem, how I can solve? Do you have a good bootloader ? :slight_smile:

It's a legal/moral grey area. Arduino OWNS that VID. In theory, if you put the bootloader on a non-arduino device, you should get your own VID.

Actually, if you're just using the "Burn bootloader" command, which uses the existing .hex file, this shouldn't be the (technical) problem.

Then, what I must do to make it work?

Have you selected the correct board type and uploaded the correct bootloader?

Check this first

If you think the bootloader is correct, look in the windows device manager at the device that is not being recognised and find what VID and PID are being reported by the board.
(You will need to Google how to do this)

If there are no VID and PID reported, the board is only physically connected, but the bootloader is wrong in some way.

If there is a valid VID PID code, you need to check whether the code is the one for a normal Leonardo.

BTW. IMHO, this requirement to buy a VID, doesn't seem to have any legal basis. USB.org are a standards organisation and there isn't a legal requirement to get any USB devices authorised by them, I,e its not like the requirement for FCC approval, or electrical safety legislation compliance.

Its tuned into a anti competitive moment making scheme propagated by the major manufacturers.

We upload the bootloader with the UNO and then the LED blinks quickly for about 8 seconds, and then blinks one per second.

On the good side, this sounds like the bootloader code was uploaded correctly, and is running.

You just have to debug why it's not showing up to the PC when connected via USB.
Check the PCB; are you sure there are no solder-bridges or other wiring errors? That would be a likely issue, given a home-made board (depending on your level of building expertise.) Missing components (intentionally or otherwise)? Is the board built exactly as described on the webpage?

rogerClark:
Have you selected the correct board type and uploaded the correct bootloader?

Check this first

If you think the bootloader is correct, look in the windows device manager at the device that is not being recognised and find what VID and PID are being reported by the board.
(You will need to Google how to do this)

If there are no VID and PID reported, the board is only physically connected, but the bootloader is wrong in some way.

If there is a valid VID PID code, you need to check whether the code is the one for a normal Leonardo.

BTW. IMHO, this requirement to buy a VID, doesn't seem to have any legal basis. USB.org are a standards organisation and there isn't a legal requirement to get any USB devices authorised by them, I,e its not like the requirement for FCC approval, or electrical safety legislation compliance.

Its tuned into a anti competitive moment making scheme propagated by the major manufacturers.

Im searching about pid and vid and windows show me this. What do you thinl about rogerClark ?

4_41723494156730390.jpg

I'm not an expert in the Leonardo bootloader, but on other devices when I see VID and PID of 0x0000, it implies that the USB is connected but that the firmware is either reporting 0x0000 or the firmware is not responding to the USB lines at all.

If I connect devices that don't have any microprocessor to the USB I often see no VID or PID at all

Of course this doesn't rule out a bad connection on one or other of your USB lines, or as its a home made board, you could have got something else wrong.

If you are making your own boards, you probably need to invest in some test equipment e.g. an oscilloscope and or logic analyzer to debug these sorts of things.

Maybe someone has used a bootloader of Leonardo programning it from an Arduino UNO and worked, can share it and then I can discard that is it the bootloader and can focus in the board?