Close
0%
0%

bATtiny Guard - Power Management module

Power management module in a small SMT package with 4+16 ADC channels, 2A battery charger, low on resistance output MOSFET and more

Public Chat
Similar projects worth following
The module provides flexible management and monitoring of power circuitry in systems utilizing a single-cell Li-Po battery. It can monitor up to 4 voltages using a dedicated ADS1015 ADC, with the option to monitor additional voltages through the ATTINY1616's built-in ADC. The module includes current sensing for the battery, hardware brown-out monitoring using the APX803, and precision temperature monitoring via the TMP102AIDRLR sensor. The IP2312 supports charging currents up to 2A, and an integrated MOSFET for battery output is controlled by the main microcontroller.

Designed as a compact module with castellated holes on two sides, it features 16 pins per side, measuring 22.225 mm by 16.51 mm

If you want to skip the build process, you can subscribe to our crowdsupply campaign and get notified when it's available: https://www.crowdsupply.com/edrtech/battiny-guard

The PMG001 is a highly integrated module designed for efficient management of single-cell Li-Po battery systems. It incorporates various essential ICs to address all aspects of power management, including battery charging, switch/button power on/off behavior, undervoltage and overvoltage protection, flexible voltage measurement, battery current measurement, and temperature monitoring. Additionally, it features a microcontroller for programming custom behaviors, ensuring comprehensive management of single-cell rechargeable battery systems.

Main components on the module and their datasheets:

Component

Reference

Microcontroller

ATTINY1616-MNR

ADC

ADS1015IDGSR

Voltage monitor/reset circuit

APX803D-31SAG-7

Battery output MOSFET

DMP3013SFV-7

Current sensor

INA219AIDCNR

Battery charger

IP2312

3.3V regulator

LD56100DPU33R

Temperature sensor

TMP102AIDRLR


ADS1015 I2C Address - 0x48
INA219 I2C Address - 0x40
TMP102 I2C Address - 0x49

PMG001_PCB_layers.pdf

Adobe Portable Document Format - 832.05 kB - 09/06/2024 at 12:27

Preview

pmg001_default.ino

ino - 8.29 kB - 09/06/2024 at 12:27

Download

KiCad.zip

KiCad footprint

x-zip-compressed - 1.76 kB - 08/26/2024 at 09:42

Download

PMG001.lbr

EAGLE footprint

lbr - 22.93 kB - 08/26/2024 at 09:42

Download

PMG001_demo_kit_bom.pdf

Adobe Portable Document Format - 184.61 kB - 08/05/2024 at 07:39

Preview

View all 9 files

  • 1 × 0.01R 2512 1%
  • 1 × 0.5R 0402
  • 1 × 2R 0402
  • 3 × 100R 0402
  • 1 × 150R 0402

View all 29 components

  • Firmware update, PCB layers PDF

    Erik@EDrTech09/06/2024 at 12:37 0 comments

    A small update to the firmware has been made to make it work properly with revised hardware. A driver MOSFET has been added to improve performance and to invert driving logic of the output MOSFET so it turns on when the uC pin is driven high. This revision also eliminates problems with unpredictable behavior upon connecting the battery and/or module entering UVLO which would cause the output MOSFET to unexpectedly to turn on.

    A PDF with all 6 layers of the module PCB has been added to the documentation for easier viewing without unpacking gerber or source files.

    Next step is to implement an additional I2C port in firmware to allow the module to act as a master to on-board devices (which it does currently through the hardware I2C) and as a slave to external master. I expect to have this implemented and tested in the next few weeks.

    I have been testing the new 0.8mm PCB for about two weeks under load now, and it appears to perform as expected and with excellent stability without issues for the whole duration of testing.
    Testing will continue, even tho it probably is proven to work reliably for long periods of time at this point.

  • Updated firmware, footprints and symbols and stuff.

    Erik@EDrTech08/26/2024 at 09:49 0 comments

    The default firmware for the module got an update. Now it works based on interrupts, so the cpu is in standby mode most of the time which has major power saving benefits. It wakes up once a second to do the readings and send them over serial, this works by using RTC overflow interrupt. Also it's waken up by pressing the buttons which starts a timer which tracks how long the buttons have been pressed to realize a smooth on/off operation.



    Future firmware upgrades include a full separate i2c interface so Attiny can be accessed easily externally while also being a master for on-board devices.

    Aside from firmware, EAGLE and KiCad footprints have been added.

View all 2 project logs

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates