Encoding security camera stills to video

You can’t do much better for still image compression than JPEG. Video codecs use the high redundancy of images in time to get better compression when compressing a series of images.

I wanted to archive images from my home security cameras (which save still JPEGs over FTP to a Raspberry Pi) and save some disk space so I whipped up a script to pull them down and transcode them to video.

Continue reading Encoding security camera stills to video

Headlight for elBoda

My primary transportation is an elBodaBoda electric assist cargo bike from Yuba bikes. It’s a great bike and a real car replacement with cargo and passenger capacity. The electric system comes with a tail light but no head light. It does however include an auxiliary power output that supplies 6V whenever the tail light (and control panel back light) is switched on. So I headed down to my local makerspace and quickly whipped up a headlight.

Continue reading Headlight for elBoda

Guidelines for writing code for the ESP8266

Espressif’s ESP8266 WiFi SoC is an increasingly popular chip for Internet of Things projects, both hobby and professional, because it combines a capable MCU with a WiFi radio in a single chip for an amazingly low cost. It’s received a lot of attention in many blogs but I wanted to give a little bit more technical depth on the MCU architecture and my best practices for programming it. There are some idiosyncrasies which have to be taken into account when programming to get the most out of the SoC.

Continue reading Guidelines for writing code for the ESP8266

Fixing the ¢2 of plastic that broke my microwave

The door on my microwave oven suddenly stopped latching securely and the internal switch that detects the door being closed ceased to register. My wife and I were annoyed because this seemed like a very inexpensive cheap part of the microwave breaking and taking our a rather expensive appliance. So, time to fix it ourselves.
Continue reading Fixing the ¢2 of plastic that broke my microwave

ROSCore as Daemon on OSX

Any ROS based system needs ROSCore running to provide the basic OS services. My home automation building operating system is no different and for an always on, building operating system, you really want everything to run as a daemon. However, my only always on wired ethernet server is a Mac Mini, not an Ubuntu server so I figured out how to get ROSCore to run as a daemon on OSX. Continue reading ROSCore as Daemon on OSX

Garden Automation Part 2

The Raspberry Pi has IO pins left over after attaching it to the OpenSprinkler Pi and I am still waiting for my Pinoccio‘s to instrument my environment so I added a first yard sensor to the pi. It’s a DHT11 temperature and humidity sensor. Fortunately, pretty much all the work to get this connected to the Raspberry Pi has already been done. Consulting the pinout and using Adafruit’s interface program, I got my first data in minutes of work :-) Continue reading Garden Automation Part 2

Garden Automation Part 1

OpenSprinkler PI
OpenSprinkler Pi with Raspberry PI model A and 3.3V serial adapter

Because I always want to automate everything, and I am not that good at gardening yet, I am working on adding smarts to our garden. To start with, the watering system.

I bought an OpenSprinkler PI from Ray’s Hobby and a Raspberry Pi model A (the one with less RAM and since I knew I was going to want to operate it on wifi and wasn’t going to be asking too much of it. I figured I ought to get some hands on experience with the Raspi since everyone is talking about it and it’s convenient not to have to start from scratch for sprinkler automation. Continue reading Garden Automation Part 1