

HackDoor
RFID Lock system
- Size
- 74 × 58.7 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 14
- Nets
- 40
- Pads
- 73
- Tracks, vias
- 104, 0
- Pours
- 3
- Routed
- Yes
- KiCad
- KiCad 4
- Created
- 21 Sep 2016
- Updated
- 6 Dec 2022
Overview
HackDoor is an open-source printed circuit board by Ranthalion, from the Ranthalion/rfidLock repository on GitHub. It is a 2-layer board of 74 × 58.7 mm with 14 parts on 40 nets, routed with 104 tracks and 0 vias.
It is built around the BSS138. Its parts include 7 connectors, 3 resistors, 1 IC, 1 transistor and 1 switch.
Main components
1README
README.mdView this project on CADLAB.io.
rfidLock
RFID Lock system
###Lock Hardware The lock is Morning Industry RF-01SN.
###Lamp Server
Primary Network IP: 10.200.200.11 up on eth0
Secure Network IP: 172.12.123.20 up on eth1
Software: Apache2, php7 w/all mods and oauth extension, mariaDB, phpMyAdmin
Services: SSHD
Diagram

Database Diagram

Installation
Configuration File
A configuration file is necessary for managing the connection to the mysql database which is used as the authoratative data source. This file is also needed for other configuration details such as the location of templates.
The options that can be configured in this file's database parameter match with mysql.connector's Python Connection Arguments
A simple example configuration file is shown here for reference.
{
"database": {
"username": "rfid_user",
"password": "db_passwd",
"host": "rfid_host",
"database": "rfid_db"
},
"templates": "/usr/share/rfidlock/templates"
}Member Server
To install the member server and web interface:
git clone https://github.com/Ranthalion/rfidLock.git
sudo pip install rfidLock/
# Edit or create the config.json file described above
vim /etc/rfidlock/config.json
# Creates the necessary database tables
rfid_db_install
# For Arch, this should enable wsgi
echo "LoadModule wsgi_module modules/mod_wsgi.so" >> /etc/httpd/conf/httpd.conf
# For Debian/Ubuntu, this should enable wsgi
a2enmod wsgi
# Mount the WSGI script, again, this is for Arch, will be different on other distros
echo "WSGIScriptAlias /rfid_db.wsgi $(which rfid_db.wsgi)" >> /etc/httpd/conf/httpd.conf
# Install and enable mod_wsgi
# Modify Apache server configuration
# TODO run a script that installs an apache server site to a path
# Varies by distribution
# ? WSGIScriptAlias /wsgi /path/to/script/rfid_members.wsgi
# TODO configure apache server to run mod_wsgiTo remove the member server after installation:
Raspberry Pi
Secure Network IP: 172.12.123.98
git clone https://github.com/Ranthalion/rfidLock.git
sudo pip install rfidLock/
# TODO, establish a daemon that handles the RFID lock and enable it on start-upWeb API
GET /api/verify
Verifies access to a resource by rfid
Consumes
This API call consumes the following media types via the Content-Type request header:
application/x-www-form-urlencoded
Query parameters
resource (required)
Query Parameter — The name of the resource being requested
encryptedrfid (optional)
Query Parameter — The encoded rfid value
rfid (optional)
Query Parameter — The raw, unencoded rfid value
Return type
Content-Type: application/json
{
"verified" : false
}Parts
14| Qty | Value | Footprint | References |
|---|---|---|---|
| 3 | 1k | Resistors_SMD:R_0805_HandSoldering | R1, R2, R3 |
| 2 | Lock Button | Pin_Headers:Pin_Header_Angled_1x03 | P2, P5 |
| 2 | RFID Reader | Pin_Headers:Pin_Header_Angled_1x05 | P1, P4 |
| 1 | BSS138 | TO_SOT_Packages_SMD:SOT-23 | Q1 |
| 1 | Lock/Unlock | Pin_Headers:Pin_Header_Angled_1x04 | P3 |
| 1 | RFID-ID12 | hackDoor:rfid-id12 | U1 |
| 1 | SW_PUSH | Buttons_Switches_ThroughHole:SW_PUSH | SW1 |
| 1 | doorSensor | Pin_Headers:Pin_Header_Angled_1x02 | P7 |
| 1 | lockSensor | Pin_Headers:Pin_Header_Angled_1x03 | P6 |
| 1 | rpiPins | Pin_Headers:Pin_Header_Straight_2x13 | pi1 |
Questions
How big is the HackDoor PCB?
It measures 74 × 58.7 mm and has 2 copper layers, 1.6 mm thick.
What parts does the HackDoor use?
14 parts, built around the BSS138. 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 HackDoor KiCad files?
From the Ranthalion/rfidLock repository on GitHub, at the commit this page was made from: the board is board/hackDoor.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the HackDoor design in my own project?
Its repository states no licence, so its author keeps all rights: ask Ranthalion before reusing the design.
More from Ranthalion/rfidLock
2- 2 layers33.5 × 74.2 mm

- 2 layers34.3 × 23.1 mm

Similar boards
- 4 layers36 × 50.2 mm

Racer
StuckAtPrototype/Racer
These are structured into their own files. I could have used submodules, but decided against it.
83 parts3.8kApache-2.0 - 4 layers95 × 95 mm

Cube motherboard
willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels
52 parts1.1kGPL-3.0 - 2 layers54.6 × 70.9 mm

BeagleLogic Cape
abhishek-kakkar/BeagleLogic
A Software Suite that implements a logic analyzer with the PRU on the BeagleBone / BeagleBone Black.
22 parts479GPL-3.0 - 2 layers44.2 × 29.3 mm

- 4 layers142.2 × 82.6 mm

A10-A20-OLINUXINO MICRO-4GB Rev D
lachlanA/eagle-to-kicad
Eagle SCH/LIB to KiCad SCH/LIB ULP conversion script
558 parts429GPL-2.0 - 2 layers21.6 × 52.3 mm

Ps2 pico hat
No0ne/ps2x2pico
USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico
17 parts399MIT - 2 layers45 × 45 mm

AirCube
StuckAtPrototype/AirCube
Works standalone out of the box. Pairs with Home Assistant in minutes. Other platforms are supported through community-contributed extensions.
61 parts379Apache-2.0 - 4 layers74 × 104 mm
