Archive for marzo 2015

Vomitino is a “tongue in cheek firmware” for the HexBright flashlight.
The word “vomitino”, in italian, means something like “little puker” and was chosen for 2 reasons:

– it follows the -ino desinence tradition, so common in Arduino based projects

– it refers to the fact that the firmware implements a “stroboscopic dazzle mode”, inspired by the LED Incapacitator, a security device that is rumoured be able to stop an hypothetic attacker, inducing vomiting and disorientation.

While I used the same frequency range, the Vomitino lacks some of the features of its original inspirer (i.e. multicoloured light). It’s meant to be just a joke and should not be considered a “self defence tool” at all: in the end it’s just very bright and somewhat annoying strobe light, just like the ones you find in disco 🙂
If you’re interested in the original device, go check Lady Ada’s complete replica. If you’re curious, but don’t want to invest too much time and money into it, you can grab my humbler version on github and flash it on your HexBright.

Keep in mind that some people have weird reactions to flashy lights, some simply do not like them and I’m not responsible if you nag poeple with my code 🙂

A few weeks ago I met a young designer interested in digitally augmented mirrors: in particular he was interested in messing with people faces. Since this is the kind of stuff I have some experience with, we ordered a couple drinks and brainstormed about how he could do this and that.
I ended up writing a little demo showing how to easily change parts of people’s face in realtime and, since I think it could be helpful for other people too, I wanted to share it and quickly explain how it works.
Basically I track the user’s face with Jason Saragih’s library and create a mesh that can be overlaid on the lower part of the tracker’s face mesh; then I can use this “partial mesh” to create a UV map from the user’s mouth expression, or to blend a saved mouth expression into the live feed.

You can find the source code on my github and here’s a video showing how it works: