WiFi-Enabled Arduino Fio using the WiFly RN-XV (RN171XV)

The Arduino Fio is a nice little Arduino board designed specifically to interface with XBee devices. I think it’s a great little board and have used it quite a bit in the past. BUT, I haven’t talked too much about the XBee interface, so for this post, I wanted to demonstrate an example utilizing the XBee socket to get an Arduino Fio onto the web. This is a simple example, just demonstrating communication with the Microchip RN171XV (previously Roving Networks RN-XV) wifi module.

WiFlyTimeWithConsole Example

Click through the break for information on the setup and source code to get the Arduino Fio onto the web.
Read More

Magic Lantern HDR video to tonemapped video with MATLAB scripts

I have a Canon T3i with a Canon EF 50mm f1.4 lens that I use for the gross majority of my day-to-day photography these days. I’ve been using a custom firmware for the Canon called Magic Lantern that provides a some interesting (and useful!) functions. One of them is HDR video. Here’s a beautiful example of what can be done:

I tried my hand at processing the HDR video output and was able to get a reasonably nice tone-mapped video:

After the break, you’ll find how I processed the initial Magic Lantern video using MATLAB and exiftool and tone-mapped the output using Luminance HDR.

Read More

Preparing a “Blobby” Object for Printing with Shapeways

I have been working with a 3D blobby object for some of my pilot studies on shape from shading and texture that I would like to 3D print. Back at Rutgers University, we had a MakerBot Cupcake, but now that I am in Germany, I need to find alternatives. I have been looking into getting the 3D object printed using Shapeways.com but there have been a few hiccups along the way, so I wanted to describe my experiences in the hopes that it might help someone else avoid these issues in the future. The object was generated in MATLAB using a simple script (see 3D “Potato” Generation using Sinusoidal Pertubations) and rendered in our 3D environment:


So the question is: What do I need to do to get this 3D object printed at Shapeways? Click through to see the steps that I took to get this 3D model printed economically.
Read More

University of Giessen (Justus-Liebig-Universität Gießen) Timelapse

I seem to be on a video-posting roll with some of these videos from day-to-day life here in Germany (see previously: Johannisbeeren (red currant) Pastries and Puff Pastries with Blueberry Compote). The latest video is a time-lapse from my office at the University of Giessen (officially Justus-Liebig-Universität Gießen) that I took with my HTC Rezound using Lapse It.

Read More

Arduino FIO Graphical LCD Console

I have previously shown how to use the Arduino Fio and the mini12864 graphical LCD to create a simple oscilloscope. For this post, I wanted to demonstrate the u8glib console demo because I plan on using the GLCD to debug some of my projects and to provide a visual interface for experiments with the Microchip RN-171-XV.


More information on the project, a video of it in operation, and its code after the break.
Read More

Johannisbeeren (red currant) Pastries

Another baking-related post, because I had the time on the weekend to do some more cooking while my wife was out of town.

In my last post, blueberries were on sale. This time, Johannisbeeren were on sale, so I wanted to take advantage of the fresh fruit. Johannisbeeren are unfamiliar to me, being an Eastern US native, but I find them incredibly delicious. They are tart like a cranberry, but have a great “berry flavor” when sweetened that I find hard to resist. There are lots of Johannisbeeren pastries and tarts available here in Hesse, Germany, but this was my first opportunity to work with the fresh fruit. And without further ado, here’s a video demonstrating how I made puff pastries with fresh Johannisbeeren, with CC-licensed music by Jill Zimmerman.

Read More

Effect of repeated JPEG compression on image quality and content

There are a number of videos online illustrating the effect of increasing JPEG (JPG) compression on both file size and image quality (see example 1, example 2, or example 3). I wanted to try recompression on my own data because the effect can be recreated quickly using a simple MATLAB script. It is a very simple demonstration of the effect of lossy image compression. For a simple demonstration of the effect of compression, I load an image into MATLAB and then progressively increase the JPEG compression (by decreasing the ‘Quality’ parameter in imwrite), saving each incremental image as a frame. I then load all of the frames and assemble them into a video file. Here’s an example of increasing image compression at 10 frames per second:

In addition, I tried recompressing the image to see the effect of repeated JPEG compression on the output. An initial image is loaded, it is compressed, then that image is loaded and compressed at a lower quality, then that image is loaded and compressed at an even lower quality, and so on and so forth. Here’s the output at 10 frames per second when we do this from the least amount of JPEG compression (‘Quality’,100) to the most amount of compression (‘Quality’,0):

Just to be artistic, we can then repeat the cycle 10x and observe the effect of repeated compression. Here is an example at 30 frames per second with 10 loops of the repeated recompression:

Click through for the MATLAB code and a couple more example videos.
Read More