Monthly Archives: June 2016

17 Year Cicadas Invade Northeast Ohio!

17 Year Cicadas are here!

It looks like 2016 is the year of the locust in Northeast Ohio! Well, actually, it’s the year of the 17 year cicadas. I remember them from when I was a kid, and back then we called them the 17 year locusts. I do remember them being everywhere, with their shells literally covering the ground like a carpet in places.

I’ve lived out of state until recently, but it looks like I returned to Ohio at the right time, because we have been invaded by Cicadas.

The first thing I noticed was small finger-sized holes all over the ground. I had heard we were supposed to be getting the cicadas this year, so I did some Googling to confirm it.

The Life of the 17 Year Cicadas

I learned that the Cicadas start out life as eggs laid on the limbs of a tree. When the eggs hatch, the white cicada young will feast on the fluids from the tree. This often causes some damage to the tree. Perhaps it is because of this damage that people often refer to then as locusts, even though they are actually in the cricket family.

When they have matured sufficiently, the cicadas drop to the ground. Then, they burrow into the ground to find some roots to feast on. They will stay underground for 17 years tunneling and feeding off of roots.

After 17 years they will emerge when the right conditions are met. This is usually when the soil temperatures reach 64 degrees Fahrenheit at a depth of 8 inches.

The holes shown in the picture are the exit holes they have dug to begin their adult life above ground. After they emerge, they shed their exoskeleton. These are the shells that litter the ground below trees. I’ve also seen a large number of the shells still attached to tree leaves.

Once they shed their exoskeleton, they begin their brief two week life as an adult, looking for a mate to repeat the cycle. The loud noise is made by the males trying to attract a mate. An individual cicada can reach 110 decibels if heard near your ear. I can say that at times, the sound in my neighborhood is almost at the painful level. There is strength in numbers, and cicada populations can reach 1.5 million per square acre!

Cicada Song

Why 17 Years?

There doesn’t seem to be a definitive answer to why they have the 17 year cycle. One theory is that because they have no defensive mechanisms that they appear en masse so they can survive attacks by predators. The 17 year cycle is presumed to prevent the predator population to swell because of the extra food they provide in the year they emerge. After 17 years without the extra cicada to feast on, the predator population will have presumably returned to normal size.

I can say, that even though they don’t bite, they get annoying after a week or two. They have a bad habit of confusing you for trees and landing on you. When you brush them off, they make a loud screeching sound. The first time one landed on the back of my neck and I brushed it off, the shrieking scared me half to death.

The sound of the cicadas seem to be on the decline, so I suspect the population is dropping now. They are expected to be gone by the first week in July.

Photo Gallery


Here are some sites that have everything you ever wanted to know about cicadas, and more.

Apple Abandons iAd, Unexpected Benefits for Google

Apple Inc. has announced that it is abandoning support for iAd on June 30, 2016. Developers will continue to earn revenue until that date. After that date, Apple will stop serving ads, and will provide a final payout of earnings to developers in September of 2016.

iAd was Apple’s mobile advertising platform for iOS devices like iPhone and iPad. Developers could incorporate simple iOS API’s in their mobile applications, and have ads served up by Apple. Developers received a share of the revenue produced by the ads with Apple.

According to Apple, the API’s are being deprecated, but should not cause developer’s applications to crash. Ads will simply stop being served.

Apple’s original announcement in January was very brief and did not make it clear if the API’s would serve ads from third parties. It did not seem clear from the initial posts that the change would affect developers. It sounded like iAd would still present third party ads, but that Apple was getting out of the business of soliciting and selling ads directly.

More recent posts from Apple have made it clear that this is not the case, and the API’s will no longer serve up ads, and that the API’s have, in fact, been deprecated.

Why is Apple Doing This?

Apple has apparently been unable to grow its market share in the mobile advertising business from around the 5% level, in spite of the fact that the iOS platform accounts for more than half of the mobile advertising market. In fact, it is reported that 75% of Google’s mobile ad earnings come from the iOS market.

There has been speculation that Apple, unable to grow its market share, in spite of the flourishing ad market for iOS, has decided on a new ad-free strategy, as a way to counter Google.

Consequences for Apple?

Whatever the reason, I think this is a mistake for Apple. Even if iAd was losing money, which I’m not sure it was, it is a drop in the bucket for Apple. iAd was, however, a very simple means of monetizing apps for developers, and the ads were served in a customer-friendly way.

It was a way to make the iOS platform more favorable to developers. It kept the developer in the Apple ecosystem.

Now those developers will seek a new ad platform. Most likely, it will be Google AdMob, since it is the leader in that space. Now, that ad revenue is going to one of their biggest competitors. And developers are being exposed to a small part of the Google ecosystem. That may be the “foot in the door” for Google to get those iOS-exclusive developers to finally make the jump to also support Android. It is certainly making me revisit this question.

Automated Plant Watering Using Raspberry Pi

I love house plants, but I can’t seem to keep them alive. I decided to utilize a Raspberry Pi to monitor soil moisture and re-water the plant automatically, sending alerts when the water reservoir is empty, and providing a web service that updates my home page with the latest photo (hourly).

I wanted to make this as automated as possible.  Utilizing the all-knowing Google, I have scoured the web and pieced together this Rube Goldberg device. Here’s a diagram of the basic layout:

How it’s built:

The heart of the system is a Raspberry Pi 2 Model B.  This is an amazing computer about the size of a pack of cards that only costs $35. It packs some amazing features for that price:

  • Broadcom BCM2836 ARMv7 Quad Core (900mhz)
  • 4 USB ports
  • 40 GPIO pins
  • Full HDMI port
  • Ethernet port
  • 3.5mm audio jack and composite video
  • Camera interface (CSI)
  • Display interface (DSI)
  • Micro SD card slot
  • VideoCore IV 3D graphics core

To start with, I needed to detect the moisture level so that I could determine when the plant needs watering. For this, I connected an Arduino compatible High Sensitivity Moisture Sensor. This provides an analog voltage representing the soil moisture, so it has to be converted to a digital value for use on the Raspberry Pi.

To convert the analog voltage to a digital value, I used an Adafruit 8 Channel 10 Bit Analog ADC for Raspberry Pi. This can be connected directly to the sensor and Raspberry Pi. I’ve just used a breadboard for this, but I’ll probably create a more permanent solution later.

Next, I needed a way to automatically water the plant. I needed to pump water from a reservoir whenever the plant moisture level dropped too low. I found an inexpensive pump on Amazon (Lightobject EWP-DC30A1230 Mini DC Brushless Submersible Water Pump), but I needed a way to control it from the Raspberry Pi. For that, I added a relay (SunFounder 2 Channel 5V Relay Shield Module).

I wanted to make sure that the water couldn’t overflow the plant onto the carpeting. My solution was to use a deep saucer under the plant that not only catches the excess when the plant is watered, but also serves as the reservoir for the pump. In this way, even if the pump continuously runs, the water pumped will be safely returned to the reservoir. I also decided to just use a 9v battery as the power source for the pump, so it would not be able to run indefinitely in case of a malfunction.

Finally, I needed a way to check the water level of the reservoir. So, I added another Moisture sensor and used another channel on the A/D converter to monitor that from the Pi.

I added the Pi camera so I could monitor my plant and view its beauty from anywhere on the web. (picture is updated hourly, between the hours of 8:00 AM and 5:00 PM)

For the final step, I linked the Pi to my web site, so I could view the plant, and see the latest watering information:

Actual Device

This is a a picture of the actual construction. Everything is just connected via a breadboard, for now.

How It Works

To start with, I don’t like Python, which is the de facto standard language on the Pi. The indentation rules are just wrong. My opinion. But since my Pi runs Raspian (a Linux version based on Debian), it runs a C compiler just fine. So, C it is.

I wrote a daemon which starts at boot time to control the whole system. Every hour it checks the moisture level in the plant, and the level of the reservoir. If the plant needs watering, it turns on the relay for a few seconds so the pump will water the plant. If the reservoir is empty or low, it will send me an email so that I know to refill it. At the same time, it takes a picture of the plant to record its current state.

I also wanted a way to monitor my one-plant garden from the web. Since the Pi runs Linux, I was able to install an Apache web server and PHP on the Pi. I wrote a REST service to return the watering status as a JSON string. I opened a port on my router to forward the web service requests to my Pi.

My web site, which runs ASP.NET and is written in C#, calls this REST service to get the latest watering information, which it displays on the web site, along with the latest plant picture from the Pi camera.

Sample Log Entries:

It remains to be seen if all of this technology can succeed in keeping my plant alive. I have a pretty good track record of killing houseplants (unintentionally). I’m crossing my fingers.

Update: Sep 3, 2015

Electrolysis has taken its toll on the Arduino sensor. The voltage level started dropping quickly, due to the corrosion of the probes. I’ve attached a picture showing the damage:

So I’ve scoured the web for a cheaper and easier to maintain solution, and came up with this. It is comprised of two galvanized nails, separated by a Styrofoam block, connected to the ADC with a 10k Ohm resistor in series on the ground wire. So far it seems to be working well. I’ve attached the leads to the nails by alligator clips, so when they corrode, I can simply insert new nails into the Styrofoam, and reattach the clips. Here’s a picture of the new sensor: