Crazy Blooms

I know that this post is not consistent with the topic of my blog; however with gardening to be one of my relaxing hobbies, I am inclined to share it here. Gardening has been something I do in my spare time for the past 2-3 years of my life. Nothing extreme but I would usually grow whatever could fit on my cramped apartment porch.

Now while this post isn’t directly related to my usual technology centric posts, I am actually in the process of designing and building a programmable LED plant grow system! The details of which will of course appear here when it’s time. Here are some little tidbits of my upcoming project…

  • Between 120-200 w power output.
  • Microcontroller day/night programmable.
  • 40-70 3 Watt Leds!

I am currently still waiting on parts to come in but I plan to start the build within the next month so keep posted.

I currently have lemon and orange trees indoors during the cold summer here in Georgia. These trees are fairly young with the lemon tree being three years old and the orange tree being only two. But at such a young age, they wouldn’t be able to survive any kind of real deep freeze without serious damage. I did, however, leave them outside a few too many chilly nights before bringing them indoors. To my surprise, I think they have decided among themselves that is now spring and time to flower! I am excited to see what size crop they will yield.

Bluetooth LE Struggles

So I have been working pretty hard lately trying to get this whole Bluetooth LE thing to work. I am using the adafruit Bluetooth LE board to prototype this thing. As is shown by the obvious silk screen on the board this thing is based on the Nordic nRF8001 Bluetooth chip. Datasheet here: nRF8001_PS_v1.3

The Nordic pin-out is logically connected to the board’s pin-out so there aren’t many surprises here. I have it hooked up to an mbed chip for testing and after some annoying work around involving the bit order of SPI transfer and the mbed being unable to change the mode, (Grrrr), I have both chips talking happily.


The real work, unknown to me at first, was in configuring the service pipes. At this point I have the chip successfully announcing itself to the Bluetooth universe!

ble capture

However upon connecting with a peer device I get an instant error connecting message on the peer device and this output to my serial console.

blue capture 2

These messages basically say:

  1. A connection has been established with a peer device.
  2. A new service pipe has been opened.
  3. A disconnect event with the message “Remote device failed to complete a Security Manager procedure”.

How frustrating. After ravaging the internet to figure out what this “Security Manager Procedure” is, when it should be operating in an unauthenticated bonded relationship, I fail to find a solution to this issue. Even using the setup data from adafruit’s demo code I still get this error. At this point it must be something I am just not understanding with the nRFgo Studio software and the whole idea of GATT services.

Scrutinize my code here at the mbed site. If you figure something I have missed let me know! But anyways…

…back to work I guess.

MATLAB and the Raspberry PI (An old document I dug up)

I wrote this document last year for a communications project and just found it while rummaging through some old files. Maybe it will be of use to some of you interested in advanced debugging of Raspberry Pi applications. You can take a look by clicking the link below.


An introduction from the document:

The purpose of this document is to describe the methods and benefits of using MATLAB and Simulink to analyze the physical inputs and outputs of the Raspberry Pi computer. This document is written at the level of a user who is familiar with basic electrical concepts but no exhaustive circuit’s knowledge is required. The reader should also be familiar with Linux and the Raspberry Pi.

In this guide python will be used as the scripting language since it is most commonly used for Raspberry Pi programming. Advanced knowledge of python is not required to understand this guide. A Raspbian Linux image provided by MATLAB for the Raspberry Pi will also be used. Installation and configuration is demoed under MATLAB R2013a but is similar for most versions and will be covered first.

My X-Band Motion Detector Driver for the mbed

I recently finished writing a driver for the Parallax (Simplytronics) X-Band Motion Detector for the mbed. It got approved and posted as an offical component! Take a look if you are interested.

There’s also some nice documentation I wrote up on it there and a little video!