
OverlordInterface
Nimfrodian/Overlord
Code repository for the Overlord home automation system

Code repository for the Overlord home automation system
Overlord is an open-source printed circuit board by Nimfrodian, from the Nimfrodian/Overlord repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 155.7 × 86.3 mm with 230 parts on 150 nets, routed with 1,771 tracks and 399 vias.
It is built around the MAX485ESA+T, ESP32-S3-WROOM-1-N8 and SN65HVD230D, with the 74HC4052D,653-JSM, FTSH-103-01-S-DV-TR and FTSH-105-01-S-DV-K-P among its other parts. Its parts include 59 resistors, 54 capacitors, 9 connectors, 5 diodes and 4 ICs. It belongs with the home automation and IoT boards and the ESP32 boards of this library.
Code repository for the Overlord home automation system
This GitHub repository contains the code and documentation for a home automation project based on a custom board built around the ESP32-WROOM-32D processor. The board is designed to centralize home automation and provide control for various switches, low voltage devices, relay boards, power meters, and other modules. The primary goal of this project is to create a home automation system that is running as locally as possible while also providing an interface for existing home automation systems that can in turn control it in tandem.
The custom board built on the ESP32 processor offers the following features:
Digital Inputs: The board includes digital inputs that can be connected to various switches and sensors in your home. These inputs allow you to detect the state of switches and trigger automation actions based on their status.
Digital Outputs: The board is equipped with digital outputs that can drive low voltage devices such as lights, fans, or other appliances. You can use these outputs to control the state of these devices based on your automation rules.
Two MODBUS Lines: Two MODBUS lines are included on the board, enabling communication with relay boards and power meters. This allows you to monitor and control multiple devices and measure power consumption within your home automation system.
CAN line: The board features a CAN (Controller Area Network) line that provides user input and control capabilities for other devices and modules. You can connect compatible devices to this line and communicate with them using the CAN protocol. This allows easy integration into any existing home automation system that supports CAN.
Power output for other devices which can be chosen on the board and can be set to +12V, +5V, or +3.3V.
To get started with this home automation project, follow these steps:
Hardware Setup: Set up the custom board based on the ESP32 processor according to the provided documentation. Ensure that all the required connections and modules are correctly attached to the board. You can have your board easily made with the provided .7z file that you simply send to a PCB manufacturer. See Documentation for more.
Software Setup: Install the necessary software and dependencies. This typically involves setting up the Visual Studio Code, Platformio IDE and the required libraries for programming the ESP32 board. Refer to the documentation for detailed instructions.
Code Configuration: The code generally doesn't need modification to work. See Documentation on how the software is configured to see if you need to make any modifications.
Upload the Code: Connect the custom board to your computer using a USB cable and upload the code to the ESP32 board using Platformio IDE the upload process for any errors and ensure successful code transfer.
Testing and Integration: Once the code is uploaded, test the functionality of the board by interacting with the switches, devices, and modules connected to it. Verify that the digital inputs, outputs, MODBUS lines, and CAN line are working as intended.
Customization and Expansion: Customize the code further to add additional features or integrate with other home automation systems. Expand the functionality of the project to suit your specific needs and preferences.
For detailed documentation, including hardware specifications, pin configurations, and usage guidelines, please refer to the Documentation folder in this repository.
Contributions to this home automation project are welcome! If you have ideas, suggestions, or improvements, please feel free to open an issue or submit a pull request. Let's collaborate and make home automation better together.
This project is licensed under the GNU version 3.0 License. Feel free to use, modify, and distribute the code as per the terms of the license.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 42 | 0.1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C12, C13, C14, C15, C16, C17, C19, C20, C21, C22, C23, C24, C25, C26, C28 +26 |
| 39 | SolderJumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mm | JP1, JP2, JP10, JP11, JP12, JP13, JP14, JP15, JP16, JP17, JP18, JP19, JP20, JP21, JP22, JP23 +23 |
| 34 | Connector_Conn_01x01_Male | Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_Vertical | Dbg1, Dbg2, Dbg10, Dbg11, Dbg12, Dbg13, Dbg14, Dbg15, Dbg16, Dbg17, Dbg18, Dbg19, Dbg20, Dbg21, Dbg22, Dbg23 +18 |
| 32 | 4.7k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38, R39, R40, R41, R42, R43 +16 |
| 6 | 10K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R7, R8, R9, R22, R23, R24 |
| 5 | 1uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C4, C6, C7, C54, C55 |
| 4 | 20K | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R6, R16, R21, R27 |
| 4 | 220uF | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C18, C27, C36, C45 |
| 4 | 74HC4052D,653 | OverlordCommon:74HC4052D653 | IC1, IC2, IC3, IC4 |
| 3 | 10uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C2, C10, C11 |
| 3 | 1N4148 | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D1, D2, D5 |
| 3 | 220 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R18, R19, R20 |
| 3 | 39502-1011 | OverlordCommon:SHDRRA11W80P0X350_1X11_3990X690X920P | J1, J2, J3 |
| 3 | LED | LED_SMD:LED_0805_2012Metric_Pad1.15x1.40mm_HandSolder | 3V3LED2, 5VLED1, 12VLED1 |
| 3 | LM317_SOT-223 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U_LM317_1, U_LM317_2, U_LM317_3 |
| 3 | Terminal plug | OverlordCommon:39500-0011 | SYM1, SYM2, SYM3 |
| 2 | 240 | Resistor_SMD:R_0805_2012Metric | R11, R60 |
| 2 | 3K3 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R10, R25 |
| 2 | 6K8 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R15, R26 |
| 2 | Conn_01x04_Pin | OverlordCommon:Solder_select_2x2 | J8, J9 |
| 2 | Conn_01x11_Pin | Connector_PinHeader_2.54mm:PinHeader_1x11_P2.54mm_Vertical | J6, J7 |
| 2 | MAX485ESA+T | Package_SO:SO-8_3.9x4.9mm_P1.27mm | MAX485ESA+T_1, MAX485ESA+T_2 |
| 2 | N6_logo_medium | OverlordCommon:Symbol_N6Industries_medium | SYM4, SYM5 |
| 2 | PTS810SJK250SMTR LFS | OverlordCommon:PTS810SJK250SMTRLFS | BOOT1, RESET1 |
| 1 | 0R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R3 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R12 |
| 1 | 120 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2 |
| 1 | 147 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R14 |
| 1 | 390 | Resistor_SMD:R_0805_2012Metric | R62 |
| 1 | 499 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R13 |
| 1 | 5747844-4 | OverlordCommon:57478444 | DB9_OUT1 |
| 1 | 5788792-2 | OverlordCommon:5788792 | DB9_IN1 |
| 1 | 60 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R61 |
| 1 | 680 | Resistor_SMD:R_0805_2012Metric | R17 |
| 1 | CE | Symbol:CE-Logo_8.5x6mm_SilkScreen | SYM7 |
| 1 | Conn_01x02_Male | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J_CAN120R1 |
| 1 | Conn_01x10_Pin | Connector_PinHeader_2.54mm:PinHeader_1x10_P2.54mm_Vertical | J5 |
| 1 | Conn_01x12_Pin | Connector_Molex:Molex_Picoflex_90325-0012_2x06_P1.27mm_Vertical | J4 |
| 1 | ESP32S3-Wroom | PCM_Espressif:ESP32-S3-WROOM-1U | U_ESP32-S3-WROOM-1U-N16_1 |
| 1 | FTSH-103-01-S-DV-TR | OverlordCommon:FTSH-103-XX-YYY-DV-TR | J_PROG1 |
| 1 | FTSH-105-01-S-DV-K | OverlordCommon:FTSH-105-XX-YYY-DV-K | J_JTAG1 |
| 1 | SD0805S020S1R0 | Diode_SMD:D_0805_2012Metric_Pad1.15x1.40mm_HandSolder | D4 |
| 1 | SN65HVD230 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | SN65HVD230_1 |
| 1 | TPD2E001DZDR | OverlordCommon:TPD2E001DZDR | D7 |
| 1 | TRS3232EIPWR | OverlordCommon:SOP65P640X120-16N | U_TRS3232EIPWR1 |
| 1 | USB_B | OverlordCommon:USB | J_USB1 |
| 1 | WEEE | Symbol:WEEE-Logo_5.6x8mm_SilkScreen | SYM6 |

Nimfrodian/Overlord
Code repository for the Overlord home automation system



wolf-yuan-6115/lightwolf
Pumper is an experimental RP2354-based USB Audio Class 2 DAC. The board uses a PCM5102A DAC with OPA1652 and OPA1622 analog stages in a compact design intended for learning about USB audio and DAC hardware.

DennisSchulmeister/ModularMusicController
Open Modular Music Controller – Build your own custom hardware controller

michael-michelotti/canary
Raspberry Pi air quality HAT with a custom Linux IIO kernel driver for the Sensirion SGP40.

BelaPlatform/gliss-hardware
You can find the source KiCad files for the Gliss module in this repository. This project is open hardware and under the Creative Commons Share Alike license 4.0.

leafai-io/leaf-node-v3.x
Modular node for sensor monitoring and device control in grow environments.

doppelgrau/esp32-f9p-io-board
An IO-PCB (two motor-driver/H-bridge, CAN, RS232, ADS1115, relay, ethernet, ardusimple f9p compatible connector) with an ESP32 for 12V power, three 15V tolerant analog inputs, three 5V tolerant inputs.
It measures 155.7 × 86.3 mm and has 2 copper layers, 1.6 mm thick.
230 parts, built around the MAX485ESA+T, ESP32-S3-WROOM-1-N8, SN65HVD230D and 74HC4052D,653-JSM. 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.
From the Nimfrodian/Overlord repository on GitHub, at the commit this page was made from: the board is other/KiCad_files/Overlord/Overlord.kicad_pcb and its schematic other/KiCad_files/Overlord/InputMux.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).