Category:Occupancy Sensor

From HacDC Wiki
Jump to navigation Jump to search

HacDC's occupancy sensor platform, also providing RFID acess.


WRT54GL based occupancy sensor provided valid data for a few years, before HacDC moved down the hall.

NetPLC has been tested, ready for installation.


NetPLC Core.jpg




  • Ex1: RJ45 jack providing hardware serial TX/RX, Vcc, Vee, and four generic analog/digital IO pins. RFID signal connections are attached here.
  • Ex2-Ex3: RJ45 jacks each providing Vcc, Vee, and two generic analog/digital IO pins. Consider using S/FTP cable and differential signaling for maximum integrity.
  • BAT: External power input, currently connected directly to USB. Used as a 5V power source for RFID reader.
  • ENC28J60: Ethernet network connecitivty. Also supports preassembled ENC28J60 modules.
  • RN171/XBee Footprint: Generic RN-171 and XBee mounting pads for built-in wireless connectivity. Not used, partly due to ATMega32U4 flash size limitations.


  • Signal ethernet cable, latch open and UART RX.
  • Power ethernet cable, 12V and 5V.
  • Two wire solenoid latch power.



The WYSE terminal labeled "NetPLC-Workstation" has been provided a bootable Knoppix USB stick with a simple serial-terminal interactive shell script. With the workstation turned on, and NetPLC hardware connected by USB, type "" to begin.


Configuration is by command-line interface (CLI). Type "commands" for the built-in reference, or check the source. Parameters are separated by tabs only.


Some of the fimware-included commands are as follows.

addMember <shortName> <tagID> <1/0>
delMember <recno>
enableMember <recno>
disableMember <recno>

Note the database is limited to short names and about 50 members, at ~500B EEPROM storage.

Planned Upgrades

  • ) SD card support is easy to provide to AVR/Arduino platforms, offering virtually unlimited storage capacity.
  • ) RN171 (WiFi) should be moved to software serial port, completely freeing the hardware UART for external peripherials.
  • ) An ATmega2560, rather than ATMega32U4, would offer enough flash space to include telnet-style networked CLI functionality alongside existing requirements.


Router based occupancy sensor is on the way out. Lack of a crystal oscillator does not guarantee operation internal communication with the microcontroller when significantly beyond room temperature.


Wired network configuration is set to DHCP, wireless configuration can be set by connecting a computer to the LAN interface. Microcontroller communication can be verified by watching the TX/RX LEDs, which should blink every minute or so. Detected occupancy sensor status is reported through onboard LED labeled "OCC".


HacDC's occupancy sensor has been an evolving project, with several generations of hardware and software contributed by many members. In addition to the hardware designs listed below, members like "haxwithaxe" and "eryc" have contributed supporting infrastructure like WOPR.


Open-source hardware designed by mirage335. Both RFID and Occupancy Sensing functions are supported. Compatible with Arduino Leonardo bootloader, based on an ATMega32U4 microcontroller, with on-board provisions for wired and wireless connectivity.


Second occupancy sensor, configured by mirage335, using a WRT54GL with barebones AVR chip hardwired to internal serial TX/RX pads. Data was relayed directly to internet resources (eg. front page icon) by the router over wired and/or wireless connectivity as available.


First occupancy sensor was configured by Martin, consisting of an Arduino, a Radioshack photoresistor (276-1657) and a Quest passive infrared motion detector. Data was retrieved by a desktop computer via USB, then published to internet resources (eg. Google Calendar).


Martin Rothfield haxwithaxe eryc Many More

Pages in category "Occupancy Sensor"

The following 3 pages are in this category, out of 3 total.