Retronics

Restoring, remodeling and creating electronic devices


DYI: A mini “Arduino” which can power your peripherals

For breadboarding/prototyping small microcontroller circuits, the Arduino Pro Mini may be a good choice. One annoying thing about this board is that pins A4-A7 aren’t placed along with the other pins, and hence not available directly to the breadboard.

The Pro Mini has an onboard voltage regulator which can handle up to 16V input voltage and 150mA current draw, but not simultaneously, because the tiny SOT23-5 package has a thermal resistance (θJA) of 220°C/W, and would quickly overheat.

Schematic for the Pro Mini board (click for high resolution).

I decided to make my own mini “Arduino” board, with all pins available along the sides of the board, and with an integrated switching voltage regulator for powering peripherals.

Schematic for the custom “Arduino” board (click for high resolution).

The switched voltage regulator is based on TPS54302 from Texas Instruments, which accepts up to 28V input voltage, and can deliver up to 3A (if accompanied by an inductor which can handle this current). To save space, a smaller inductor is used in this case: a TDK VLS252012HBX-100M-1 which has saturation current of 1A and max DC current of 850mA. To be on the safe side, let’s say max output current is 500mA (which is plenty for driving peripherals like displays and sensors).

The regulator circuit is followed by a Reverse current protection circuit, to ensure that the voltage regulator doesn’t interfere with (draw current from) any 5V supply that is connected to the +5V pin.

The rest of the circuit is pretty much like the Arduino Pro Mini, except I’ve added pull-up resistors for I2C, and indicator LEDs for both unregulated input voltage (Vin) and regulated +5V.

PCB design in KiCad. The board is slightly larger than the original Pro Mini, and has components on both sides (the switching voltage is placed on the bottom side).

If you want to make this board yourself, I’ve shared KiCad design documents and Gerber files on Github: https://github.com/donpivo/ATMEGA328P/tree/main/ATMEGA328P_AU_BreadboardAdapter/Schematic

In addition to the 5V version running at 16MHz, I made a 3.3V version running at 8MHz.

Note: I recommend burning bootloader to the ATMEGA328P-AU before soldering. This can be done using a Bootloader Burner.

Finished boards (5V and 3.3V versions).

Uploading firmware via an FTDI Adapter. For the 5V/16MHz version, select Board=Uno or Nano in the Arduino IDE. For the 3.3V/8MHz version, select Board=Pro Mini and Processor=ATMEGA328P (3.3V, 8MHz).

The 3.3V/8MHz board, driven by a 28V source connected to Vin.

The 3.3V and 5V pins can be used as either power input (regulated DC in), or power output (to drive peripherals like displays or sensors), but must never be subject to higher voltages than 3.3V or 5V respectively.

The 5V/16MHz board, powered by a 12VDC source connected to Vin, and loaded with a 10Ω power resistor on the 5V pin, causing a 500mA current draw. No problem 🙂

From the measured currents and voltages in the picture above, we can calculate the efficiency of the voltage regulator, which in this case is slightly above 90%, and the regulator stays fairly cold (while the power resistor gets warm).


Leave a comment