Leonardo clone circuit check

Would anyone mind checking the schematic for my new arduino leonardo-compatible board? I’m particularly concerned about the USB power.

BDN-usb.pdf (18.5 KB)

-I've seen 33 ohm resistors between the the USB D+ & D- going to the micro on other designs. -Pin7 (VBUS) goes to GND which is bad. -with my design I've seen a 0.1uf or 1uF cap from Reset (pin 13) to GND is sometimes needed.


Thanks, I'll get on it :)

I’ve done two working designs using the 32u4. One is like yours with Vcc @5v and other one split up. The USB parts @5v and Vcc @ 3.3v. Just send let me know if you’re interested in the other schematic.

That would be useful, thanks

32U4 spec shows 22 ohm resistors from between USB connector and USB pins. You have a total lack of 0.1uF caps on the power pins. And VBUS to +5 vs Gnd as previously noted. Will you have Vin connected while USB is plugged in? Having competing +5 Sources is not good, that usually ends up driving current back into the PC, which forum comments in the past have indicated some PCs have a problem with that.

MIC5205 is only 150mA capable. Did you need higher current? http://www.digikey.com/product-search/en?KeyWords=mic5205 32U4 can control 400mA (200mA per VCC pin).

CrossRoads, how would I seperate the USB and regulator power?

And there are 0.1uF caps on the 5V and VIN line

Your posted schematic does not show 0.1uF caps next to the VCC/AVCC pins. Only the 10uF caps associated with the regulator.

Simple way to seperate the 2 sources is to have each go thru a low voltage drop schottky diode, with the cathode sides forming the +5V line.

But wouldn't the (small) voltage drop affect some components/shields? I'd like to be as close to 5V as possible, with as little components as possible.

If you measure the voltage when supplied from USB now, you will see that it is not 5V, but 5V +/- 5% (so a low of 4.75V to start) plus voltage drop across the F1 fuse. Adding a diode will add to that, that is true. You can get that drop quite small tho, just ~0.22V at 300mA per Fig 1 of the datasheet. http://www.digikey.com/product-detail/en/UPS115UE3%2FTR7/UPS115UE3%2FTR7TR-ND/2754182

The impact on shields, you'll have to investigate the shields to be used.

This is my 32u4 working at 3.6v connected to a 5v usb connector. it works fine so far but feel free to make any comments CrossRoads on how it can be improved.

Schematic_Rev1.1.PDF (320 KB)

I’ve updated the schematic, how does this look?

BDN-usb2.pdf (19 KB)

Looks good to me.

I don't see 0.1uF caps on the VCC/AVCC pins. You show them near U2, U6, U8. 32U4 spec shows 22 ohm resistors in the USB D+/D- lines. "Serial resistors on USB Data lines must have 22 Ohms value (+/- 5%)." I2C, you have 10K pullup resistors. These are kind of weak, more typical is 4.7K, if you looked at the signals you would see a large difference in low to high rise times, critical in 400K transfers if you going to run that fast, especially with 5 devices on the bus and one of them being offboard. 32U4 works at 16 MHz with 3.6V? Figure 29-2 in the datasheet would suggest 12MHz would be the limit for 3.6V. if you see any abnormal operations, that might be part of the reason. You didn't bring out the SPI SS line, as you know it must be set as an output for SPI master operations even if not used. Tactile Swith S2, I would have wired it to close to Gnd and used the internal pullup resistor. What are MH1,2,3,4?

Thanks for the feedback CrossRoads. I've updated the schematic with the 22R D+ & D- resistor values as well as changing the 10K i2c pullup values to 4.7K. I've read that others have overclocked the 32u4 @ 16Mhz with good results. The only reason i'm doing this is because I use the default Leonardo bootloader and program blank chips using the USBtinyISP. If I ever figure out how to tweak the frequency then I'll give it a try along with a modified PID/VID.

About the SPI SS line. Right now SPI only talks to the SD card. Should the SD_CARD_CS line on the SD card holder be connected to the 32u4 pin 8 PB0(SS/PCINT0) ? Right now I can read and write to the SD card so I must have the SS line configured as an output.

S2 is just a simple pushbutton so I have the 10K pull down as used in all the simple button examples. http://arduino.cc/en/tutorial/button


SS - if you're not short on IO pins than what you have is fine.

So my schematic should be okay now?

your right - in the examples they use the 'pull down' method so you get 'Normal Logic results': when you push the button the pin goes high. if you look in other projects normally you use the buttons the other way: normally the portpin is hold hi with the internal or an external PullUp . and the Button shorts to ground - so it pulls the portpin low. so in sw you have a inverted logic. i don't know why - i think the second is the common way... (+you can use the internal PullUp)

its the same way with the LED / Blink Example. as fare as i know you normally use the Port to sink current - and if i remember right this comes from history- older uC could only sink current.. pleas correct if iam wrong..

has someone a recommendation for an tutorial on 'bootloader / leonardo / atmel VID PID / how to compile / windows driver inf ' ?? i just also want to use the orig. bootloader but use the atmel vid pid s for my clone...

sunny greetings stefan

I have pin33 connected directly to ground but your goes through a 10k resistor. Not sure if it matters so you should check the data sheet. I think it has something to do with the bootloader on power up. Other then the VUSB to ground mentioned way back your schematic looks good. Sorry for leading your post in a different direction but it’s started some interesting discussions.