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