Skip to the content
2 layers57.8 × 46 mmModul DPS, the printed circuit board in 3D

This repository contains complete hardware and software resources for the development and implementation of a new extension module for the HAPCAN home automation system.

Size
57.8 × 46 mm
Copper layers
2
Thickness
1.6 mm
Parts
52
Nets
79
Pads
216
Tracks, vias
530, 65
Pours
8
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
22 Mar 2026
Updated
12 Jun 2026

Overview

Modul DPS is an open-source printed circuit board by Poky88, from the Poky88/HAPCAN_Modul_RFID_CTECKA repository on GitHub. It is a 2-layer board of 57.8 × 46 mm with 52 parts on 79 nets, routed with 530 tracks and 65 vias.

It is built around the ESP32-WROOM-32, TJA1051T/3/1 and TSR 1-2433E, with the TSR 1-2450E, BC817-25-TP and RJ45 among its other parts. Its parts include 15 resistors, 13 capacitors, 7 connectors, 5 ICs and 5 diodes. It belongs with the ESP32 boards of this library.

Main components

11

README

README.md

HAPCAN Extension Module - NFC Tag Reader

This repository contains complete hardware and software resources for the development and implementation of a new extension module for the HAPCAN home automation system. The module enables contactless user identification using RFID technology and subsequent control of smart home output elements via the CAN bus. This project was created as part of a bachelor's thesis.

PCB - Module-3D-TOP
Fig. 1: Module - 3D visualization

Features

  • Contactless control: Output actuator control using RFID technology
  • Access management: Setting access rights via the official HAPCAN Programmer application
  • Universal output: Ability to control any actuator operating at 24 V
  • Easy installation: Housed in a protective enclosure for standard in-wall flush-mount electrical boxes
  • Connection options: The module can be connected to the CAN bus using an RJ45 connector or a screw terminal block
  • Full compatibility: The device respects the HAPCAN protocol and communicates seamlessly with it
  • Tag indication: Indicator LEDs signal when a tag is scanned

Hardware

The schematic design and printed circuit board (PCB) layout were created using KiCad. All project source files and complete manufacturing files are available in the respective folders.

PCB Model - TOPPCB Model - BOT
PCB - JLCPCB - TOPPCB - JLCPCB - BOT

Fig. 2: PCB module visualization

Software

The complete firmware was developed in the Arduino IDE environment and is divided into two main parts. The operation of the NFC reader is handled by the Hapcan_NFC.cpp source file. CAN bus communication, module configuration, and interaction with the Hapcan Programmer application are managed by the second source file, HapcanProtocol.cpp. Both parts include corresponding header files for function declarations and library imports. To help understand the core program logic, flowchart diagrams of both main processes are provided below. The complete source codes are located in the attached folder.

Hapcan_NFC-flowchart drawio
Fig. 3: Flowchart - NFC Reader Operation

HapcanProtocol-flowchart drawio (1)
Fig. 4: Flowchart - HAPCAN Protocol Operation

Module Construction

The complete module is housed inside a custom-designed protective enclosure. This case serves not only a protective function but also secures the NFC reader in the optimal position for reliable tag scanning. The fully assembled module is designed for easy mounting into a standard flush-mount in-wall electrical box. A detailed assembly and installation guide is described in the attached documentation, and the 3D models required for manufacturing the enclosure are included in the electronic appendices of the thesis.

The following diagram illustrates an example wiring diagram using an electric lock. For correct operation, the module must be connected to the CAN bus and linked with a Button module.

Screenshot 2026-05-30 093349
Fig. 5: Typical wiring diagram

Typical module assembly
Fig. 6: Assembled module

File Structure

text

Parts

52
QtyValueFootprintReferences
610KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR1, R2, R3, R7, R8, R14
410uFCapacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolderC4, C7, C8, C10
322Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR5, R11, R12
322uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC9, C11, C13
20.1uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC3, C5
21KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR9, R19
222pFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2
268Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR6, R13
2BC817-25-TPPackage_TO_SOT_SMD:SOT-23T1, T2
2BLM21AG102SN1DInductor_SMD:L_0805_2012MetricFB2, FB3
2RJ45Connector_RJ:RJ45_Amphenol_RJHSE5380J1, J2
2S1DDiode_SMD:D_SMA_HandsolderingD5, D6
2Screw_Terminal_01x02TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ4, J5
10,1uFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC12
1100KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR4
1100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC6
12KResistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolderR10
18MHzCrystal:Crystal_SMD_HC49-SDY2
1AQ24CANA-02HTGPackage_TO_SOT_SMD:SC-59_HandsolderingD1
1BSN20-7Package_TO_SOT_SMD:SOT-23-3T3
1Conn_01x06_SocketConnector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ7
1Conn_01x08_SocketConnector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ3
1ESP32-WROOM-32RF_Module:ESP32-WROOM-32U1
1MCP2515-xSTPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmIC2
1P6SMB33CADiode_SMD:D_SMA_HandsolderingD4
1SANYOU_SRD_Form_CRelay_THT:Relay_SPDT_SANYOU_SRD_Series_Form_CK2
1SML-LX15IGC-RP-TRPackage_TO_SOT_SMD:SOT-23-3D3
1Screw_Terminal_01x03TerminalBlock:TerminalBlock_MaiXu_MX126-5.0-03P_1x03_P5.00mmJ6
1TJA1051T-3Package_SO:SOIC-8_3.9x4.9mm_P1.27mmIC1
1TSR1-2433EConverter_DCDC:Converter_DCDC_TRACO_TSR1-xxxxE_THTIC3
1TSR1-2450EConverter_DCDC:Converter_DCDC_TRACO_TSR1-xxxxE_THTIC4

Similar boards

  • 2 layers121.9 × 149.9 mmYellow fuzz dev, the printed circuit board in 3D

    Yellow fuzz dev

    ersatzavian/yellow_fuzz

    A bass fuzz for my good friend! Don't tell him, it's a surprise. Starting with a Boss MT-2 (I know, ew, don't tell anybody) because that's allegedly how Arion Salazar got most of his fuzz tone's on Third Eye Blind's…

    165 parts
  • 4 layers136.6 × 84.2 mmCiaa rx, the printed circuit board in 3D

    Ciaa rx

    ciaa/Hardware

    Hardware de la CIAA

    450 parts216
  • 4 layers99 × 146 mmCarte principale, the printed circuit board in 3D

    Carte principale

    Unimakers/CDR-2027

    Ce repo est un site de documentation réalisé par l'équipe des première et deusième années pré-ingénieur de l'école Unilasalle-Amiens, membre de l'association de robotique Unimaker, dans le cadre de leur participation à…

    156 parts1
  • 2 layers80 × 80 mmUniBoard Xiao, the printed circuit board in 3D

    UniBoard Xiao

    Unimakers/UniWip-Docs-CDR2025

    UniWIP Docs for CDR2025

    107 partsMIT
  • 4 layers61 × 81 mmEsp32OlcbIO, the printed circuit board in 3D

    Esp32OlcbIO

    atanisoft/Esp32OlcbIO

    ESP32 OpenLCB IO Board

    52 parts12
  • 2 layers64.8 × 74.5 mmReadingLampController, the printed circuit board in 3D

    ReadingLampController

    vsi5004/ReadingLampController

    A repurposing of my LCC Lighting Controller hardware into a customizable, Matter enabled, RGBW reading lamp

    67 parts
  • 2 layers68.8 × 53.6 mmZArduino, the printed circuit board in 3D

    ZArduino

    zmaker/arduino_cookbook

    gli sketch del nuovo progetto Arduino Cookbook e dei video di YouTube

    46 parts269

Questions

How big is the Modul DPS PCB?

It measures 57.8 × 46 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Modul DPS use?

52 parts, built around the ESP32-WROOM-32, TJA1051T/3/1, TSR 1-2433E and TSR 1-2450E. 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 Modul DPS KiCad files?

From the Poky88/HAPCAN_Modul_RFID_CTECKA repository on GitHub, at the commit this page was made from: the board is Hardware/KiCad 9.0/Modul_DPS.kicad_pcb and its schematic Hardware/KiCad 9.0/Modul_DPS.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Modul DPS design in my own project?

Its repository states no licence, so its author keeps all rights: ask Poky88 before reusing the design.