Overview
Soleil is a radically open source power management and sleep control board
designed specifically for Raspberry Pi. It tackles common challenges in
developing low-power or off-grid devices, making it easier than ever to create
energy-efficient, sustainable solutions. Whether you’re building remote IoT
sensors, portable devices, or solar-powered projects, Soleil is built to handle
the job.
Designed with the Nerves framework in mind, Soleil provides a reliable platform for developers to build robust, low-power applications. With features like solar charging, ultra-low power sleep modes, smart wake-up options, and the ability to plug into the vast ecosystem of Qwiic-compatible devices, it's an all-in-one solution for off-grid and battery-powered projects.
Key Features of Soleil
Soleil was designed out of frustration with the difficulty of creating a compact and full featured power solution for Raspberry Pi. As such, many of the features are focused on solving this problem. However, Soleil also includes quality-of-life features which improve the user experience.
Power Management
Let's start with the most fundamental feature of Soleil, the power system. Functionally, you can plug a single-cell LiPo battery into Soleil and the Raspberry Pi will power on. If you peek under the hood, you will see that Soleil uses a boost converter circuit which steps up the battery voltage to 5V. With a fully-charged 2000mAh LiPo battery and a Raspberry Pi Zero 2W, you can expect about 9 hours of runtime.
To keep your project running, there is an onboard battery charger chip. Soleil can both power the Raspberry Pi and charge the battery at the same time when connected to at least one of two power sources, either a USB-C power supply or 6-16V DC input. The 6-16V DC power source can even be connected to a solar panel, as the battery charger chip features a dynamic power management algorithm (similar to MPPT).
A key part of many portable battery-powered projects is the ability to monitor the state of the battery. Soleil includes a battery fuel gauge - a specialized chip with built-in algorithms and calibrations for accurately estimating battery state of charge. This makes it easier to implement features like low-battery warnings or optimize power usage in user applications, ensuring reliability and preventing unexpected shutdowns.
Finally, to extend the battery life as much as possible, Soleil also includes an ultra-low power sleep mode. You can program the Raspberry Pi to shutdown and wake up at a specific time in the future, as triggered by the alarm pin on the onboard real time clock (RTC) chip. During sleep, Soleil only consumes around 10μA of current. Additionally, there is a manual override to the sleep mode, which can be triggered by either pressing a button on the board or by moving a magnet into the detection range of the Hall switch. The choice to add the Hall-effect switch was made to allow for fully sealed weatherproof enclosure designs, as the magnet can be sensed through the walls of the enclosure. This design reduces the assembly complexity as compared to a wired switch, which would have to protrude through the enclosure.
Simplified Connectivity to NervesHub
There are a lot of benefits for developing your embedded applications with
Nerves - the robust and fault-tolerant Erlang runtime is well suited for IoT and
industrial devices. However, one of the big draws for the framework is the
developer productivity. Framework tools such as fwup
make flashing SD cards
and local over-the-air (OTA) updates a breeze, while the ecosystem of libraries
such as nerves_time
provide sane defaults to the problems you don't want to
initially worry about solving - such as time management via NTP, A/B partitions
for updates and more. All of this means that you can be productive from day one.
One of the most interesting tools in the Nerves ecosystem is NervesHub - an open source application for managing fleets of devices. It provides mechanisms for pushing wireless firmware updates to devices in the field, remote console access, and many more features. Soleil provides first-class support for NervesHub by including an ATECC608A security chip onboard, which can be used to store SSL certificates for establishing secure connections to the service.
Extensibility
Soleil has been designed to plug into a huge ecosystem of products via the onboard Qwiic connector. Qwiic is the standardized connector for the I2C interface, first introduced by SparkFun. Since then, they have released over 100 products featuring the port, comprised of sensors, actuators, OLED screens and more. Even more widgets are available, however - it has become a near standard in the hobbyist and rapid prototyping community, with other vendors such as Adafruit, Pimoroni, and more all developing products for the ecosystem. This means that you can use Soleil to easily connect third-party products, without creating a "noodle salad" of jumper wires or requiring additional hardware.
Anti-Feature: No Firmware
While there's no one board which has all the same features as Soleil, there are a few which have a pretty high overlap. The main ones which come to mind are the PiJuice Zero, Witty Pi 4 Mini and the LiFePO4wered/Pi+. However, these all have a key flaw when considering an open-source power solution for Raspberry Pi: firmware. Each of these boards have onboard microcontrollers to act as the low-power controllers for turning on and off the attached Raspberry Pi. And to their credit, the stock firmware is pre-programmed on the boards and provides advanced features which is suitable for the majority of users. However, they limit the ability of individuals to assemble their own versions of the board, as it requires specialized tools for flashing the firmware.
For Soleil, we not only want to provide a solid power management system, but do it in a way which encourages customization of the open-source designs. Thus, we developed a solution solely based on integrated circuits which will work right out of the box, no firmware required.
Radically Open Source
The Open Source Hardware Association (OSHWA) has a collection of around 3,000 certified open source hardware projects at the time of writing. This is amazing, as open source hardware provides many of the same benefits of open source software. However, there is still a large barrier to entry. It's no secret that hardware is hard. The turnaround times are longer, the cost is higher, and it often requires specialized knowledge to design circuit boards. Soleil tries to break this down, and lower the barrier to entry by actively encouraging customization of the design.
You may have noticed the uneven density of components on Soleil - this was intentional. The dense packing of components on the left side of the board results in a contiguous free space on about 20% of the board's total area. This empty space is left open for user applications. The original source files are freely available - which means you can boot up KiCad (the free and open source PCB design tool) and add your own circuitry, customizing the board to your exact specification.
We use the term "radically" open source, because many open source hardware products make their source files available, but are not designed with user customization in mind. However, the metric for success for Soleil is not in how many units we may or may not be able to sell - but rather how many people are enabled to make their own custom designs. To show our commitment to open source, we've licensed the hardware under the permissive CERN-OHL-P license, and the software libraries under the MIT license. And finally, we're in the process of getting the project certified with the OSHWA certification program.
Getting Started
If you already have your hands on the Soleil hardware, then head on over to the HexDocs page for information regarding installing the board on a Raspberry Pi as well as how to get started writing your Nerves application with the Soleil library.
If you don't already have the Soleil hardware, all of hardware design and manufacturing files are available in the GitHub repository. You can submit the files at your manufacturer of choice. We are also considering a producing a limited run of these boards in Q2 2025 to sell pretty much at-cost (plus shipping). If you're interested in buying one, please let me know by filling out the form below! If there is enough interest, I'll reach out and confirm your order and final pricing details. My current estimates for a group buy puts the price at around $30 - $35 USD + shipping.
Join the waitlist!
We will only use this email to let you know if and when we launch Soleil for sale, as described above. We hate spam, too - we won't sell your info or fill your inbox with junk. If you like the work we do, this is the best way to support us right now. Thanks!