smôl Power Board LiPo Hookup Guide

Pages
Contributors: PaulZC
Favorited Favorite 0

Introduction

smôl is a new board format and, as the name suggests, they're really small!

smôl Power Board LiPo

smôl Power Board LiPo

SPX-18622
$17.95

The smôl Power Board LiPo is an intelligent power board for smôl. It provides 3.3V power for your smôl stack from a Li-Ion / Li-Polymer battery and has a built-in charger and fuel gauge.

Each smôl board measures just 1.60" by 0.42" (40.6mm by 10.7mm). We made the boards just wide enough so we could squeeze USB-C and 16-way Flexible Printed Circuit (FPC) connectors on there. Some of the boards have components on both top and bottom layers which again helps keep the boards small.

smôl boards are designed to stack one on top of the other, using 16-way 0.5mm-pitch FPCs to provide the interconnect from one board to the next. Each board has an IN FPC connector on the bottom layer and an OUT FPC connector on the top layer. The boards stack in a zig-zag daisy chain; signals and power are passed from one board to the next up and down the chain through the FPCs.

Required Materials

As a minimum, you're going to need a Lithium-Ion / Lithium-Polymer rechargeable battery to go with your power board:

Lithium Ion Battery - 400mAh

Lithium Ion Battery - 400mAh

PRT-13851
$5.50
11
Lithium Ion Battery - 18650 Cell (2600mAh)

Lithium Ion Battery - 18650 Cell (2600mAh)

PRT-12895
$6.50
2
Lithium Ion Battery - 850mAh

Lithium Ion Battery - 850mAh

PRT-13854
$10.95
2
Lithium Ion Battery - 2Ah

Lithium Ion Battery - 2Ah

PRT-13855
$13.95
9
Lithium Ion Battery - 6Ah

Lithium Ion Battery - 6Ah

PRT-13856
$32.50
7

Lithium Ion Battery - 1Ah

PRT-13813
8 Retired

The Power Board LiPo is part of the smôl ecosystem. Why not pair it with one of the smôl Processor Boards and a Peripheral Board?

smôl ARTIC R2

SPX-18618
Retired

smôl ESP32

SPX-18619
1 Retired

smôl ZOE-M8Q

SPX-18623
Retired

Don't forget that you will need Flexible Printed Circuits to connect your smôl boards together. You're going to need one FPC per board. Our 36mm FPC is the perfect length if you want the smôl boards to stack neatly, one on top of the other.

smôl 36mm 16-way Flexible Printed Circuit

CAB-18731
Retired















Need to do some prototyping with smôl? Or want to connect your smôl stack to a Qwiic board? The smôl Header is perfect for that:

smôl Header

smôl Header

SPX-18620
$2.95













Suggested Reading

This is the hookup guide for the smôl Power Board LiPo. Click the button below if you want to find out more about smôl itself.

We recommend taking a look through the following tutorials if you are not familiar with the concepts covered in them:

Battery Technologies

The basics behind the batteries used in portable electronic devices: LiPo, NiMH, coin cells, and alkaline.

I2C

An introduction to I2C, one of the main embedded communications protocols in use today.

Hardware Overview

In this section we'll cover what this board does and what is included on the smôl Power Board LiPo.

What Does This Board Do?

What does this board do? Excellent question! Let's answer that right now.

Many SparkFun boards, especially our Thing Plus boards, come with a Li-Ion battery connector and built-in charger so you can power your project from a rechargeable battery. smôl is no different. The smôl Power Board LiPo is equipped with: one of our standard JST-PH battery connectors; an MCP73831 Li-Ion and Li-Polymer charger; and a MAX17048 I2C battery fuel gauge. But it also comes with an on-board ATtiny841 AVR microcontroller. This is an intelligent power board!

The main job of the Power Board is to provide power for your smôl ecosystem. smôl is designed to be both small in size and small on current draw. The Power Board plays a critical role in reducing the current draw of smôl as much as possible.

When you want your project to go into a low power or deep sleep state, it is standard practice to put your processor into the lowest power state it offers. But you may find that the current draw is still something like 100µA to 500µA depending on which processor you are using. Then there is the quiescent current drawn by the voltage regulator. The quiescent current is the current drawn by the regulator when it is on but has no load attached. Again, it varies from regulator to regulator but you may find this adds another 55µA to your current draw. Those little currents add up and reduce your battery life considerably.

With smôl, we took a new approach. The Power Board takes control and provides the 3.3V power for the whole smôl stack. When instructed to by the Processor Board, the on-board ATtiny microcontroller will turn off that power completely and then put itself into a low power sleep state for a pre-defined interval. Sleep intervals from a few 10's of milliseconds to several days are possible. We have used the fantastic Otii Arc Power Analyzer to help us reduce the sleep current to just 6µA. Yes, you read that right, 6 microamps! smôl makes it possible for your battery life to be measured in months not days!

Battery Connector

By far the biggest component on the board is the JST-PH connector for the battery.

Pictured is the Battery Connector

Battery Polarity: Please make sure that you use one of our recommended Lithium Ion batteries. Some batteries use the same JST connector as ours but have the opposite polarity. Connecting one of these to your smôl power board could destroy it. If you are going to use your own battery, it is up to you to ensure it has the correct polarity. In the above photo, the positive pin is on the right.

MCP73831 Li-Ion and Li-Polymer Charger

Like our Thing Plus boards, the smôl Power Board LiPo comes with a MCP73831 Li-Ion and Li-Polymer Charger IC. We've set the charge current to 100mA to prevent the board drawing too much current through the Flexible Printed Circuit interconnect and to make it safe to use small Li-Ion batteries like our 400mAh battery.

The yellow CHG LED will light up when the battery is charging from USB power via the Processor Board.

Pictured is the MCP73831 battery charger

MAX17048 Fuel Gauge

Like our Thing Plus C - ESP32 WROOM, the smôl Power Board LiPo comes with a MAX17048 I2C Fuel Gauge IC. The processor board can communicate with the power board via I2C and read the battery voltage, State-of-Charge and other parameters.

Pictured is the MAX17048 fuel gauge

ATtiny841 AVR Microcontroller

The smôl Power Board LiPo is an intelligent power board. The on-board ATtiny841 microcontroller can monitor the battery voltage, State-of-Charge and other parameters. When the Processor Board requests it to, the ATtiny841 will turn off the smôl 3.3V power completely and place itself into deep sleep for a pre-defined interval. This is what makes it possible to reduce the sleep current to just 6µA.

Pictured is the ATtiny841 microcontroller

Our SparkFun smôl Power Board Arduino Library does all of the heavy lifting for you, making it easy to communicate with the ATtiny through simple function calls.

A Note About Temperature Sensing

The ATtiny841 has a built-in temperature sensor, which can be accessed via the SparkFun smôl Power Board Arduino Library. However, the quoted typical accuracy of the sensor is ±10°C. Yes, plus or minus ten degrees C. The sensor measurement requires external calibration to be useful.

Voltage Regulators

The smôl Power Board LiPo has two 3.3V regulators on-board: an AP2112K-3.3V and a STLQ015-3.3V.

Pictured are the two 3.3V regulators

The AP2112K-3.3V is one of our favorite regulators. It provides 3.3V at up to 600mA with a typical voltage drop of 250mV. The AP2112K provides 3.3V to the smôl stack and can be switched off completely by the ATtiny841 processor. This avoids the regulator's 55µA quiescent current draw depleting your battery.

The STLQ015-3.3V is a new friend. It provides 3.3V at up to 150mA with a typical voltage drop of 112mV. The STLQ015 provides 3.3V power for the ATtiny841 microcontroller (only) and has a truly tiny quiescent current draw of 1.4µA.

FPC Connections

Like all of our smôl boards, the Power Board LiPo is equipped with two 16-way 0.5mm-pitch Flexible Printed Circuit connectors. FPCs are used to link the smôl boards together in a daisy-chain.

The pin-out for the smôl Power Board LiPo is as follows:

Connector Pin No.Signal NameFunctionNotes
1PROC_PWR_ENProcessor Power EnableThe power board pulls this signal low to disable the voltage regulator on the power board
23V33.3V Power Rail
3GNDPower Ground / 0V
4SCLKSPI ClockNot used
5COPISPI Controller Out Peripheral InNot used
6CIPOSPI Controller In Peripheral OutNot used
7CS0SPI Chip Select 0Not used
8CS1SPI Chip Select 1Not used
9CS2SPI Chip Select 2Not used
10GPIO0General Purpose Input / Output 0Not used
11GPIO1General Purpose Input / Output 1Not used
12SDAI2C DataUsed for ATtiny841 and Fuel Gauge communication
13SCLI2C ClockUsed for ATtiny841 and Fuel Gauge communication
14GNDPower Ground / 0V
153V33.3V Power Rail
16V_USBUSB Power Rail (5V)USB power is used to recharge the battery

The IN and OUT pin connections are identical on the smôl Power Board LiPo. (That's not always true on smôl Peripheral Boards. Check the appropriate Peripheral Board Hookup Guide for full details.)

The order in which you connect smôl boards is important. However, because the Power Board LiPo only uses I2C communication, it can be placed anywhere in the stack. Please see the smôl Hookup Guide for more details.

smôl Specifics

Interface:

  • Interface: I2C
    • ATtiny841 Default Address: 0x50
    • MAX17048 Fuel Gauge Address: 0x36

PROC_PWR_EN:

  • PROC_PWR_EN:
    • The power board pulls PROC_PWR_EN low to disable the regulator on the processor board

Arduino Example: Battery Voltage

If you are using the smôl ESP32 Processor Board, you are going to want to install the CP210x USB Driver and Arduino Boards Package for the ESP32 first. Please see the smôl ESP32 Hookup Guide for more details.

The smôl Power Boards have their own Arduino Library to make communicating with the board as simple as calling a function. You can install the library through the Arduino IDE Library Manager by searching for SparkFun smol power. Alternatively, you can grab the library from GitHub or can download it as a zip file by clicking the button below:

You are also going to need to install the SparkFun MAX1704x Fuel Gauge Arduino Library. Again, you can install this library through the Arduino IDE Library Manager by searching for SparkFun MAX1704x. Alternatively, you can grab the library from GitHub or can download it as a zip file by clicking the button below:

The Power Board library contains a set of tried-and-tested examples which will work with both the smôl Power Board LiPo and the smôl Power Board AAA. There is only one line of code to change when switching from one to the other.

The following code is a simplified version of Example2_BatteryVoltage. Upload the code onto your processor board and open the Serial Monitor or a terminal emulator at 115200 baud to see the output.

language:c
#include <Wire.h>

#include <SparkFun_MAX1704x_Fuel_Gauge_Arduino_Library.h> // Click here to get the library: http://librarymanager/All#SparkFun_MAX1704x_Fuel_Gauge_Arduino_Library
#include <SparkFun_smol_Power_Board.h> //Click here to get the library:  http://librarymanager/All#SparkFun_smol_Power_Board

smolPowerLiPo myPowerBoard;

void setup()
{
  Serial.begin(115200);
  while (!Serial)
    ; // Wait for the user to open the Serial console
  Serial.println(F("smôl Power Board example"));
  Serial.println();

  Wire.begin();

  if (myPowerBoard.begin() == false) // Begin communication with the power board using the default I2C address (0x50) and the Wire port
  {
    Serial.println(F("Could not communicate with the power board. Please check the I2C connections. Freezing..."));
    while (1)
      ;
  }

  float voltage = myPowerBoard.getBatteryVoltage(); // Read the battery voltage from the fuel gauge
  Serial.print(F("The battery voltage reads as: "));
  Serial.println(voltage);

  if (voltage == -99.0)
  {
    Serial.println(F("A voltage of -99.0V indicates an error."));
  }
}

void loop()
{
  //Nothing to do here
}

Troubleshooting

If your smôl stack is not communicating, it is probably in deep sleep. When the Power Board is commanded into deep sleep by the Processor Board, the only way it will wake it up again is when the sleep interval expires. You cannot wake or reset the system via the USB interface.

Removing and re-inserting the battery connection will reset the power board and wake it up again.

We did not include a reset button on the smôl Power Board to keep the board as small as possible. However, you can reset it via the ISP programming test points on the bottom of the board. Briefly connect RESET to GND to reset the board.

Pictured are the RESET and GND test points on the bottom of the board

Not working as expected and need help? SparkX products are rapidly produced to bring you the most cutting edge technology as it becomes available. These products are tested but come with no guarantees. Live technical support is not available for SparkX products. Head on over to our forum for support or to ask a question and we will get back to you as soon as we can.

Resources and Going Further

For more information about the smôl Power Board LiPo, check out the following links:

smôl Power Board LiPo Documentation:

Li-Ion / Li-Polymer Charger:

Battery Fuel Gauge:

Microcontroller:

smôl Documentation: