Skip to the content
2 layers96.8 × 52.8 mmEnergy Manager, the printed circuit board in 3D

Energy Manager

HAPPEN-lab/peak

Prepaid Energy Assistance Kit

Size
96.8 × 52.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
67
Pads
114
Tracks, vias
91, 0
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
22 Apr 2026
Updated
15 May 2026

Overview

Energy Manager is an open-source printed circuit board by HAPPEN-lab, from the HAPPEN-lab/peak repository on GitHub, published under the BSD-3-Clause licence. It is a 2-layer board of 96.8 × 52.8 mm with 14 parts on 67 nets, routed with 91 tracks and 0 vias.

It belongs with the ESP32 boards of this library.

README

README.md

PEAK: Prepaid Energy Assistance Kit

Installation

  1. Clone the repository:
bash
git clone https://github.com/HAPPEN-lab/peak.git
cd peak
  1. Create and activate a virtual environment:
bash
python -m venv .venv

# Windows
.\.venv\Scripts\activate

# Linux
source .venv/bin/activate
  1. Install dependencies:
bash
pip install -r requirements.txt

Usage

Python MILP Models

Navigate to the src directory containing the project's code. Inside the main python file, milp_main.py, choose an optimization algorithm to run. This can be done by setting the constant ALGORITHM to either 'OBM' or 'DFM' at the top of the file. Along with choosing an algorithm, users must input the start day, load_order, data path (for the forecast), column names for loads, and the recharge percentage. Users must additionally add the Gurobi license file if they are running the DFM algorithm. This can be done by uncommenting the following line at the beginning of the script:

python
# os.environ["GRB_LICENSE_FILE"] = r'/path/to/gurobi.lic'

Once an algorithm is selected and ran, outputs from the model and simulation will be output in the terminal, but results can additionally be accessed by storing the output of the algorithm's main function.

AFG Fractional-Knapsack Model

AFG is designed to be run on an ESP32-S3 with data stored on a connected SD card. It is recommended to compile and run AFG using the platformio.ini file inside this repository. Compilation and flashing to the ESP32 can be done using the following command:

bash
platformio run -e afg -t upload

Additionally, the code can be monitored over the serial port by adding the -t monitor flag. Note: The platformio .ini file contains upload/monitor port options for Linux, MacOS, and Windows. Make sure to choose the port option for your operating system. Also, ensure you are not communicating with another device over serial, or change the port selection to upload/monitor a specific port.

Parts

14
QtyValueFootprintReferences
4B3F-1Omron Tactile Button Medium B3F-4000:B3F-4000SW2, SW3, SW4, SW5
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
1254Adafruit Micro SD Card Reader 254:MODULE_254Micro SD Card Reader1
1Conn_01x08_PinConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalUSBC1
1Conn_01x15_PinConnector_PinHeader_2.54mm:PinHeader_1x15_P2.54mm_VerticalDisplay Adapter1
1LOGOLOGOP.E.A.K.
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmRotary Enc.1
1SANXIXING ESP32-S3SANXIXING ESP32-S3:SANXIXING-ESP32-S3ESP32

Similar boards

  • 2 layers116.8 × 30 mmType d, the printed circuit board in 3D

    Type d

    google/mozc-devices

    Circuit diagrams and firmware source code for Gboard DIY keyboards

    14 parts3kApache-2.0
  • 2 layers32 × 22 mmDiff driver, the printed circuit board in 3D

    Diff driver

    rene-dev/stmbl

    AC Servo Driver for STM32F4

    14 parts990GPL-3.0
  • 2 layers34 × 45 mm2032Charger, the printed circuit board in 3D

    2032Charger

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    14 parts915
  • 2 layers34 × 109.9 mmTdisplay s3, the printed circuit board in 3D

    Tdisplay s3

    landonr/homeThing

    Wifi Smart Home Remotes that run on ESPHome

    14 parts551GPL-3.0
  • 2 layers45.3 × 42.7 mmMainPcb, the printed circuit board in 3D

    MainPcb

    adamb314/ServoProject

    Getting the most out of your hobby servo

    14 parts545
  • 2 layers42.5 × 28.8 mmC5VRX JACK DIY, the printed circuit board in 3D

    C5VRX JACK DIY

    Twotoz/C5VRX

    Ultra-minimal, zero-CPU 5.8 GHz analog FPV video receiver using ESP32-C5 Wi-Fi 6 PHY MODEM_DIAG, BitScrambler WBFM demodulation & resistor DAC CVBS

    14 parts515GPL-3.0
  • 2 layers62 × 24 mmMai button, the printed circuit board in 3D

    Mai button

    whowechina/mai_pico

    Pico controller for Maimai

    14 parts475

Questions

How big is the Energy Manager PCB?

It measures 96.8 × 52.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Energy Manager use?

14 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Energy Manager KiCad files?

From the HAPPEN-lab/peak repository on GitHub, at the commit this page was made from: the board is CAD/PCB Files/Energy Manager.kicad_pcb and its schematic CAD/PCB Files/Energy Manager.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Energy Manager design in my own project?

Its repository publishes it under the BSD-3-Clause licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).