View Source Technical Overview
This page provides a detailed overview of the hardware components that comprise Soleil. For a high-level summary, refer to the block diagram below:
To understand how Soleil manages power, we will trace the flow of electricity from its sources to its consumers.
Battery Fuel Gauge
The primary power source for Soleil is the battery, which operates at a voltage between 3.2V and 4.2V, depending on its state of charge. However, the relationship between voltage and the battery's energy storage is non-linear. To accurately estimate the battery's state of charge, Soleil uses the BQ27427 battery fuel gauge chip. This chip measures the current flowing through it using internal circuitry and calculates the battery's state of charge accordingly.
The BQ27427 communicates with the Raspberry Pi via an I2C interface, allowing it to read and write to the chip’s registers programmatically. Through the Soleil.BQ27427
low-level driver module, users can configure battery parameters, set low-battery alarms, and perform additional tasks.
Battery Charger
On the other side of the battery fuel gauge is the BQ25185 battery charger IC. This charger features internal power path management, meaning it can simultaneously power the system load (the Raspberry Pi) and charge the battery when a power source is connected to the V_IN
pin.
While the chip supports various lithium battery chemistries, it is configured to charge standard LiPo batteries to 4.2V at a rate of 500mA. The V_IN
pin can draw a maximum of 1A to handle both charging and powering the system. If the system load requires more than 1A, the charger dynamically supplements the power supply by drawing from both the input power source and the battery. The V_SYS
output from the charger powers several downstream components, including the 5V boost converter, the low-power load switch, and the wakeup sources.
Boost Converter
Since the Raspberry Pi requires 5V to operate and the regulated V_SYS
voltage peaks at approximately 4V (depending on the battery's charge level), a voltage boost is necessary. The MP3423 boost converter fulfills this role by increasing V_SYS
to a steady 5V output. Additionally, the converter's EN
pin allows the 5V output to be enabled or disabled, which is crucial for entering low-power mode via the load switch.
Low-Power Load Switch
The XC6192 low-power load switch is the central control component of Soleil. It features multiple input and output pins that govern the system's power state.
- The
5V_EN
output pin controls the boost converter (and, by extension, the Raspberry Pi). When5V_EN
is low, the switch enters a low-power state to conserve battery life. - The
~POWER_ON
input pin (active-low) triggers5V_EN
to enable the 5V output when pulled low. By default, this pin is pulled high and is activated by wake-up sources. - The
POWER_OFF
input pin (active-high) disables5V_EN
when pulled high. This pin is managed by the Raspberry Pi, which sets it high during shutdown to cut off the 5V supply.
Wakeup Sources
The wake-up sources that control the ~POWER_ON
pin include a push button, the DRV5032 hall-effect switch, and the MCP7940 real-time clock.
- When inactive, these sources allow
~POWER_ON
to remain at its default high voltage. - When triggered, they pull the pin low, enabling the 5V boost converter.
- The DRV5032 activates when a magnet is detected within its range.
- The MCP7940 real-time clock triggers upon an alarm event.
The MCP7940 also connects to the Raspberry Pi via I2C, allowing configuration and monitoring through the Soleil.MCP7940
driver module.
Input Sources
Soleil supports two power input sources:
- 5V via a USB-C connector.
- 6–16V via a DC input on a JST PH connector.
The LM66200 power multiplexer manages these inputs, ensuring that only the higher voltage source is used while blocking reverse current to the lower-voltage source. The selected input provides power to the battery charger via the V_IN
pin.
Source Files
The source files for Soleil are available in the GitHub repository. The project was designed using KiCad, an open-source electronics design software. These files are fully customizable to meet your project requirements.
A PDF of the schematic is also available for reference or download: