Skip to the content
PCBKitNew board
2 layers74 × 58.7 mmHackDoor, the printed circuit board in 3D

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

1

README

README.md

View 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

Diagram

Database 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.

json
{
  "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:

bash
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_wsgi

To remove the member server after installation:

Raspberry Pi

Secure Network IP: 172.12.123.98

bash
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-up

Web 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

text
{
  "verified" : false
}

Parts

14
QtyValueFootprintReferences
31kResistors_SMD:R_0805_HandSolderingR1, R2, R3
2Lock ButtonPin_Headers:Pin_Header_Angled_1x03P2, P5
2RFID ReaderPin_Headers:Pin_Header_Angled_1x05P1, P4
1BSS138TO_SOT_Packages_SMD:SOT-23Q1
1Lock/UnlockPin_Headers:Pin_Header_Angled_1x04P3
1RFID-ID12hackDoor:rfid-id12U1
1SW_PUSHButtons_Switches_ThroughHole:SW_PUSHSW1
1doorSensorPin_Headers:Pin_Header_Angled_1x02P7
1lockSensorPin_Headers:Pin_Header_Angled_1x03P6
1rpiPinsPin_Headers:Pin_Header_Straight_2x13pi1

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

Similar boards

  • 4 layers36 × 50.2 mmRacer, the printed circuit board in 3D

    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 mmCube motherboard, the printed circuit board in 3D

    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 mmBeagleLogic Cape, the printed circuit board in 3D

    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 mmI2c tiny usb, the printed circuit board in 3D

    I2c tiny usb

    harbaum/I2C-Tiny-USB

    Cheap and simple I²C to USB interface

    27 parts454
  • 2 layers21.6 × 52.3 mmPs2 pico hat, the printed circuit board in 3D

    Ps2 pico hat

    No0ne/ps2x2pico

    USB keyboard/mouse to PS/2 interface converter using a Raspberry Pi Pico

    17 parts399MIT
  • 2 layers45 × 45 mmAirCube, the printed circuit board in 3D

    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 mmBeepy, the printed circuit board in 3D

    Beepy

    sqfmi/beepy-hardware

    Beepy Hardware

    160 parts348MIT