An open source access control system based on Raspberry Pi

Similar projects worth following
This system is used at Lowell Makes to control access to the space. It was designed to use low cost raspberry pi's versus overpriced commercial hardware. While documentation isn't in a great state, it's fully open source. The goal of the system is to make managing access based on membership status as simple as possible. It integrates with PayPal IPN to allow automatic access control based on subscriptions or manual payments of memberships.

Would love someone with better UX/UI skills to help improve the web interface.

This allows members to create a login to the webpage and pay for their membership through there with PayPal (either manually each period or with a subscription). For those managing the space the admin logins allow managing membership types, prices, duration, etc as well as assigning RFID cards/fobs to peoples accounts.

The typical way this works is that you create a nodes for the doors of your space and set access to them based on a specific membership type and time or just having any valid membership. When a person has paid (in cash and manually entered by an admin or via paypal themselves) for a membership the system keeps track of your status with a database and only lets people in if they've actually paid. You can also just give people or groups of people access (possibly with time/date constraints) or just make the door be unlocked automatically during "open" hours or for events.

I want to expand the system to include mobile apps (basically a better interface for the site on phones, either mobile friendly web-app or native apps) and better accounting integration. It would be great if payments could be through multiple different providers (based on what you might want to use) as well as integrate into Quickbook or other accounting software to keep the accounting of member management simplified. Finally making nodes capable of integrating and doing more things like working with vending machines, or controlling access to machines as well as doors.

  • 1 × Raspberry Pi Started with a Pi B, but B+'s have been used and the Pi 2 should work as well
  • 1 × PN532 NFC RFID Board Small, cheap board for NFC reading with libNFC
  • 1 × PoE Adapters To disrribute power to each Pi from a central location with a UPS for battery backup

  • New RFID Cover Design

    Patrick07/28/2016 at 18:24 0 comments

    I still need to test to make sure it fits together after 3D printing, but I've designed a new cover for the RFID electronics. This should make it much easier to assemble the electronics for the badge reader and much easier to mount to the wall.

    I also took the time to use a better tool. Instead of old reliable OpenSCAD, I've switched to using Onshape as they offer free access to a quality CAD system online! It's a bit more intense to do real parametric modeling, but way easier to work with than OpenSCAD once the design gets any complexity. Check it out! I've put a link to my document (available for free to everyone) on the github readme.

  • Membership Update

    Patrick07/22/2015 at 16:23 0 comments

    Currently most of the way through a membership tracking/management update to the site that separates memberships from membership credits and allows a single membership to be "used" by multiple people. The existing system has a single table called memberships that has a line for every paid membership period. The problem is our makerspace currently offers a membership that allows 2 people access. So we have used 2 different hacks for this, one is to only have the paying member sign up and then just issue another RFID card under that membership to the second person. The other is to have both sign up and manually duplicate all the memberships for both people. Both suck, so I wanted to create the ability for a membership to be "assigned" to people. Also for myself I'm paying for multiple people in my startup to have access, and I basically have to do everything manually, which is a pain. So to be able to have an on going membership that gets paid but consistently lets multiple people in the door with minimal interaction, I changed the database to have memberships, membership credits, and memebrship users. This way a person can potentially have multiple memberships each month that are tied to different people. This also means that a company can pay for a membership for N people and manage it however they like.


View all 2 project logs

Enjoy this project?



Jarrett wrote 07/22/2015 at 02:00 point

Ah, the hackspace membership system. The holy grail :)

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates