Skip to the content
PCBKitNew board
2 layers70 × 38 mmHARem, the printed circuit board in 3D

This project implements a "Thin Client" smart home remote using ESPHome on an ESP32-C3. It features a 5-line OLED display with scrolling text and a rotary encoder to navigate Home Assistant Areas dynamically.

Size
70 × 38 mm
Copper layers
2
Thickness
1.6 mm
Parts
14
Nets
24
Pads
60
Tracks, vias
124, 3
Pours
1
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
31 Dec 2025
Updated
31 Oct 2026

Overview

HARem is an open-source printed circuit board by orkanm, from the orkanm/HARem repository on GitHub, published under the MIT licence. It is a 2-layer board of 70 × 38 mm with 14 parts on 24 nets, routed with 124 tracks and 3 vias.

It is built around the BC817. Its parts include 6 resistors, 2 capacitors, 2 ICs, 1 transistor and 1 connector. It belongs with the home automation and IoT and lEDs and displays boards and the ESP32 and RISC-V boards of this library.

Main components

1

README

README.md

HARem - Home Assistant Remote Controller

Buy Me A Coffee

HARem is a high-performance, minimalist "Thin Client" remote controller designed for the modern smart home. Built on the ESPHome ecosystem and powered by the ESP32-C3, it provides a boutique-quality physical interface that prioritizes speed, aesthetics, and zero-maintenance operation.


✨ Features & Architecture

Unlike traditional smart remotes that require manual configuration of every button, HARem operates as a dynamic viewport into your Home Assistant instance. Complex logic is handled by Home Assistant Blueprints and Automations, keeping the hardware lightweight and responsive.

  • Zero Maintenance: Rooms, devices, and states are streamed in real-time. New devices added to a Home Assistant Area automatically appear on the remote.
  • Modern UI: A 5-line 1.3" OLED interface featuring Outfit and Montserrat typography, a vertical scrollbar, and hardware-accelerated dynamic marquee for long names.
  • Smart Power: Deep sleep optimized for sub-1mA idle consumption, utilizing a high-impedance (1MΩ/1MΩ) battery divider and active OLED power management.
  • Guest Mode Protection: Secure, PIN-protected "Guest Mode" to restrict access to specific areas or devices.
  • Visual Feedback & Control: Interactive animations, sleep countdowns, and a local on-device menu for contrast and standby settings.

🚀 Quick Start

  1. Hardware: ESP32-C3 SuperMini + 1.3" SH1106 OLED + EC11 Rotary Encoder.
  2. Firmware:
    • Option A (Recommended): Download the latest .factory.bin from Releases and flash it to offset 0x0.
    • Option B: Compile locally using esphome run remote_controller.yaml.
  3. Home Assistant:
    • The device will appear as "HARem" in your dashboard.
    • IMPORTANT: If you used the GitHub Release binary, you will be asked for an Encryption Key:

      7knRB3/EL4Fq8Foul7Yhv+pcABzyLXHSQxa9bTzzQqg=

    • [!WARNING] This key is publicly known. For security, you should change it in your own configuration and perform an OTA update as soon as possible.

    • Follow the Setup Guide to create the required Helpers and import the logic Blueprint.

🛠️ Hardware & Assembly

Building your own HARem is straightforward. The project includes custom PCB files and 3D printable case models.

Interactive Visualizers

Explore the design files directly in your browser:

Design Files

  • KiCad Project: Source files for schematic and board layout.
  • PCB 3D Model: Industrial standard 3D file for enclosure design.
  • 3D Printed Case Files: Source FreeCAD project (.FCStd), print-ready .stl files for the case, lid, and knob, along with a high-resolution .step model.
View Wiring Diagram & Pin Mapping (Click to expand)
text
       ESP32-C3 Super Mini                 Peripherals
    ┌───────────────────────┐            ┌───────────────┐
    │                       │   Q1(NPN)  │ 1.3" OLED     │
    │          5V / 3.3V ───┼────▶[C]    │               │
    │  GPIO1 (OLED PWR) ────┼────▶[B]    │               │
    │                       │     [E]────┼─▶ [VCC]       │
    │                GND ───┼────────────┼─▶ [GND]       │
    │         GPIO5 (SDA)───┼────────────┼─▶ [SDA]       │
    │         GPIO6 (SCL)───┼────────────┼─▶ [SCL]       │
    │                       │            └───────────────┘
    │                       │            
    │                       │            ┌───────────────┐
    │                       │            │ ROTARY (EC11) │
    │         GPIO8 (CLK) ◀─┼───[100Ω]───┼─ [CLK]        │
    │          GPIO9 (DT) ◀─┼───[100Ω]───┼─ [DT]         │
    │          GPIO4 (SW) ◀─┼───[100Ω]───┼─ [SW]         │
    │                GND  ◀─┼────────────┼─ [GND]        │
    │                       │            └───────────────┘
    │                       │            ┌───────────────┐
    │                       │            │ BAT MONITOR   │
    │                       │            │  [+] BATTERY  │
    │                       │            │   │           │
    │                       │            │  [1MΩ]        │
    │         GPIO0 (ADC) ◀─┼────────────┼───┤           │
ComponentESP32-C3 PinTypeNotes
OLED VCCGPIO1OutputActive Power Management (via Q1 NPN)
OLED SDA/SCLGPIO5 / GPIO6I2CSSD1306/SH1106
Encoder CLK/DTGPIO8 / GPIO9InputNavigation
Encoder SWGPIO4InputWakeup Trigger
Battery ADCGPIO0Analog1M/1M Divider + 0.1µF Cap

📖 Documentation & Development


📛 Trivia: The Name HARem

The name HARem is a clever portmanteau of Home Assistant and Remote, but its inspiration runs deeper into Turkish history and culture.

In Turkish and Ottoman history, the Harem represented the most private, sacred, and protected part of the household. By adopting this name, the project acknowledges the smart home as the modern individual's "inner sanctum." Just as the historical Harem was the heart of the home, this remote serves as the private, primary interface to control and protect the sanctity of your living space.


☕ Support the Project

If you find this project helpful and would like to support its development, you can buy me a coffee! Your support helps fund new prototypes and keeps the project open-source and free for everyone.

Buy Me A Coffee

Parts

14
QtyValueFootprintReferences
3100Resistor_SMD:R_0805_2012MetricR2, R3, R4
21MResistor_SMD:R_0805_2012MetricR5, R6
10.1uFCapacitor_SMD:C_0805_2012MetricC2
1100nFCapacitor_SMD:C_0805_2012MetricC1
110KResistor_SMD:R_0805_2012MetricR1
1BC817Package_TO_SOT_SMD:SOT-23Q1
1ESP32-C3_SUPERMINI_THESP32-C3_SUPERMINI_TH:MODULE_ESP32-C3_SUPERMINI_THU1
1OLED_128X64_1.3_I2COLED_128X64_1.3_I2C:LCD_OLED_128X64_1.3_I2CDS1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHolesSW1
1S2B-PH-K-S_LF__SN_S2B-PH-K-S_LF__SN_:JST_S2B-PH-K-S_LF__SN_J1
1~TP4056:TP4056-ModuleU2

Questions

How big is the HARem PCB?

It measures 70 × 38 mm and has 2 copper layers, 1.6 mm thick.

What parts does the HARem use?

14 parts, built around the BC817. 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 HARem KiCad files?

From the orkanm/HARem repository on GitHub, at the commit this page was made from: the board is PCB/HARem/HArem.kicad_pcb and its schematic PCB/HARem/HArem.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the HARem design in my own project?

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

Similar boards

  • 2 layers72 × 42 mmNRF24 jammer, the printed circuit board in 3D

    NRF24 jammer

    W0rthlessS0ul/nRF24_jammer

    The nRF24 jammer is a powerful tool that requires an ESP32 and configurable numbers of NRF24 modules to assemble.

    51 parts1kMIT
  • 2 layers271.8 × 114.3 mmArdumower mega shield svn, the printed circuit board in 3D

    Ardumower mega shield svn

    Ardumower/ardumower

    Develop an open source robotic lawn mower (HW+SW reference platform)

    426 parts282
  • 2 layers65 × 56.5 mmRPiG3iMac, the printed circuit board in 3D

    RPiG3iMac

    qbancoffee/imac_g3_ivad_board_init

    iMac G3 IVAD board initialization with an arduino

    44 parts240LGPL-3.0
  • 6 layers83.5 × 56 mmEspiff v3 1, the printed circuit board in 3D

    Espiff v3 1

    MDCservice/EsPiFF

    An ESP32 in the Raspberry Pi form factor

    172 parts223GPL-3.0
  • 2 layers87.9 × 98.7 mmBitdoglab smd, the printed circuit board in 3D

    Bitdoglab smd

    BitDogLab/BitDogLab

    Open-source educational hardware for embedded systems, programming, electronics, and physical computing.

    138 parts203
  • 2 layers77 × 100 mmBeamer1, the printed circuit board in 3D

    Beamer1

    shufps/diy-projector-clock

    DIY Projector Clock

    283 parts172
  • 2 layers84.2 × 52 mmPicoPico, the printed circuit board in 3D

    PicoPico

    DavidVentura/PicoPico

    Pico-8 Player

    57 parts141
  • 4 layers129 × 104.6 mmPC-1100X, the printed circuit board in 3D

    PC-1100X

    zscircuits/zs1100a

    All files hardware and software related to the zs1100a

    528 parts76