A couple years ago as I was first investigating IoT plans from various cell carriers, I threw together a small Raspberry Pi based remote webcam and left it in the woods over winter. It worked well for several months, and then died due to an SD card failure in the Pi. The lessons learned, as well as a few improvements I had been thinking on have come together into version two.
A higher quality, more robust SD card was chosen for the Pi, and the main filesystem was made read-only to reduce chances of failure. An USB stick was attached to store the images separate from the boot OS to keep the write activity separate. A new LTE capable cell modem was selected to improve performance and potentially give better coverage with most focus these days on LTE networks rather than the older 3G networks. Finally, a custom control board was designed and built which handles MPPT (approximation) solar charging, battery management, timekeeping and alarms to wake the Pi on schedule, several environmental sensors, and finally the power regulation to run the Pi and cell modem from a LiPo battery.
It is currently surviving the winter at ~4000′ elevation on a mountain top, and is working extremely well. Future improvements will bring cost reduction so I can deploy more of them, and potentially some feature enhancements like infrared capabilities to capture photos at night, which I’ve found is often when significant weather events happen, and would be interesting to see.
I’ve had a cheap Predator generator from Harbor Freight for a few years now. They’re cheap, and handy to have for camping/remote projects like Black Rock, or more locally, keeping the lights on, furnace blowing, and fridge cold if the power goes out at home.
Traditionally, these sorts of inexpensive generators operate on gasoline, which is easy, energy dense, and portable. However, there are downsides to relying on gasoline for backup or infrequent operations. Gas going bad, gathering water, clogging up the carburetor are all day ruining potentials when you’re trying to rely on the system when things have already failed, or there are no other options.
This leaves you in the endless dance of putting fuel stabilizer in, running the engine regularly, making sure that the gas hasn’t gotten too old because you don’t burn very much at a time, choreographing the generator shutdown to eliminate or reduce the amount of gas left in the carburetor.
Fortunately there are other fuels that don’t have the storage/fouling problems, and can with a little bit of adaptation, run in a conventional engine. In this case, we’re talking about propane and natural gas. Propane is easy to find at your local hardware store and many gas stations, you probably already have some for your barbecue grill, and potentially have a larger tank at your house for heating or cooking use already. Natural Gas comes to your home (if you have it), piped underground in effectively unlimited supply, irrespective of whether the hardware store is open, or the power is out. Natural Gas isn’t quite the portable option that Propane is, and is likely a bit harder to tap into your home’s Natural Gas piping, if you have a fixed backup generator, it’s a great potential.
I found a simple kit which adds Propane and Natural Gas capability to my generator, while maintaining the option to use Gasoline. This very much appealed to me as I could still use gasoline if I took the generator portable down to Black Rock or elsewhere, but most of the time at home use Propane for backup services and avoid having the generator sit full of gas waiting to go bad. It also left using my home’s Natural Gas service as an option, though it’s not high on my priority list.
The kit comes with all the various bits needed for the conversion, though some tools, and a spare bit of scrap metal were required. In the case of my particular model of generator, some frame modifications were also necessary.
The conversion involves placing an extra block for the mixed gasses to enter the carburetor between the carb and the air box. Because of the design of my generator, this pushes the air box out into where the frame would be, requiring cutting away some of the frame, and reinforcing with a bit of scrap metal. Finally adding the regulator and small bit of plumbing completes the conversion.
A small bit of tuning the fuel mix after install to get it running well, and now I’ve got a generator I can leave worry free, and know it won’t be clogged up, or full of bad gas next time the power goes out.
A local friend recently was doing some work upgrading some solar panels at a remote site he has, and offered me the older panels that weren’t optimized for his setup. I decided I’d pick them up and mount them on the shed to form a better, more permanent installation than I had previously, with a few random panels effectively just sitting in the yard.
They are slightly mismatched, but all 12V style panels, so close enough to work for my small needs. I replaced the cabling, and wired them all in series. With open circuit voltage on “12V” panels being ~21V, the six in series could generate about 126VDC. Fortunately I have a charge controller capable of handling that (TriStar MPPT-30). That feeds into a 100Ah lead acid deep cycle battery, and powers an inverter for some lights when required, and a small buck converter to run a Raspberry Pi out in the shed.
Overall the system is about 700W of total panels, by no means ideally placed or angled, so real generation is a fair bit less, but it’s enough for the very modest use I need in the shed, and it’s nice not to have to run an extension cord to run the lights for a few. I’d still like to add a bit more battery capacity, minimizing depth of discharge on lead acid batteries very much limits actual usage, but that can come later.
Mounting was accomplished with two ‘vertical’ rails of unistrut in the same direction as the ribs in the metal roofing, and then four horizontal unistrut rails to actually attach the panels to. A standard weather head from the hardware store brings the cables inside neatly.
In the past I’ve posted about my experiments in receiving the image broadcasts from the POES polar orbiting weather satellites. These satellites are an interesting resource and have had a low barrier to entry for a long time, being able to use mostly conventional antennas and receivers with minimal or no extra hardware required.
They’re a great resource for getting local-ish, low to medium resolution imagery. However as they’re in polar orbits, they also come with a few drawbacks. You can only ever get images of where you are, they’re not always overhead, and getting good imagery at low elevation angles can sometimes require expensive azimuth-elevation rotators to track the moving satellite, or complex antenna designs.
Since the time of playing with these satellites, I’ve had an interest rolling around in the back of my head to try picking up the GOES series geostationary satellites. These satellites take full disk images of the earth at high resolution, and sit at a fixed position in the sky. However they require non-typical antennas, preamplifiers and filters, and a receiver capable of taking in a bit more than 1.2MHz of bandwidth at 1694.1MHz.
Fortunately recent years, and some clever folks, have brought these items into easy and inexpensive accessibility. As such I’ve set up a receiver station. Here’s the setup I’m using to receive photos like this one off the air.
Antenna First let’s touch on the antenna. A high gain antenna with an operating frequency around 1.7GHz is going to be required. I’ve seen reports that a 1 meter parabolic dish is considered the minimum, which I’ve confirmed does work for my testing. However to get improved signal quality a larger dish is desirable. It’s a bit cobbled together, but my current dish is probably in the range of 1.5 meters.
Very few commercial dishes are available currently in this frequency range. There are a number of references to an L-Com branded dish working in various other write ups on this topic, however that dish appears to be unavailable at this point. The alternatives I’ve found are this 1.7GHz dish that as of this time still seems to be available. Or modifying a readily available 2.4GHz wifi dish like this one.
The commercial 1.7 GHz dish can be used out of the box. The 2.4GHz wifi dish will need some slight modifications. Others have posted modifications of bending the subreflector to be more shallow, which in my case I have found to be best at nearly flat. The second modification is to use a small bit of PVC pipe to extend the subreflector out approximately one inch, which I have also found as an improvement. The third modification I completed which may not be strictly necessary, but seems to help in my case, was to cut open the black plastic antenna housing, and extend the dipole legs to match a 1.7GHz frequency. Other reports on using this antenna have had success without making this modification, so I would not consider it a hard requirement. You can see these modifications in this photo.
As noted above, I have also cobbled the antenna a bit to extend the parabola to get more gain from the antenna. I used some additional grid dish sections from another unused antenna, and attached them with hose clamps. See here.
Pointing the antenna is quite critical. A very small deviation in aim will dramatically impact signal. It’s important to get the rough aim set with a compass and angle gauge, then fine tune by adjusting tiny increments while watching the reported signal values. Tools like https://www.dishpointer.com/ will help you get approximately pointed. In my case I’m aimed at GOES West, which is at 137.2 West.
Preamplifier & Filter The next step in the RF chain is something to filter out unwanted noise and boost the desired signal levels. Fortunately this step is an easy one. NooElec, a supplier of a number of SDR related gizmos have custom made a preamp and filter gadget specifically for this purpose at a hobby friendly price. Check out the SAWbird+ GOES.
Software Defined Radio The final step in our RF chain will be the SDR receiver. These are commonplace these days in the hobby and can be had inexpensively. However not all are created equal. On the SAWbird+ GOES page, they reference this receiver, and I believe it should work and others have had luck with it. Perhaps I got a bad one, but I was unable to get it to perform well. I have ended up using this receiver, which is a bit cheaper and seems to work well in my case.
Computer Obviously, the SDR will need a computer to plug into. Just about any will do, and a number of folks (including myself) use a Raspberry Pi board for this task. I would recommend at minimum the model 3B+, but would suggest the Raspberry Pi 4 to make sure you have enough CPU power, as the SDR is rather CPU intensive.
The SAWbird+ Goes, SDR, and Raspberry Pi all got installed in a weatherproof enclosure near the antenna to minimize signal losses in the cabling.
Software Finally comes the software you run on the computer, which listens to the SDR, and decodes the signals, and processes them into images. There are some commercial software suites available for this, but I have used an open source setup called goestools. I’m not going to rehash their guides on compiling and installing, as they’ve got reasonable guides available. I will note some ‘gotchas’ I have run into.
The software is split into two utilities you’ll use in concert. ‘goesrecv’ actually listens to the SDR and decodes the RF into data packets. ‘goesproc’ will take in those data packets and process them into images and text files as relevant.
I have found goesrecv does not report when there isn’t enough CPU power and it ends up dropping samples from the SDR. This issue ends up presenting like goesrecv reports poor signal. A particular signature I saw is that signal numbers would be good for a second or two, and then go bad as it wasn’t able to keep up. I’m not certain that signature is universally applicable, but it showed up for me. I addressed this issue by making sure I had a reasonably powerful Pi, and setting the sample_rate parameter in the configuration file lower. You can’t go too low until you start cutting out the signal itself. I have mine set to ‘sample_rate = 1300000’.
The gain parameter for goesrecv is also critical. You’ll need to find a value that works best for your particular setup. I suspect the typical will be around ‘gain = 30’, but trying values between 0 and 50, and then seeing what the signal values look like will tell you where yours needs to be.
Options for goesproc are significantly less fiddly, and mostly consist of what images you want saved and where. My configuration is largely based on this example from the repo.