My Tips for Sparkfun’s Wireless Weather Station

If you haven’t seen it already, check out Sparkfun’s guide on how to build your own weather station that reports statistics to Weather Underground ( here:

In this and my next few posts I will show how I built my station along with some extra tips and tricks that are not included in Sparkfun’s tutorial.  I will also be adding posts in the near future to expand the capability of the weather station with additional sensors.

Tip #1: It’s either the red enclosure OR the radiation shield, not both!

The full red enclosure will NOT fit inside the Ambient Weather solar radiation shield.  I would not recommend building a weather station without the solar shield because you WILL have incorrect temperature readings.  I was, however, able to utilize the cover of the red enclosure to house the components safely inside of the solar shield using some of the upcoming tips!

Tip #2: Install the male headers onto the weather sensor shield backwards

This will allow you to put the sensors outside of your enclosure to get the most accurate readings.  The photo below shows the top of the Sparkfun weather shield prior to soldering in the male headers.  I’ve used a spare proto shield on the bottom to temporarily hold everything in place while I solder.



Tip #3: Cut a hole into the red enclosure lid so the male headers of the weather sheild can attach to the rest of the components inside

Use the Sparkfun weather shield as a stencil to mark out the areas on the enclosure to remove.



Then take your time and remove the plastic so the headers and the nubs of the RJ-11 jacks fit through.  This will allow your weather shield to sit flush up against the enclosure.  Notice that I did not take my time so it looks a bit sloppy.  Use hot glue to hold it in place and create a nice seal to prevent moisture from entering the enclosure.


Tip #4: Mount a right-angle female JST to the Wireless IMP shield

This step is not specifically mentioned in the Sparkfun tutorial, however it is shown in their photos.  I made the mistake of connecting the load output of the Solar Buddy MPPT shield to the barrel jack of the Arduino because it wasn’t specifically mentioned not to.  The barrel jack expects at least 4.something volts, which the 3.7 volt LiPo battery will only produce when there is over 85% battery capacity.  Once it gets below this threshold, your wireless IMP and weather sensors will not receive enough power.  So, instead solder the right-angle female JST connector to the wireless IMP shield as shown.


Tip #5: Make blink programming easier with components mounted in the enclosure lid

As you can see, the wireless IMP sits almost flush with the edge of the enclosure, so to reprogram wireless settings you would need to remove it.  This causes unnecessary wear and tear on the components and is kind of a pain in the butt.  Instead, drill a hole directly above the center of the wireless IMP’s photo sensor, and then insert a small piece of the plastic light tube.  This allows you to re-blink the IMP from outside the case.  Note that in my photo, the hole is not directly centered.  You can ignore that.



Tip #6:  Use a 2.5mm screw terminal instead of soldering wires directly to the Sunny Buddy’s load

This step makes it easy if you need to temporarily disconnect or rewire something for testing.


Tip #7:  Use a voltage step-up module

This tip builds on Tip #4.  The 3.7 volt LiPo battery supplied will output about 4.2 volts when fully charged but as time goes on, if it’s not being recharged by the solar panel, the voltage will drop.  Once it gets below about 3.26 volts, there is not enough power to run the weather station.  I found a 5v step-up module (MOD-1017-5V) from Embedded Adventures that can take anything from 0.9v and bump it up to 5v at 1 Amp.  Simply wire the module between the Sunny Buddy load output (module’s input) and the JST connector (module’s output) on the IMP shield and you are good to go.  Or, if you are feeling ambitious, you can solder the step-up module right to the IMP shield.  If you do that you’ll also have to cut some of the traces on the back of the shield.


Tip #8:  Add a lightning sensor!

See my post on creating a Lightning Sensor Arduino Shield for instructions on how to build the shield.  Adding this shield does introduce some complexities to your weather station, so I would only recommend doing it if you are experienced with re-coding the base application.  I will be putting together full instructions on how to incorporate this shield into the weather station soon.


Thanks for viewing!  Check back later for more tips and build progress!

  1. You have any issues with getting false reading from the rain gauge? I get about 4 or 5 glitches, I ended up changing the sketch to something like this. Still does not seem very effective:

    if (raininterval > 3500 && digitalRead(RAIN) == LOW) // ignore switch-bounce glitches less than 3500mS after initial edge
    rainlast = raintime; // set up for next event
    rainlastLOW = true;
    else if(raininterval > 10 && digitalRead(RAIN) == HIGH && rainlastLOW)
    dailyrainin += 0.011; //Each dump is 0.011" of water
    rainHour[minutes] += 0.011; //Increase this minute's amount of rain
    // Serial.print("Record Rain \n");
    rainlastLOW = false;

    • Hi Steve,
      The first rain gauge I got was defective. They have very delicate internal components so it’s easy to happen. What readings are you getting when you say you have about 4 or 5 glitches? Also, they updated the github repository within the last few days. Have you tried updating your code to that and see if it works better?

    • My problem went away when I started using a 4.3v battery to power it. My battery recently died and I was back to the same issue when I had it using an 9v outlet for power.

      I finally tracked the issue down to the power draw the Electric Imp takes when it goes into a deep sleep and then wakes. Sometimes it makes a false rain reading.

      Since I’m not concerned with conserving power, I don’t put the Imp in lower power mode. I use the callout imp.wakeup() instead of letting the Imp go idle.


      This fixed my issue.

  2. Hello there

    I have a Sparkfun rain gauge and am also experiencing false readings. Have you managed to solve the problem?



  3. My false readings were due to wind tripping the bucket. Ive since moved the rain sensor to a separate, sturdier pole.

  4. Hi, I tried the Step-Up board. It did a good job raising the voltage, but it seemed to drain the battery a little bit faster.

    I wanted the longer battery life, so I removed it. My station seems to be doing just fine without it.

  5. This is a really a very good idea.. I never wondered of making one.. But now I think I need to have it. I hope it works.

  6. Hi,

    I like the weather meters , but can you use the weather meters also without the weather shield?


Reply to Steve ¬
Cancel reply

NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Warning: fsockopen() [function.fsockopen]: unable to connect to (Connection timed out) in /home/content/01/4043301/html/blog/wp-content/plugins/sweetcaptcha-revolutionary-free-captcha-service/library/sweetcaptcha.php on line 81