Using one MCU to provide power to another

Good idea or bad?

I have a project consisting of multiple elements, each one driven by its own MCU (either an ATtiny85 or an ATtiny84). The main “brain” of the project is an ATMega328P-PU that will activate one of these minor boards by sending power to them when needed, by setting a particular pin high. I will describe it further, but in general I’m wondering if this is an OK approach and looking for design improvements.

Main board: Main power comes from a 9VDC wall wart into a 2.1mm jack, then is stepped down to 5VDC through a 5V regulator (7805) attached to a heat sink. That 5V supply provides power to the ATMega328P-PU, that is on this board with the necessary 100nF ceramic capacitors bridging pins 7 & 8 and 20 & 22 as they connect to 5V and GND. There’s also the 16MHz resonator and two 22pF capacitors on pins 9 & 10. Basically, the breadboard Arduino setup.

From the main board, pins 4, 5, 6, 11, 15 & 16 drive an LCD. The LCD also gets its 5V supply and ground off the main board. This isn’t so strange a setup.

I have two large LEDs on their own boards – the big round 20mm ones with six LEDs under a big dome. I wired those up so when you send power to each board, all six LEDs on that board turn on at the same time. One board has a red LED cluster, and one has a green cluster. Here’s the difference with the red LED board, however: it’s a standalone system driven by an ATtiny85 that, when given power, will flash the LED cluster 5 times and sound a piezo buzzer five blasts. You can also make the internal LEDs flash independently because they’re driven through a shift register. It’s an alarm, in other words. So when you put the ATMega828 pin 14 high for 10 seconds, it sends power to the red LED board and you get your alarm signal. I did it this way so I’d only need one pin on the main board’s chip to sound the alarm.

I have a few other small boards that do different things, but they’re not connected to the ATMega328. They get their power from the main board’s 5V and ground busses. Overall, the heat sink gets a little warm but nothing major.

Should I add 100nF capacitors on my smaller boards that receive their power from the ATMega328 pins? Is it a bad idea to use one MCU to drive power to another?

Thanks for the help!

The max current you can source from an output pin of 328 is 40mA.
Even if it's not a good practice, it works. (I think I've even seen it used on one of the shields, was it XBee?)

I’d be conservative and hold the max current from a pin to 20mA, more will create more internal voltage drop meaning the ATtinys could receive significantly less than 5V. If the ATtinys need more current than that, I’d look at using a MOSFET to switch them.