I am not certain if this is a thing, but I was hoping for some members to sanity check the below schematics I have for an ATMEGA32U2. The external LCDs the ATMEGA32 is communicating with are TTL and only need to receive data over UART, so I am not concerned about them as much as I am about the ATMEGA itself. I drew the schematics using the datasheet, and Lady Ada's ATMEGA32U4 Breakout Board+ schematics as reference.

I guess what I am hoping for is something similar to code review (sorry for coming from a programming background).

Adafruit schematics

My schematics Schematics

Specific questions I have:

  1. Since my device will be powered independently, I don't think I need to connect UVCC to VCC (ATmega32U2 datasheet, fig. 20-5), do I?
  2. If the answer to the above question is no, should I put a decoupling capacitor, say, 10uF, between VBUS and GND?
  3. Can I have the ATmega to reboot once it is plugged into USB, for instance, by putting a weak pull-down on reset# and have a stronger pull-up tied to VBUS? If yes, any suggestions for those resistors' values?
  4. If possible, I would like to turn the LCDs off (by disconnecting their VCC) when USB is not connected. How does one get around doing that? I don't think a relay would be the correct answer.
  • 1
    \$\begingroup\$ C1 with 470 uF directly connected to USB VBUS is far away from the USB specification. The inrush current can introduce large voltage drops on the power providing side. \$\endgroup\$
    – Jens
    Commented Aug 30, 2023 at 0:37
  • \$\begingroup\$ @Jens I had put it there as a decoupling capacitor to filter possible power line noise. Should I choose a smaller cap, like, say, 10uF? \$\endgroup\$ Commented Aug 30, 2023 at 0:42
  • 1
    \$\begingroup\$ Missing decoupling capacitors for each IC. \$\endgroup\$
    – winny
    Commented Aug 30, 2023 at 7:34
  • \$\begingroup\$ @winny The LCDs have decoupling capacitors right next to their VCC. For ATmega, I can't find a recommended value in its datasheet. Any suggestions? \$\endgroup\$ Commented Aug 30, 2023 at 8:13
  • 1
    \$\begingroup\$ U9 is USB, yes? Follow the line to C1. Now allowed. USB specifies max 10 uF. \$\endgroup\$
    – winny
    Commented Aug 30, 2023 at 9:06

1 Answer 1


The 470uF is 47x times what is directly allowed by USB standard. And it is useless at high frequencies so it does not remove noise.

It seems your intention is to not make an USB bus powered device but a self-powered USB device so you can leave the 470uF but you still need bypass caps for each chip supply pin as shown on MCU datasheet.

  1. If you intend to have self-powered devicec, you cannot short circuit USB VBUS with VCC or you blow up your PC.

  2. Yes, 10uF is max, put something the data sheet suggests.

  3. In general it could be possible, but not the way you suggest. Keeping reset low until USB is plugged in means that the AVR will sit in reset doing nothing until you plug in the USB. It is not clear why you want to reset the AVR when you plug in the USB, that might not be the correct way to do what you want to achieve, whatever it is. So you might have an XY problem, you ask about if Y is possible, because you incorretly think doing Y solves the X you want to do, but you don't reveal what X is.

  4. Transistors, load switches, etc components can be used to control power supplies to subsystems. However it may be more complex than you think, as if you turn off the LCD supply, you cannot assume that you can keep the MCU UART TXD pin to LCD RXD active, as the LCD might try to draw power via RXD pin if you keep it high.

  • \$\begingroup\$ Thank you for your clear answer! Regarding #3, I want my initialisation code to be executed once USB is connected. I guess I can rearrange my code to do that after communication channel is established. For #4, perhaps it's easier for me to implement a screensaver :) \$\endgroup\$ Commented Aug 30, 2023 at 8:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.