This module was born out of solving real-world problems I encountered while working on my own projects. I needed a compact charger with a UPDI programmer for a 3D-printed night lamp, a USB-C battery charger for another 3D-printed device, and a reliable USB-UART converter for my random hacking. This design combines all these features, with the added bonus of a good quality 3D model for easy integration into custom enclosures.
Whether you are developing IoT devices, testing embedded systems, or building prototypes, this module is an excellent choice for combining battery management and UART communication into a single compact solution.
The board serves multiple purposes and can adapt to various use cases:
USB-to-UART Converter: The CH340K chip is compatible with Windows, Linux, and macOS, making it a reliable tool for communication between your computer and embedded devices. If no battery is connected, the charging indicator (red LED) might occasionally blink, which does not affect functionality.
Microcontroller Programming: With CTS, DTR, and RTS signals, the board can program devices like Arduino, ESP32, or other MCUs supporting UART programming.
UPDI Programmer: By connecting RX and TX pins together with a 1 kΩ resistor, the converter transforms into a UPDI programmer for certain AVR ATtiny and ATmega MCUs. This includes models such as ATtiny424/426/427/824/826/827, ATtiny212/214/412/414, megaAVR 0 series, AVR Dx, AVR Ex, and many others. Use pymcuprog from Microchip.
Battery-Powered Applications: When a battery is connected, the board can be integrated into standalone projects requiring a 3.3V or 5.0V power supply. Charging is then possible by the USB-C connector. A 3D model is available for easy integration into your design.
Alternative Power Inputs: If USB-C is not preferred, you can supply power via the VUSB pins on connector J4. The output voltage is available on the VOUT pins, and the battery voltage on the VBAT pins.
Connector Options: TX, RX, and GND signals are accessible through two connectors: J1 (2.54 mm pitch) and a 4-pin JST-SH connector (1 mm pitch). You can choose whichever suits your setup best.
Configurable Output Voltage: The output voltage (3.3V or 5.0V) is set via solder jumpers JP1 and JP2, located above the USB connector. Only one jumper should be soldered at a time; soldering both results in a 5.2V output, while none leaves the output at 0.5V. The output voltage setting does not affect UART functionality, which always operates from USB power.
Adjustable Charging Current: The default charging current is set to 200 mA but can be modified by soldering an appropriate resistor at position R7 (SMD 0603) near the USB connector. The charging current is calculated as follows: I_CHRG = (5 * R7) / (5 + R7) [mA]
where R7
is value of your resistor. For example:
I use Packeta for shipping, a Czech company that delivers packages using the best method for each destination country.
Shipping Times: Typically under 2 weeks for the European Union.
Lost or Damaged Packages: If your package is lost or damaged during transit, please contact me. I’ll work with you to find the best solution.
Shipping to Other Countries: If your country isn’t listed (outside the EU), feel free to send me a message. I’ll do my best to find a way to ship the package to you.
If you have any questions or if something went wrong, send me a message, and I'll do my best to resolve the issue.