Slow motion video to evaluation form

Most coaches evaluate an athlete’s form to determine is there is wasted motion and ways to improve performance, speed, and efficiency. It’s no different when the athlete is an animal. This is definitely true for canine agility.

While I do not compete with my dog, Nick, I’m no less fascinated by his motion and performance.

It’s difficult to evaluate gate, stride, jump style, height, etc. when you are the athlete or running along with the athlete. Video can help. Slow motion video can help even more.

Today, high definition slow motion video is as close as some smartphones. The iPhone 5s in a good example. The Panasonic Lumix SZ40 is another good example. Both can shoot 120 frames per second. That gives perfectly smooth video as 1/4 speed and usable video at 1/8 speed. The Lumix can even shoot SD quality video as 240 frames per second.

I use a simple tripod and a modified car mount for the iPhone.

Evaluating the Jump

The results show that Nick jumps higher than he needs to. It also shows, his hind end is higher well past the jump. He is wasting energy.

Of course, given how much energy Nick has, I’m happy to have him waste a bit of it as often as he likes !

Weeds redux

stereoscopic photo of a flowering weed
stereoscopic photo of a flowering weed

Seven years ago, when I first moved to the Shore, I realized that all things are relative. A good example is that some of the weeds which infiltrate the planted crops are quite attractive.

Those where mostly white. The same “weed” also has a blue variety!

piGate, piGate – get your Raspberry Pi iGate here !

I’ve create a downloadable image of the Raspberry Pi SD card with all of the installed and configured software for an iGate. I’ve also created a short video walking a user through the setup process.

UPDATE UPDATE UPDATE !!! Read to the very end. Things have changed as of 28-July-2014)

pigate-kitThe complete set of parts was detailed in my piGate post.  A few people asked for a copy of the SD card. I decided I would create a new piGate from scratch to insure I have all of the instructions and didn’t forget any steps.

I started with PA0ESH’s article. Erik has written and updated a PDF of the steps he used to create his iGate. The most recent version I found has “Sunday, 8 December 2013″ near the top of the PDF. As a precaution, you can find a copy here.

Note: Erik has since published a guide and an install script which uses DXIPRS for the iGate. I stayed with APRX as my iGate software because I have used it for more than 20 iGates and it has been very stable and easy.

I use Win32 Disk Imager to create the initial SD card. I also use a simple ping tester which will quickly ping a range of IP addresses and tell me which ones reply. There are versions for Windows, Mac, and I have one on my iPhone. I use KITTY for my SSH terminal.

Addendum: For Windows users, here is a command that will help find the IP of your Raspberry Pi once it has booted:

FOR /L %x in (1,1,255) do ping -n 1 192.168.2.%x | find /I “reply”


After downloading the most recent Rasbian image from the internet, I write it to the SD card, insert the SD card into a Raspberry Pi, connect an Ethernet cable, and add power. I use the ping tester to locate the likely IP address(s) for the Raspberry Pi and then start KITTY with each IP address until I get the right one.

Once I have the SSH session, I use the default Rasbian account which is user=pi, password=raspberry. I run the command raspi-config and set the timezone, locale, and hostname. I did not expand the filesystem to fill the SD card but that was only because I was hoping to make the compressed download of the finished image as small as possible. It did help a little. For my own use, I would expand the filesystem.

With the base operating system up-to-date, I started with Erik’s instructions.

The first deviation I made was to not make the change to downgrade the USB from USB 2.0 to USB 1.0. The change was not needed with the USB audio adapter I used.

An improvement I made to the instructions occurs at the step to use arecord to test the configuration thus far. I used the Pofung radio set to 1/4 volume and connected with the audio cable to the microphone input on the USB audio adapter. I launched a second SSH window to the Raspberry Pi. In the second window, I started alsamixer. I started arecord in the first window. I then used alsamixer in the second window to adjust the CAPTURE level, while watching the character based VU meter from arecord. I adjusted the level until the meter was about 80% and not over modulating. Then I exited both programs, deleted the test recording, and closed the second SSH window.

When creating the ax25-up and ax25-down scripts, I gave then the “.sh” extension because that is what I usually do. No reason beyond my personal preference.

At the end of Erik’s guide, he describes generating a website using txt2html and a cronjob and a lot of steps. I went a much simpler route. I setup a CGI perl web page that sucks in the aprx-rf.log file on-the-file. This means, anytime the webpage is refreshed in the user’s browser, it has the most recent log data. There is not need to convert or have a scheduled job to convert stuff. I did need to create a symbolic link from /var/log/aprx to /var/www/aprxlog to make the logs accessible to the lighttpd web server.

To help keep the logs manageable, I setup log rotation for APRX logs. Here is the contents of /etc/logrotate.d/aprx

/var/log/aprx/*.log {
        rotate 2
        size 8k
        create 644 root adm

Of course, you can skip all of that work and just download the 7z compressed piGate image I created of the final product !

Watch the instructional video for setting up a iGate using my piGate image or download (50mb) a copy for reference.

UPDATE: 28-July-2014

One thing that I’ve experienced on more than one occurrence is a corrupted SD carad because of unexpected or incomplete shutdown. To mitigate this problem, I went through multiple writ ups to make the piGate SD card read-only for runtime. It turns out to be a bit messy to get right because various applications and start-up tasks assume the system is read-write.

The four hurdles were to first get the Raspbian operating system to function with the boot partition as read-only. Next was to get the iGate software working and logging to a ramdisk. Third was the little web server which makes reviewing the iGate log easy with a web browser. And forth was getting DHCP networking to behave.

The new compressed image (updated link above) has everything working so you don’t need to be bothered. The only new steps are the presence of rpi-ro and rpi-rw commands. Anytime you need to edit a file on the Raspberry Pi, you will need to make it read-write before you edit files and then make it read-only after. For example, to change the /etc/network/interfaces file to configure WiFi or to set a static IP address, you will run three commands: rpi-rw then nano /etc/network/interfaces then rpi-ro. I’ve updated the instructional video with this example.

recent stereoscopic images

For my nearsighted friends, here’s another batch of images. So take off your glasses, look into the distance and hold you smartphone about 18″ from your nose!

winging it

the wood lot

Nick found a chew bone

finished mowing

new red shoes

a Raspberry Pi iGate which meets performance specs

My supply of OLPC XO-1 laptops has really dried up. I currently have two – the one that has faithfully been running my iGate for the past 3 years and a backup just in case.

Over the past 9 months, I built 15 iGates using that design. eBay was a good provider Smile

I still get requests for iGates. Given the laptop was the only “used” item, I started looking for a solution that was 100% off-the-shelf new parts. The Raspberry Pi was the logical choice.


After months of experimenting with combining a Raspberry Pi with and SDR (software defined radio), I concluded the design worked but required strong, nearly perfect radio transmissions. Since APRS is predominantly transmitter in motion, the signals are rarely perfect and seldom strong. Eventually, I caved to the realization that – while I could build such an iGate – it would not perform.

I went back to the drawing board and took my tried and tested iGate design. The laptop has four useful components built it – a computer, a screen, a keyboard, and wireless. While I could add all of those to a Raspberry Pi, it didn’t work from a cost stand point. With some basic computer skills, a “terminal” connection using SSH from a regular computer can access the Raspberry Pi to do the minimal configuration needed. That eliminated the need for a screen and keyboard. The network option of a wired connection vs a wireless connection was nearly 50:50 with the people who wanted and iGate – thus I consider it an option rather than a required part.

In the end, I was able to create an iGate using a Raspberry Pi that has the same software architecture of the XO-1 Laptop. I used Debian as the base linux operating system. I Used Soundmodem which turns a sound card into a TNC. I used APRX for the iGate software. I used a low cost handheld HAM radio to receive the transmission.

Here is a list of all the components which can be sourced from If you had nothing lying around and you had to purchase everything, the cost is 47+5+4+5+4+30 = $95. Included in these prices is the antenna adapter for the radio. I included it because nearly everyone who asked for an iGate needed that adapter. FYI – The pictured system has an beefier radio (+$9) and WiFi (+$9).

I have an image of the final SD card. After I run it for a week as my primary iGate, I will de-personalize it, compress it, and try to post it to this blog.

Addendum: If you want more USB ports and want to avoid the SD card sticking out, there is the new Raspberry Pi Model B+ ($46) which uses a microSD card and has 4 USB ports. It does require a different case which have limited choices but expect the availability of the B+ and cases to become more prolific in the near future.

Advanced yoga balancing posture

This is for my yoga friends, here is an advanced balancing pose for you to try !

It requires one sock. Place the sock on the floor right in front of you. Take a deep breath and move into the tree pose as you’re starting position. Next, transition to half downward dog. Pick up the sock. Transition back to tree pose. Now move the hand holding the sock down toward the bent knee. This is where it gets tricky …

maintain you balance while your dog attempts to wrestle away the sock before you can put it on your foot!

I call this “tug of warrior” pose :-)