Who connects to random WiFi hotspots?

I do.  Even in an era of smartphones and data plans, every once in a while, I find myself searching for open WiFi hotspots.

Who else does?  I set out to find out.  I built a WiFi hotspot that served up an open-to-everyone community wall.

Community Wall Bulletin Board
Community Wall Bulletin Board

To build it, I set up my Raspberry Pi with a WiFi USB dongle, and configured it as a WiFi hotspot (with WPA security disabled).  I needed a name that would encourage people to choose my hotspot over the others in the area – “CommunityWiFi” seemed like a suitable name.

I chose to use my Raspberry Pi because:

  • its cheap enough I could leave it anywhere without worrying about it getting stolen
  • its small
  • it can run off a USB battery pack, so it can be taken anywhere

But there’s nothing special about this hardware setup – you could set this up with any laptop, a hacked Android phone, or home router.

The system is setup with a DHCP server, a DNS server (dnsmasq) configured to redirect all dns requests to the Pi, and a webserver  configured to send all requests to the Community Wall page.  The Community Wall consists of a couple PHP pages backed by SQLite.

Once the user attempts to visit any web page while connected to the hotspot,  the system will direct them to the Community Wall, where they can read and post messages.

I took the system to our local library one morning.  I tested it out with my smartphone, and everything worked great, but I received no posts over the hour or so I had it running.  This is likely because most library users will have already saved the connection to the library’s own WiFi.  I will be trying this out in other busy areas, without free wifi, and report back.

Some people have taken this idea much further than myself – check out PirateBox by David Darts.  A PirateBox is a mobile WiFi hotspot that allows any user to connect, chat with other connected users, and share files.

Download Community Wall Project Files


Homemade Dance Dance Revolution Mat

It’s been a long winter.  I love taking the kids outdoors, even when it’s cold, but sometimes, it can be fun to play indoors too.  I haven’t acquired a game machine, the kids haven’t expressed much interest in playing video games, but we DID have fun playing a Dance Dance Revolution (DDR) type game at an arcade in hotel we stayed at once.  What would it take to play at home?

Searching around, I came across StepMania, an open-source, DDR type game.  I thought I’d look for a used mat on Craigslist, but when I started researching dance mats, I was surprised to see that many people actually preferred homemade mats over the cheap roll-up mats.

The simplest designs I came across measured the capacitance of the body on aluminium foil to detect steps.  I took a cardboard box from our closet, some sheets of aluminium foil, connected the foil to some resistors, connected to an Arduino.  I covered the aluminium foil with packing tape.  What’s cool with this design is I had everything in the house already, except suitably sized resistors, so the whole thing cost me $1 (plus tax).

Can you tell that it's home made?
Can you tell that it’s home made?
There’s an Arduino library (CapSense) that makes measuring capacitance really easy, and I found firmware called “Big Joystick”  that makes the Arduino UNO appear as a regular, USB, HID joystick.  Detecting steps works really well, and the whole thing works flawlessly with Stepmania.

What I didn’t get right was the positioning of the pads – it seems harder to get the steps/combinations right than I remember it being at the arcade.  Lisa thinks they are too far apart. But other than that, the sensors work really well.

Lisa and Rachel playing StepMania
Lisa and Rachel playing StepMania

I’m trying to think of other applications where a large “switch” like this one would be useful.  With the right configuration, these sensors will also sense proximity – not just touch.

Dance Mat Interface
Dance Mat Interface

Download Dance Mat Project Files