Motorcycle Crash Alert with Mediatek LinkIt One

Another recent demo I created used the Mediatek LinkIt One, which is an awesome little Arduino-compatible dev board that integrates a ton of useful hardware like GPS, GSM, WiFi, etc. With a tiny bit of code and some cloud data services connected via a flexible message bus, I had a prototype system up and running fast. It’s very simple in the first iteration, parsing NMEA sentences from the GPS unit, extracting data, and sending it off to logic and alerting powered by the data services. I’m still working on refining this, as it’s an itch I want to scratch for my own use.

Here’s the writeup: http://labs.wot.io/ship-iot-with-mediatek-linkit-one/

I made a video to go with the article, as well:

 

Stratasys Dimension SST 768 DIY VGA Connector

So I’ve come across a new toy: a Dimension SST 768 3D printer! But, it was having some difficulty turning on and working. Tearing into the back of the system, I found three DC power supply boards (24V, 12V+5V, and 120V), a single-board computer, an overly-complex logic/controller board, and what’s labeled a “Power Distribution Board” which connects to all the steppers and other hardware.

First order of business was to check the power boards, which were all spot-on voltage output. Ruling that out, I needed to see what was going on during the boot process.

Thanks to another helpful blog post, I discovered that the SBC was an Ampro P5v – which was awesome, because the label for the board is buried under another one, and I couldn’t see it without tearing it all down. Didn’t feel like it that day.

From the manual for the SBC, we discover the pinouts for the video port, J5:

Pin Signal DB-15
1 Red 1
2 Ground 6
3 Green 2
4 Ground 7
5 Blue 3
6 Ground 8
7 Horizontal Sync. 13
8 Ground 10
9 Vertical Sync. 14
10 Fused +5V Power n/a

I dug out a ten-pin connector with ribbon cable attached, from an old 9-pin serial backplate. Snipped off the serial port, sacrificed an old VGA cable (since there were no DB15 jacks in my junk pile), and rigged up an adapter. It works perfectly! There are also keyboard and USB and all the other I/O you could want on that SBC, documented in the manual.

Now that we’re in, it’s time to root the beast, turn on SSH, bypass the cartridge EPROMs, and make some awesome. My beloved MakerBot, your big brother has arrived!

 

HPX170 Speed: USB vs FireWire 1394

Panasonic AG-HPX170 Camcorder

Panasonic AG-HPX170 Camcorder

Today I had to transfer a lot of DVCPRO HD footage from a Panasonic AG-HPX170 camera. I discovered that the USB 2.0 port transferred easily twice as fast, if not faster, as the 1394 FireWire port, when connected to a Macbook Pro. This was a surprising result! I suppose the FireWire port is more useful for direct video capture and monitoring than it is for transferring video from the P2 media cards. Adobe OnLocation plus a laptop with a high-resolution screen makes for a great field monitor, with scopes and annotation tools included!

And praise to Panasonic for releasing an update to P2CMS that now works with Snow Leopard!

 

Pano Bubbles for Filming Locations

Panoramic Photo of CyberJocks

When the Speed Racer movie came out, I read this fantastic article in VR Magazine about the way they used “pano bubbles” to create backdrops for animated and keyed footage. I’ve had an interest in panoramic photography anyhow (thanks to a friend I’ll call Geo), so I decided to try out the technique just for fun, and to have something new to add to my bag of tricks. Gotta have a bag of tricks!

The panoramic image here (not full rez as shown) was generated by autostitch from 316 photos of the interior of CyberJocks. The source photos were taken with a 75mm equivalent lens (after crop factor) on a 10.2MP camera (the Samsung GX-10). Most of the time that kind of resolution is major overkill for panoramic photography – heck a lot of people will use a lens wide enough to take six images and stitch from those. But, since I was experimenting with a technique that could have application as a cinematic background, I figured I should use all the resolution I can get my hands on, if only to beat up the toolchain and figure out how to do it.

With some fiddling of the settings, autostitch did a bang-up job of stitching the pano together, even though I didn’t use a real pano head on the tripod (this was a spur-of-the-moment exercise). If you look at the full-rez pano you can see some parallax error artifacting but it’s subtle. Good enough for this purpose. Next step: make a pano-bubble!

First, we have to get the pano to be more like a full spherical equirectilinear projection, so we adjust it to a 2:1 aspect ratio by adding black bars.

cjpano-black

Opening the ever-handy 3ds MAX, we make ourselves a sphere. Then we make a material, using the equirectilinear projection (I just love saying that word) as a diffuse map, and apply it to the sphere. We also create a free camera at the center of the sphere, and give it a nice wide lens for now. Of course, any of you 3D nerds out there will realize that the camera won’t see the sphere, unless we flip the normals. So, we flip the normals. With a little adjustment of the sphere’s orientation relative to the camera (north pole goes up…), and a flip of the texture map’s V angle to 180 degrees, we now have a camera that can effectively look in any direction “inside” of CyberJocks. Thanks to the stupidly-high resolution that I shot in, we can zoom in quite a bit if need be.

cjpano-max

Now to make it come alive! A little more 3ds Max magic gives us a biped dummy, some shadow map materials, and some lights positioned and colored to match the lighting inside CyberJocks – or at least close enough to prove the idea out. I also tweaked the texture map to give the lights some glow and punch, and make the scene overall more realistic. The camera is animated to follow the walking dummy, and since all looks good, we render it out. This time it took two passes – one render of just the pano bubble background, and another of the walking dummy and shadow/alpha. A quick compositing yeilds – omg! a 3d dummy walking around inside CyberJocks! And it looks seamless. I was blown away at how cool this technique is.

Get the Flash Player to see this content.

Realize too that this technique limits your camera moves; you have to stay pretty damn close to the center of the pano bubble or the perspective is off and you loose the illusion. In the movie, they made several layers of bubble, just like the oldschool parallax-scrolling in video games. This gave the illusion of more depth and camera motion than there actually was.

Now, just imagine it with a velociraptor animated into the scene, mixed with some keyed footage of real actors! Actors being eaten by the velociraptor! Or perhaps taming it, and making it their friend! Whatever floats your boat, but it can all be filmed “on location” in a pano bubble.

 

VFX Garage Fire Demo

Get the Flash Player to see this content.

VFX Demo. Why not to leave gasoline next to bad electrical wires in your garage.