door_access_controllers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
door_access_controllers [2019-02-24 00:35] – tim | door_access_controllers [2023-04-08 10:05] – tim | ||
---|---|---|---|
Line 5: | Line 5: | ||
The Hacklab door controllers are based on an ESP8266 wifi microcontroller and a PN532 NFC reader module. One controller is installed for each door, and each controller can operate a single 12V channel for an electric door release or magnetic lock. Inputs can be connected for door open/closed reed switch, exit request and local lock/unlock " | The Hacklab door controllers are based on an ESP8266 wifi microcontroller and a PN532 NFC reader module. One controller is installed for each door, and each controller can operate a single 12V channel for an electric door release or magnetic lock. Inputs can be connected for door open/closed reed switch, exit request and local lock/unlock " | ||
- | ===== PCB ===== | + | ===== PCB v2 ===== |
- | https:// | + | https:// |
^ Reference ^ Component ^ Farnell ^ | ^ Reference ^ Component ^ Farnell ^ | ||
Line 32: | Line 32: | ||
Errata: a generic through-hole flyback diode should be fitted between GND and 12V_OUT, on the underside of the screw terminal. | Errata: a generic through-hole flyback diode should be fitted between GND and 12V_OUT, on the underside of the screw terminal. | ||
+ | |||
+ | ===== PCB v4 ===== | ||
+ | |||
+ | https:// | ||
+ | |||
+ | * Removed custom 12V-3.3V converter circuit | ||
+ | * Replaced with standard 12V-5V converter and 5V-3.3V LDO | ||
+ | * I2C devices running on 5V instead of 3.3V | ||
+ | * Removed LED series resistor (appropriate resistors must be used at installation time) | ||
+ | * Replace relay diode with M7 | ||
+ | * Added flyback diode to 12V relay output | ||
+ | * Removed ESD protection diodes | ||
+ | * Removed 3.3V connection from FTDI connector | ||
+ | * Solder jumpers for no-volt relay output | ||
+ | |||
+ | ^ Reference ^ Component ^ | ||
+ | | C1 | 0805 10uF 25V | | ||
+ | | C2 | 0805 10uF 10V | | ||
+ | | C3 | 0805 10uF 6.3V | | ||
+ | | C4 | 0603 0.1uF 6.3V | | ||
+ | | D1 | S1M+ | | ||
+ | | D2 | S1M+ | | ||
+ | | JP1 | PCB male header 2.54mm pitch 3-way | | ||
+ | | JP2 | PCB male header 2.54mm pitch 2-way | | ||
+ | | P1, P2, P3 | PCB screw terminals 5.08mm pitch 2-way (9 total) | | ||
+ | | P4 | PCB male header 2.54mm pitch 6-way | | ||
+ | | Q1, Q2 | MOSFET-N SOT-23 (e.g. On Semi FDV303N) | | ||
+ | | R6 | 0603 10K | | ||
+ | | R7 | 0603 31K6 | | ||
+ | | R8 | 0603 2K2 | | ||
+ | | R9 | 0603 10K | | ||
+ | | R10 | 0603 10K | | ||
+ | | R11 | 0603 10K | | ||
+ | | R12 | 0603 4K7 | | ||
+ | | R13 | 0603 4K7 | | ||
+ | | R14 | 0603 10K | | ||
+ | | SW1 | EVQPT5 tactile switch | | ||
+ | | U1 | Recom R-78E5.0-1.0 | | ||
+ | | U2 | Songle SRD-12VDC-SL-C | | ||
+ | | U3 | ESP-12E or ESP-12F | | ||
+ | | U4 | SPX3819M5-L-3-3/ | ||
+ | |||
+ | ===== PCB ESP32 (draft) ===== | ||
+ | |||
+ | This is draft design for migrating to ESP32. | ||
+ | |||
+ | Goals: | ||
+ | * ESP32 series | ||
+ | * compatibility with existing wiring | ||
+ | * fit into the existing plastic enclosures | ||
+ | * nice to haves: | ||
+ | * fit existing enclosures better | ||
+ | * make wiring easier | ||
+ | * allow for future flexibility | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | What's changed: | ||
+ | * PCB is bigger, designed to screw into the enclosure as the manufacturer intended | ||
+ | * Uses the ESP32-S3-WROOM-1 module | ||
+ | * available with large flash/ram | ||
+ | * supports circuitpython | ||
+ | * supports native USB | ||
+ | * USB-C connector (plus optional UART pinout for low-level debugging) | ||
+ | * Pluggable 3.5mm terminal blocks for easier wiring (can be replaced with fixed blocks to reduce costs) | ||
+ | * MOSFET instead of relay (smaller, cheaper, probably more reliable) | ||
+ | * Dropped the PN532 reset pin in favour of a switchable power output (one less wire to manage) | ||
+ | * Reader connector has spare pins for existing LED and buzzer, but future readers can be I2C only for even less wiring | ||
+ | * Onboard RGB LED (will use with a light-pipe to eliminate the wiring for the current LED) | ||
+ | * Onboard buzzer | ||
+ | * Exit/ | ||
+ | * One I/O also has a power pin (e.g. to run the touch door handle) | ||
+ | * Optional Stemma QT (I2C) connector | ||
===== Controller Unit ===== | ===== Controller Unit ===== | ||
Line 42: | Line 117: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * Laser-cut mounting plate: {{: | + | * Laser-cut mounting plate: {{: |
{{: | {{: | ||
Line 64: | Line 139: | ||
===== Reader Unit ===== | ===== Reader Unit ===== | ||
+ | |||
+ | ==== Version 1 ==== | ||
CAD files: {{: | CAD files: {{: | ||
Line 76: | Line 153: | ||
* 3mm blue LED | * 3mm blue LED | ||
- | * 120R resistor (this is low, but an additional resistor is used on the controller PCB) | + | * 120R resistor (or higher) |
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
- | * Cat 5 or other cable with at least 7 cores | + | * Alarm cable with at least 7 cores (Cat5 can be used but is not recommended) |
The reader enclosure is formed from three layers of 3mm black acrylic. The layers should be joined with cyanoacrylate adhesive. | The reader enclosure is formed from three layers of 3mm black acrylic. The layers should be joined with cyanoacrylate adhesive. | ||
Line 87: | Line 164: | ||
Bend and cut the LED leads to the correct shape and length. Solder the LED and cable before gluing the module into the enclosure. | Bend and cut the LED leads to the correct shape and length. Solder the LED and cable before gluing the module into the enclosure. | ||
- | Cat 5 cable colours: | + | Cable colours |
- | | blue | GND | | + | ^ Pin ^ G1/G2/G8 ^ G11 (and photos) ^ Alarm Wire ^ |
- | | green | VCC | | + | | GND | blue | blue | black | |
- | | brown | RST | | + | | VCC | green | orange |
- | | orange | SDA | | + | | SDA | orange | green | yellow |
- | | white-green | SCL | | + | | SCL | white-green | white-green | blue | |
- | | white-brown | LED +ve | | + | | RST | brown | brown | green | |
- | | white-blue | Piezo | | + | | LED +ve | white-brown |
- | | white-orange | + | | Piezo | white-blue | white-blue | white | |
- | Note that on the G11 door and **in the photos**, orange=VCC and green=SDA. | + | The LED should be connected between LED and GND, with a 120R series resistor. To avoid damaging |
- | The LED should be connected between white-brown and GND (blue), with a 120R series resistor. To avoid damaging the LED, use hot-melt glue to secure it in place (not cyanoacrylate). | + | The piezo should be connected between |
- | + | ||
- | The piezo should be connected between | + | |
Test the reader and controller together before securing the reader to the wall with double-sided adhesive foam tape. | Test the reader and controller together before securing the reader to the wall with double-sided adhesive foam tape. | ||
+ | |||
+ | ==== Version 2 ==== | ||
+ | |||
+ | The goal of this version is to make the assembly process easier and more reliable. | ||
+ | |||
+ | It consists of a laser-cut acrylic plate that fits over a standard 1-gang UK electrical box. A PCB is glued to the inside of the plate, and this PCB integrates the PN532 module, buzzer, LED and wiring connections. | ||
+ | |||
+ | CAD files: {{: | ||
+ | PCB files: https:// | ||
===== Software ===== | ===== Software ===== | ||
- | Two versions of firmware | + | [[https:// |
+ | [[https:// | ||
- | Common features: | + | Features: |
* Ability to read any 13.54MHz ISO-14443 Type A token including MIFARE Classic/ | * Ability to read any 13.54MHz ISO-14443 Type A token including MIFARE Classic/ | ||
Line 120: | Line 205: | ||
* Remote enable/ | * Remote enable/ | ||
* Input DC voltage measurement, | * Input DC voltage measurement, | ||
- | + | * TLS-enabled TCP networking | |
- | Legacy/ | + | |
- | + | ||
- | New: A new firmware and back-end use TLS-enabled TCP networking, so do not require a special wifi network. The modern codebase is better-written, | + | |
door_access_controllers.txt · Last modified: 2023-04-08 10:24 by tim