posts tagged with the keyword ‘video’


Apple Watch

I presented a video piece at Maker Faire Milwaukee I called “Apple Watch” which consisted of a Raspberry Pi Model B connected to an Apple Monochrome Monitor from 1988.

The power of component video was harnessed to make a 2012 computer talk to a display that is 27 years old. (Also, Apple used to make solid hardware that lasted a long time!)

The video that plays (after the Raspberry Pi boots up Linux) is the old black & white wristwatch from early versions of the Apple Operating System. The video loops forever and just shows the cursor with the watch hands spinning around infinitely.

You can wait for something else to happen, but it won’t. You can imagine this would fit on your wrist, but it won’t. If the power goes out and comes back on, the Apple Watch will just start up and attempt to run (forever) again. That’s all it does. Really.


Raspberry Pi


Apple Watch


Here’s a video of the Turndrawble in action… Also, as an added bonus you get to hear the strains of a DC motor moving a gearbox to spin the platter. Turn it up, man!

Don’t forget to check out the blog post and the Turndrawble project page.


Ignite Madison

The second Ignite Madison happened on February 12, 2014 and I was there… and if you weren’t there, you can still see the video of me talking due to the magic of the Internet!

A few notes: Doing an Ignite talk requires a lot of practice. You’ve only got 5 minutes! I’ve given plenty of talks, and when you have a bunch of slides, and a bunch of time, and no specific timing to stick to, it’s a breeze. But, add in 20 slides changing every 15 seconds and it gets a bit more difficult.

I managed to go slightly off-track twice, but in the end, I think it turned out OK. I won’t be hitting the professional speaker’s circuit anytime soon, but I am glad I did it, because, as you’ll learn from my talk, learning, sharing and inspiring are the things that drive me to make.


If nothing else, I’m glad I could help out the Big Brothers, Big Sisters of Dane County by taking part in the event.

Oh, and check out the other presenters for the evening, they were all great! Thanks for the interesting evening, Madison!

Update: Slides are here.


Turkey Bowl

There’s this annual tradition members of my family take part in each Thanksgiving. It involves a bunch of the guys getting up early and playing football at an elementary school in Milwaukee. I didn’t know a lot about it other than they do it every year. It’s called the Turkey Bowl.

Back in 2012 my wife suggested I take part in the Turkey Bowl. As someone who doesn’t like to play football, or watch football, I remained unconvinced. Instead, I offered to come and film the game. Unfortunately, I somehow forgot to go, and did not film the game. So this year, I made up for it.

The kids and I headed out, stopped for hot drinks, and got to the school just in time to capture about 15 minutes of action at the end. (Oops! Based on televised sports, I thought football games lasted about 4 hours.) Well, I did manage to get some good group photos when they were done, which was much appreciated. I then told them that I needed interview footage, but they were all headed to a bar (it is Wisconsin) to watch football and drink beer. (Again, I don’t do either of those things.) So I made a plan to take my gear to the Thanksgiving dinner at my sister’s house, and after the meal, I did a bunch of interviews.

I then declared it would be ready to watch by Christmas. I then did a bit of editing the next week, and a little more the next week, and then I just pulled an all-nighter Christmas Eve and stayed up past 4am to finish it for Christmas Day. Merry Christmas!

The quality is not quite to the level I’d like, but it doesn’t matter. They loved it. It does a pretty good job of documenting the game and what it means to them. The audio is rough, the lighting and camerawork is not top notch, but that’s not what matters. Nobody paid me to do this, and I really enjoyed doing it.

What, you want to watch Turkey Bowl? Please do…



If you wondered why I needed a Raspberry Pi case that could also hold a Raspberry Pi Camera… well, seriously, don’t you people know me by now!? :)

This ‘CameraPi’ is a prototype for Time Lapse Bot 4, and if you’re not familiar with my time lapse hardware experiments, check out the Time Lapse Bot project page for a good introduction.

My Time Lapse Bots have always relied on old computers, and while you can typically get old computers pretty cheap, they are also, well… old. They run old software, they often have hardware failures, non-working batteries, are heavy, and a lot of other things that are (sometimes) fine, but sometimes annoying.

Enter the Raspberry Pi, a small, inexpensive, low-power, modern Linux computer that can use an add-on camera module to create an all-in-one solution to time lapse captures. This is the kind of stuff I love playing with!

So here’s the story of making the CameraPi. I’ll avoid getting into code at this post and just talk about the process and some applications.

At I grabbed the NOOBS install, mainly because I wanted to test it out, and it worked well! I went with Rasbian. I think it had all the camera software baked in, but if not, it’s easy to add.


Once up and running, I added Avahi to give the Raspberry Pi a nice network name (camerapi.local) and I also installed Netatalk to allow my Mac OS X machines to easily connect to it. Neither of these are required for the camera stuff, but I tend to drop these on most Linux machines I use.

As for the image capture, while the camera utilities have some time lapse capabilities, they did not work for me, which is fine, I created my own. (I should note that the Raspberry Pi is for educational use, so I try to follow that idea and, well, learn a lot while using it.)

I wrote a simple bash script to capture a new image every 60 seconds. You can set whatever interval you like, but I like 60 seconds. For one day that gives you 1440 images, if you’re keeping track at home. Depending on your image size and compression settings that could be over 1GB per day of still images. I’m currently using 1280×720 for my image size, as that works well when compiling video.


As long as we’re capturing images every minute, why not have a way to display them remotely via a web browser? Sure! I also installed Apache for that. There are lighter HTTP servers, but I like Apache. I wrote a simple CGI script to grab the latest image file and display it on a page… and there’s also a link to all the images for the day. Oh, and the page auto-refreshes so it keeps showing the latest image. (The images are named like so: 20130905140427 using the YYYYMMDDHHMMSS format.)


OK, so we now have this running archive of photos. At some point (like, the second day) you’re going to have way more images in that folder than you want. Another shell script is the answer! Script #2 runs after midnight, grabs the date of the previous day, and moves all images matching that date to their own folder. (Oh, where do we store all these images? On a tiny USB thumb drive. It’s an 8GB drive. We figured filling that was better than filling the SD Card that contains the system.)


Now we’ve got a folder named 20130905 with 1440 images in it. We should probably do something with it… Make a video! Once the files are moved we run a command with mencoder to compile all the JPG files (sorted by name, which is also sorted by date) into an AVI file. I don’t really care for AVI files though, so when that is done (and, it takes about 6 hours due to the high-quality encoding settings I use) we then use avconv (which used to be ffmpeg, sort of, oh, Linux!) to convert the AVI to an MP4 file. That does not take hours. This is all messy and could be done better.


So after all that, we now have an MP4 file we can view in our browser, though it’s a silly MP4 that needs to completely load before it starts. Silly! There must be a better way.

Yes. There must be a better way. I’m sure there is. Here’s the thing. I really just started hacking. I didn’t know where I was going, so it’s all been guessing and trying things along the way. That’s the beauty of it. I’m not building this for a client. I’m not building a commercial product. I’m just playing and learning. I love it.

Oh, I forgot, I also set my capture script to launch at startup as a service. That means it also stops cleanly when you halt the system. Also, you can halt the system via another CGI just by loading a web page. Secure? Probably not. Ideally I’d like to be able to have the Pi create a WiFi network I can attach to from my phone and control. That would be nice. I’m sure it’s doable, I just need to dig in more. Dig. In. More.

Well that was fun! Thanks for reading this. If anyone really wants more info on the code, I could clean it up a bit (or not) and post it. As always, improvements are very welcome.

Update: Here’s an example video.

« Older Entries | Newer Entries »

  • Metapress

buy the button:

Buy The Button