Wednesday, March 27, 2013

Raspberry Pi Mouser

I've taken a bit of a hiatus from the mousetrap project I began a few months ago. There were a couple of reasons for it, one of which was my disappointment with the range of the XBee connection, the other was short battery life of the traps. I believe I have now solved both of those problems.

Raspberry Pi
I've had issues with other 2.4 GHz transceivers in my home. Perhaps it is a noisy environment, or maybe it is walls lined with heavy metals. For whatever reason, my receiver would report very low RSSI readings from my mousetraps' transmitters when the transmitters were in the attic and garage and the receiver was in the office. In fact, some reports never made it to the receiver causing the logic of the software to timeout and set the mousetrap as offline.

I decided I needed to move the receiver to a more central location in my home (I also had to do the same thing with my Wifi AP). However I didn't want to drag a laptop or PC with it, so I opted to use a Raspberry Pi (raspi) board. The end result looks like this:
RaspberryPi in a case with XBee

The raspi has a nasty USB issue that gives me grief every time I attempt to use the USB ports for anything more than keyboards or mice. In fact, my adafruit usb to XBee adapter did not work when plugged into the raspi. I decided that if I was going to use the raspi I would need to use the built-in serial headers and enclose it inside a nice package. The plan was to place this somewhere central and I didn't want a bag of parts to be just hanging out.

My raspi Bill of Materials (BoM):
  1. RaspberryPi Model B 512MB RAM
  2. Slice Of Pi Breakout Board
  3. pIO - microSD card adapter
  4. Stealth Black Case from ModMyPi
These items are all available at http://www.modmypi.com (no disclosure needed, just a happy customer) as well as other places around the web. The nice thing about the breakout board is that it comes with the PCB traces and headers required for the raspi to communicate with the XBee. The only thing I needed to do was solder the main header which plugs into the raspi and the smaller headers used for the XBee.
Components of the Raspberry Pi Mousetrap
Take a close look at the next image. Notice how the breakout board sits at an angle:
Raspberry Pi with Breakout Board

Here is the point that I want to make: The case from ModMyPi is very well done and completes the setup very nicely. However with the extra standoffs from the XBee module it will not snap together completely. I debated for about 30 minutes if I was willing to solder the XBee directly to the breakout board, but ultimately decided against it because this is still a "project" and I often hook the XBees to X-CTU for configuration. If I had soldered the XBee down, I wouldn't be able to connect it to the special breakout board which the XBees plug in to for programming.

To get everything to fit, I first ensured that as much of the breakout board as possible was as low as possible, which is why I soldered the header at an angle. Next, the ABS plastic used in the case was pretty thick and I was able to grind out enough material on the underside of top so that the XBee board no longer kept the case from snapping together. Here is picture of the underside of the top of the case:
The arrow shows the hole that was drilled to allow the XBee antenna to protrude through the top of the case. The ground out area is where I used a Dremel tool to carve out enough material for the case to snap together. It isn't very pretty on the underside, but you'd never know it looking from the top! It would be nice if ModMyPi offered an extended case where the top was taller, then I would not have had this issue.

Here are some pictures of the final product in operation (notice the pIO microSD adapter shown in the first picture):


Battery Life
It turns out that XBees use a bit of power! Even using them to wake at intervals uses more power than I expected. I've revamped the settings to poll the Victor traps less frequently, which gives much longer battery life (still testing this). In the next entry, I will discuss and post the final python code, XBee settings, and raspi options needed to be able to use the built in serial headers in user code.

Stay Tuned!

Monday, March 18, 2013

Aeroquad Multicopter

One of my latest areas of interest are multi-rotor flying vehicles. I've been interested in them for awhile, but never enough to get serious. Then last year I saw a video of a quadcopter on some website showing someone FPV (First Person View) flying around in Paris. It renewed my interested once again. This time, however, I was determined to get into the hobby.

My philosophy on hardware and software is to look for something that isn't closed. This means that I don't want to spend my money or time on a platform that is controlled by a single entity with no way to improve the platform should that single entity decides to quit. I used my best Google Foo and stumbled upon AeroQuad (http://aeroquad.com). This is a project that was started by an individual but has quite a following of folks working on various parts of the platform as part of their hobby. The software and hardware are both opensource!

I decided to go with the Typhoon ARF (almost ready to fly) kit because I'm new to this hobby and I didn't feel like sourcing everything myself. The ARF kit includes everything you need except for transmitter and batteries, so it doesn't take long to get ready to fly.

Here are a couple of pictures of the build in progress:




Although this hobby can be a bit pricey, it was a fun and easy build. Stay tuned for flying pictures!