Our Current System (September 2018 Update)

Our current system uses ESP8266 based hardware for WiFi-enabled doors, interlocks and vending machine controls.


The door and interlock control hardware is in a waterproof project storage box near each door/interlocked machine. The hardware consists of an off the shelf Sonoff Switch, a relay, and 12v power supply. All components are off the shelf and require very little soldering to assemble. This makes them easy to maintain and update in the future. Each door is secured with an electronic door strike, or maglock. The vending machines run a USB powered ESP8266 board (digistump oak) that triggers a drink dispense via a relay.

Useful Info

Author(s): Brendan (@nog3)
Current Maintainer(s): Brendan (@nog3)
Running On: Various ESP8266 based devices around HSBNE.
GitHub: Access Control


Door/Interlock Firmware

The firmware running on the Door and Interlock control boxes is stored in GitHub and uses the Arduino development environment. It was written by Brendan Halliday (@nog3). You can see the code here.

Drinks Vending Machine Firmware

The firmware running on the Vending Machine hardware is also stored in GitHub and uses the Arduino development environment. It was written by Brendan Halliday (@nog3) and updated by Jaimyn Mayer (@jabelone). You can see the code here.

Backend System (Member Portal)

Finally, our member portal is a web app written in python and runs on a server at the space. This portal contains the access control system API so that the readers can check access, debit spacebucks, etc. You can access the live portal here. More information, links to GitHub etc is available at member portal.

A history of our Access System

At HSBNE we have a few generations of dedicated networked hardware for RFID locks based on avr chips. All of them have operated with a really basic php + json flatfile db backend running on apache for the 4-5 years we've had them implemented. All have used the eeprom on the avr chip to store a db of approved cards in case the server went down for any reason (This happened a lot until we got to a premises we could designate a server room in).

First there was Snarc (http://old.hsbne.org/projects/SNARC) - It was single door focused, lacked filtering caps on the 5v and 3.3v regulators and overheated lots until we started putting rediculously huge heatsinks on it. (Yay graphics cards heatsinks!) It was also mosfet based, and the wiznet5500 module on it tended to randomly drop network, necessitating a wire fix to allow us to reset the ethernet every 5-10 minutes just in case. I believe the previous president who developed this is still trying to sell them.

Then there was Snarc+ (http://old.hsbne.org/projects/snarcplus) which is POE powered, designed by an (employed) embedded hardware guy and replaced the mosfet with a relay. For some reason it was kinda slow when it came to network comms and so you'd wait up until 30 seconds before your card ID was in the eeprom.

Now we have Netrol (http://circuitcellar.com/wp-content/uploads/2014/10/WZ1262_Project_Pic-150x150.jpg and https://github.com/lhovo/Netrol which is also designed by the same guy as the Snarc+. It's sexy, can operate 12v door strikes and bolts with ease via PoE and is a nicely integrated system at this point. We have these installed in waterproof boxes with ip67 cable glands and waterproof external potted RFID coils that talk rs232, as we ended up giving several Snarc and Snarc+ boards viking burials after someone hot glued them against plywood boards and the weather got in.

We're now running entirely on Netrols (mostly) and Snarc+ boards at 12 different endpoints within our site and I'm currently implementing zone-control code on the server end that has been needed for a while.