smôl Power Board AAA Hookup Guide a learn.sparkfun.com tutorial

Available online at: http://sfe.io/t2059

Contents

Introduction

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

smôl Power Board AAA

smôl Power Board AAA

SPX-18621
$17.95

The smôl Power Board AAA is an intelligent power board for smôl. It is designed to provide 3.3V power for your smôl stack from one or two AAA or AA alkaline (non-rechargeable) batteries. If you need a rechargeable solution, check out the smôl Power Board LiPo.

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 battery holder or JST-PH cable to go with your power board:

micro:bit Battery Holder - 2xAAA (JST-PH)

micro:bit Battery Holder - 2xAAA (JST-PH)

PRT-15101
$2.10
JST Jumper 2 Wire Assembly

JST Jumper 2 Wire Assembly

PRT-09914
$1.05
3
Barrel Jack to 2-pin JST

Barrel Jack to 2-pin JST

TOL-08734
$3.50
1
Battery Holder - 2xAA (JST-PH)

Battery Holder - 2xAA (JST-PH)

PRT-14299
$1.60

The Power Board AAA 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

smôl ZOE-M8Q

SPX-18623

smôl ESP32

SPX-18619
1

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 AAA. Click the button below if you want to find out more about smôl itself.

Get started with the smôl Hookup Guide

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 AAA.

What Does This Board Do?

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

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. This board has a TPS61200 switching regulator on it and is designed to boost the voltage from one or two AAA or AA alkaline cells up to 3.3V. But it also comes with an ATtiny43 AVR microcontroller on it. This is an intelligent power board for the smôl ecosystem!

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 12µA. Yes, you read that right, 12 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 Connector Polarity: Please make sure that you use one of our recommended battery holders or cables. Some battery holders use the same JST connector as ours but have the opposite polarity. Connecting one of these to your smôl power board will destroy it as the board has no reverse polarity protection. If you are going to use your own battery holder or cable, it is up to you to ensure it has the correct polarity. In the above photo, the positive pin is on the right.

ATtiny43U AVR Microcontroller

The smôl Power Board AAA is an intelligent power board. The on-board ATtiny43U microcontroller can monitor the battery voltage and other parameters. When the Processor Board requests it to, the ATtiny43 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 12µA.

Pictured is the ATtiny43 microcontroller

The ATtiny43U may seem a strange choice, but actually it is the perfect choice for this board. We use it because it has a built-in boost converter and can operate directly from voltages as low as 0.7V. It does not need a separate voltage regulator.

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 ATtiny43 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 Regulator

The smôl Power Board AAA has a TPS61200 switching regulator on-board. That's the same regulator we use on our LiPower - Boost Converter. It can deliver approximately 550mA when boosting 1.5V up to 3.3V, and approximately 1500mA when boosting 3.0V up to 3.3V. It can be switched off completely by the ATtiny43U microcontroller, avoiding the 55µA quiescent current draw.

Pictured is the TPS61200 switching regulator

The TPS61200 can operate in Buck mode too and regulate higher voltages down to 3.3V. However, we do not recommend operating the board in this mode as the ATtiny43U's VCC supply will also be at that same higher voltage, leading to unexpected behavior and complications. Never exceed 5.5V or you will damage the ATtiny43U.
Ye cannae change the laws of physics! The current draw from a single AAA or AA cell will be approximately three times what smôl is drawing at 3.3V. When powering the smôl ARTIC R2 satellite communication board you are likely to have to use two AA cells for best results.

FPC Connections

Like all of our smôl boards, the Power Board AAA 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 AAA 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 ATtiny43U communication
13SCLI2C ClockUsed for ATtiny43U 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 AAA. (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 AAA only uses I2C communication, it can be placed anywhere in the stack. Please see the smôl Hookup Guide for more details.

Get started with the smôl Hookup Guide

smôl Specifics

Interface:

PROC_PWR_EN:

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:

SparkFun smôl Power Board Arduino Library (ZIP)

You are also going to need to install the SparkFun MAX1704x Fuel Gauge Arduino Library. The smôl Power Board AAA does not have a fuel gauge on it, but the library does need it to provide support for the smôl Power Board LiPo. 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:

SparkFun MAX1704x Fuel Gauge Arduino Library (ZIP)

The Power Board library contains a set of tried-and-tested examples which will work with both the smôl Power Board AAA and the smôl Power Board LiPo. 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

smolPowerAAA 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)
      ;
  }

  // Select VCC as the voltage reference - see the full example for more details
  myPowerBoard.setADCVoltageReference(SFE_SMOL_POWER_USE_ADC_REF_VCC);

  float voltage = myPowerBoard.getBatteryVoltage(); // Read the battery voltage from the ATtiny43U
  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 AAA, check out the following links:

smôl Power Board AAA Documentation:

Boost Regulator:

Microcontroller:

smôl Documentation:


learn.sparkfun.com | CC BY-SA 3.0 | SparkFun Electronics | Niwot, Colorado