<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[M5 POWER BANK with IP5108]]></title><description><![CDATA[<p dir="auto">Under this link <a href="http://forum.m5stack.com/topic/62/ip5306-automatic-standby" target="_blank" rel="noopener noreferrer nofollow ugc">IP3506 AUTOMATIC STANDBY</a> was discussed the M5 Power Bank module.<br />
Here is the inspiration from the realization of this module:</p>
<ol>
<li>
<p dir="auto">Schema<br />
<img src="/assets/uploads/files/1531661667091-m5stack_power_bank_v24-resized.png" alt="0_1531661662908_M5Stack_Power_Bank_V24.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">BOM<br />
<img src="/assets/uploads/files/1531661691987-m5_power_bank_bom-resized.png" alt="0_1531661684833_M5_Power_Bank_BOM.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">PCB for hand soldering<br />
<img src="/assets/uploads/files/1531661732954-m5_power_bank_pcb-resized.png" alt="0_1531661724055_M5_Power_Bank_PCB.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">Case - 3D printed<br />
<img src="/assets/uploads/files/1531661759929-m5_power_bank_case.png" alt="0_1531661759214_M5_Power_Bank_Case.png" class=" img-fluid img-markdown" /></p>
</li>
<li>
<p dir="auto">Final functional module<br />
<img src="/assets/uploads/files/1531661820794-m5_power_bank_module-resized.png" alt="0_1531661809513_M5_Power_Bank_Module.png" class=" img-fluid img-markdown" /></p>
</li>
</ol>
<p dir="auto">M5 Power Bank with IP5108 fully replaces M5 BOTTOM:</p>
<ul>
<li>The module also contains a magnet (big one)</li>
<li>External M-bus (fully) is on the right side (female 2x15)</li>
<li>LED indicator and On/Off button is on the left side</li>
<li>LED functionality can be selected (5V, On/Off=IRQ, GPIO00 or GPIO01 software control)</li>
<li>On/Off button functionality can also be programmed thru IP5108 registers</li>
</ul>
<p dir="auto">WARNING:<br />
The module is designed to be connected directly to the M5 CORE because the components enter the space of M5 CORE!</p>
]]></description><link>https://community.m5stack.com/topic/259/m5-power-bank-with-ip5108</link><generator>RSS for Node</generator><lastBuildDate>Wed, 29 Apr 2026 06:45:37 GMT</lastBuildDate><atom:link href="https://community.m5stack.com/topic/259.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 15 Jul 2018 13:43:05 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to M5 POWER BANK with IP5108 on Sat, 15 Dec 2018 16:25:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jikuch" aria-label="Profile: jikuch">@<bdi>jikuch</bdi></a></p>
<p dir="auto">Hi, can you tell me: if I change something in ip5108 through i2c (for example disable  auto-standby), will this changers be saved, or i must make this changes (with software) each time when i start device?</p>
]]></description><link>https://community.m5stack.com/post/2194</link><guid isPermaLink="true">https://community.m5stack.com/post/2194</guid><dc:creator><![CDATA[elecvoice]]></dc:creator><pubDate>Sat, 15 Dec 2018 16:25:46 GMT</pubDate></item><item><title><![CDATA[Reply to M5 POWER BANK with IP5108 on Thu, 13 Dec 2018 14:30:36 GMT]]></title><description><![CDATA[<p dir="auto">Hi, can somebody tell me: if I change something in ip5108 through i2c, will it be saved, or i must make this changes each time when i start device?</p>
]]></description><link>https://community.m5stack.com/post/2185</link><guid isPermaLink="true">https://community.m5stack.com/post/2185</guid><dc:creator><![CDATA[elecvoice]]></dc:creator><pubDate>Thu, 13 Dec 2018 14:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to M5 POWER BANK with IP5108 on Tue, 16 Oct 2018 02:18:22 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/jikuch" aria-label="Profile: jikuch">@<bdi>jikuch</bdi></a> Nice design.<br />
Do you have the I2C register document of IP5108? Could you share it? Thanks!</p>
]]></description><link>https://community.m5stack.com/post/1735</link><guid isPermaLink="true">https://community.m5stack.com/post/1735</guid><dc:creator><![CDATA[joyqat]]></dc:creator><pubDate>Tue, 16 Oct 2018 02:18:22 GMT</pubDate></item><item><title><![CDATA[Reply to M5 POWER BANK with IP5108 on Sat, 01 Sep 2018 18:34:08 GMT]]></title><description><![CDATA[<p dir="auto"><strong>IP5108 I2C description:</strong></p>
<p dir="auto">7-bit slave address IP5108 is 0x75 (byte with write bit = 0xEA; byte with read bit = 0xEB)<br />
400 Kbps speed of I2C supported<br />
1 byte data = 8-bit data (bits from 7 to 0)</p>
<p dir="auto"><strong>WRITE Arduino example:</strong><br />
Wire.beginTransmission(0x75);<br />
Wire.write(register_address_byte);<br />
Wire.write(data_byte);<br />
Wire.endTransmission();</p>
<p dir="auto"><strong>READ Arduino example:</strong><br />
Wire.beginTransmission(0x75);<br />
Wire.write(register_address_byte);<br />
Wire.endTransmission();<br />
Wire.requestFrom(0x75,1);<br />
data_byte = Wire.read();</p>
<p dir="auto"><strong>REGISTERS:</strong></p>
<p dir="auto"><strong>1. Enable / disable functions:</strong><br />
SYS_CTL0 = 0x01:</p>
<ul>
<li>bit 4 (read/write): 0 = disbale / 1 = enable (1 = after reset) detection ??? (I do not understand.)</li>
<li>bit 3 (read/write): 0 = disbale / 1 = enable (1 = after reset) light</li>
<li>bit 2 (read/write): 0 = disbale / 1 = enable (1 = after reset) booster</li>
<li>bit 1 (read/write): 0 = disable / 1 = enable (1 = after reset) charger</li>
</ul>
<p dir="auto">SYS_CTL1 = 0x02:</p>
<ul>
<li>bit 1 (read/write): 0 = disable / 1 = enable (1 = after reset) auto-standby</li>
<li>bit 0 (read/write): 0 = disable / 1 = enable (1 = after reset) auto ??? (I do not understand.)</li>
</ul>
<p dir="auto">SYS_CTL3 = 0x03:</p>
<ul>
<li>bit 5 (read/write): 0 = disable / 1 = enable (1 = after reset) off by button</li>
</ul>
<p dir="auto"><strong>2. General setup features:</strong><br />
SYS_CTL2 = 0x0C:</p>
<ul>
<li>bits 7-3 (read/write): (01010 = after reset) auto-standby current limit as multiple 12 mA</li>
</ul>
<p dir="auto">SYS_CTL4 = 0x04:</p>
<ul>
<li>bits 7-6 (read/write): (10 = after reset) time for auto-standby: 00=8s, 01=16s, 10=32s, 11=64s</li>
</ul>
<p dir="auto">SYS_CTL3 = 0x03:</p>
<ul>
<li>bits 7-6 (read/write): (01 = after reset) time for recognition button press: 00=1s, 01=2s, 10=3s, 11=4s</li>
</ul>
<p dir="auto">SYS_CTL5 = 0x07:</p>
<ul>
<li>bit 1 (read/write): (0 = after reset) control of light by button: 0=press, 1=double click</li>
<li>bit 0 (read/write): (0 = after reset) off by button: 0=double click, 1=press</li>
</ul>
<p dir="auto"><strong>3. Charging setup features:</strong><br />
CHARGER_CTL1 = 0x22:</p>
<ul>
<li>bits 3-2 (read/write): (01 = after reset) VOUT undervoltage limit during chargig: 00=4.53V, 01=4.63V, 10=4.73V, 11=4.83V</li>
</ul>
<p dir="auto">CHARGER_CTL2 = 0x24:</p>
<ul>
<li>bits 6-5 (read/write): (00 = after reset) battery type = charging voltage: 00=4.2V, 01=4.3V, 10=4.35V</li>
<li>bits 2-1 (read/write): (10 = after reset) overcharging of charging: 00=0mV, 01=14mV, 10=28mV, 11=42mV</li>
</ul>
<p dir="auto">CHG_DIG_CTL4 = 0x25:</p>
<ul>
<li>bits 4-0 (read/write): (10110 = after reset) charging current setting [A]:<br />
b0 x 0.1 + b1 x 0.2 + b2 x 0.4 + b3 x 0.6 + b4 x 1.4</li>
</ul>
<p dir="auto"><strong>4. Charging information:</strong><br />
Reg_READ0a = 0x70:</p>
<ul>
<li>bit 3 (read only): charging status: 0 = not charging, 1 = charging</li>
</ul>
<p dir="auto">Ref_READ0b = 0x71:</p>
<ul>
<li>bits 7-5 (read only): detailed charging status:<br />
000 = inactivity<br />
001 = charging<br />
010 = constant current charging<br />
011 = charging with constant voltage<br />
100 = ??? (missing description in original document)<br />
101 = end of charging (maintenance current)</li>
<li>bit 3 (read only): signal of end of charging (=1)</li>
</ul>
<p dir="auto"><strong>5. PIN assignment &amp; control:</strong><br />
MFP_CTL0 = 0x51:</p>
<ul>
<li>bits 5-4 (read/write): (00 = after reset) pin LIGHT assignement: 00=WLED, 01=GPIO2, 10=VREF</li>
<li>bits 3-2 (read/write): (00 = after reset) pin L4 assignement: 00=L4, 01=GPIO1</li>
<li>bits 1-0 (read/write): (00 = after reset) pin L3 assignement: 00=L3, 01=GPIO0</li>
</ul>
<p dir="auto">GPIO_CTL2a = 0x53:</p>
<ul>
<li>bits 2-0 (read/write): (000 = after reset) GPIO[2:0] input enable</li>
</ul>
<p dir="auto">GPIO_CTL2b = 0x54:</p>
<ul>
<li>bits 2-0 (read/write): (000 = after reset) GPIO[2:0] output enable</li>
</ul>
<p dir="auto">GPIO_CTL3 = 0x55:</p>
<ul>
<li>bits 2-0 (read/write): (000 = after reset) GPIO[2:0] data</li>
</ul>
<p dir="auto"><strong>6. Measurement:</strong><br />
BATVADC_DAT0 = 0xA2:</p>
<ul>
<li>pins 7-0 (read only): LOW 8 bits (byte) of BATVADC</li>
</ul>
<p dir="auto">BATVADC_DAT1 = 0xA3:</p>
<ul>
<li>pins 5-0 (read only): HIGH 6 bits of BATVADC</li>
</ul>
<p dir="auto">Calculation according to the original document:<br />
<img src="/assets/uploads/files/1535826836669-batvadc-resized.png" alt="0_1535826835366_BATVADC.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">BATIADC_DAT0 = 0xA4:</p>
<ul>
<li>pins 7-0 (read only): LOW 8 bits (byte) of BATIADC</li>
</ul>
<p dir="auto">BATIADC_DAT1 = 0xA5:</p>
<ul>
<li>pins 5-0 (read only): HIGH 6 bits of BATIADC</li>
</ul>
<p dir="auto">Calculation according to the original document:<br />
<img src="/assets/uploads/files/1535825485669-batiadc-resized.png" alt="0_1535825484785_BATIADC.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">BATOCV_DAT0 = 0xA8:</p>
<ul>
<li>pins 7-0 (read only): LOW 8 bits (byte) of BATOCV</li>
</ul>
<p dir="auto">BATOCV_DAT1 = 0xA9:</p>
<ul>
<li>pins 5-0 (read only): HIGH 6 bits of BATOCV</li>
</ul>
<p dir="auto">Calculation according to the original document:<br />
<img src="/assets/uploads/files/1535825505024-batocvadc-resized.png" alt="0_1535825504468_BATOCVADC.png" class=" img-fluid img-markdown" /></p>
<p dir="auto">This is true: BATOCV = BATVACD + BATIADC * battery_internal_resistnace</p>
<p dir="auto"><strong>7. WLED status:</strong><br />
Reg_READ1 = 0x72:</p>
<ul>
<li>bit 7 (read only): 0 = WLED is off, 1 = WLED is on</li>
</ul>
<p dir="auto"><strong>8. Light / heavy load:</strong><br />
Reg_READ1 = 0x72:</p>
<ul>
<li>bit 6 (read only): 0 = heavy load over 75 mA, 1 = light load less 75 mA</li>
</ul>
<p dir="auto"><strong>9. Button control:</strong><br />
Reg_READ2 = 0x77:</p>
<ul>
<li>bit 3 (read; write 1 = reset) flag button double clicked (=1)</li>
<li>bit 1 (read; write 1 = reset) flag button pressed (=1)</li>
<li>bit 0 (read; write 1 = reset) flag button clicked (=1)</li>
</ul>
<p dir="auto">That is all.</p>
]]></description><link>https://community.m5stack.com/post/1464</link><guid isPermaLink="true">https://community.m5stack.com/post/1464</guid><dc:creator><![CDATA[JiKuch]]></dc:creator><pubDate>Sat, 01 Sep 2018 18:34:08 GMT</pubDate></item><item><title><![CDATA[Reply to M5 POWER BANK with IP5108 on Sat, 25 Aug 2018 17:56:41 GMT]]></title><description><![CDATA[<p dir="auto">Nice desing jikuch.... I am trying to adapt it for a solar powered system, but am unable to find information in english about the ip5108 i2c register.<br />
Could you help me?<br />
Thanks</p>
]]></description><link>https://community.m5stack.com/post/1441</link><guid isPermaLink="true">https://community.m5stack.com/post/1441</guid><dc:creator><![CDATA[jfmateos]]></dc:creator><pubDate>Sat, 25 Aug 2018 17:56:41 GMT</pubDate></item></channel></rss>