raspiBadger Project

***Incomplete instructions – Work in Progress***


raspiBadger is firstly, an inexpensive sensor network in the range of $10 per badge.  The goal is a complete IoT solution for deploying remote sensors (badges) that report sensor data to a central database and can be poked, to act or report, via a web interface.  There are several great tutorials already published but they are light on detail and function.  My goal is to provide a one stop starting point for people like me that want two-way communication, IoT, storage, and low cost sensors.

The initial concept revolves around the deployment of badges at a large gathering/conference which will have a RGB LED and vibration sensor. In the next iteration, a RFID tag would be associated with each badge via the database for additional environmental data such as voting, booth bookmarking, personal networking.

Further on, detailed examples with specific sensors such as: moisture, temperature, battery V, etc.


raspiBadger Communicator:

A Raspberry Pi which serves a web interface to the local network or Internet, receives and transmits commands to the badges, and stores the information in a MySQL database (local or remote).


An Arduino pro mini 3.3v/8Mhz, nRF24L01+ Module, 5mm RGB LED, and vibration sensor.  Once the proof of concept is complete, I’d like to try making a board which combines the ATMega328p, nRF24L01+, and RGB LED in a matchstick sized board


Prepare your Raspberry Pi

– Create raspbian image.  Boot up and configure raspbian:

Set User Password
Under Advanced Options – Set Hostname if desired, and Enable SSH.

Change user:

sudo useradd -m badger
sudo password badger
sudo nano /etc/group     //add new user after every pi,badger//
exit     //log in as new user//
userdel pi //remove default user//

Enable Internet access. (for wired network, connect cable to router/hub and you’re good) For Wi-Fi:

Using the GUI – type ‘startx’ and set up your wireless network using the link on the desktop.

Using the command line, try these resources –



On issue I had with using the command line was that I tried using TKIP when my connection actually used CCMP. This caused major lockups until I used the GUI method to do it the right way. (or more accurately, figured out I was doing it wrong in the first place)


Install LAMP server for Raspberry Pi


Install RF24 Library


Install C++/MySQL Library


raspiBadger Arduino Sketch

Leave a Reply

Your email address will not be published.


This site uses Akismet to reduce spam. Learn how your comment data is processed.