Transistor Fundamentals Animated

When we were in school, every description of how transistors work was pretty dry and had a lot of math involved. We suppose you might have had a great instructor who was able to explain things more intuitively, but that was luck of the draw and statistically unlikely. These days, there are so many great videos on the Internet that explain things that even if you know the subject matter, it is fun to watch and see some of the great animations. For example [Sabin] has this beautifully animated explanation of how MOSFETs work that you can see below.

It uses the same basic graphics and style as his earlier video on bipolar transistors (second video, below) which is a great one to watch, too. In all fairness to your electronics teacher, the kind of graphics in these videos would have cost a fortune to do back in the 20th century — just watch some of the videos we talk about in some of our historical posts.

Continue reading “Transistor Fundamentals Animated”

Time-Stretching Zoetrope Animation Runs Longer Than It Should

3D printers have long since made it easy for anyone to make 3-dimensional zoetropes but did you know you can take advantage of a 4th dimension by stretching time? Previously the duration of a zoetrope animation would be however long it took for the platform to rotate once. To make it more interesting to watch for longer, you filled out the scene by creating concentric rings of animations. [Kevin Holmes], [Charlie Round-Turner], and [Johnathan Scoon] have instead come up with a way to make their animations last for multiple rotations, longer than three in one example. If you’re not at all familiar with these 3D zoetropes, you might want to check out this simpler version first.

4-Mation Fish eats Fish zoetropeTheir project name is 4-Mation but they call the time-stretching technique, animation multiplexing. One way to implement it is to use one long spiral beginning in the center and ending on the platform’s periphery. It’s the spiral path which make the animation last longer.

In their Fish eating Fish animation, the spiral is of a small fish which exits a clam at the center and gets progressively larger as it spirals outward until it swallows another fish located in a ring at the periphery. Of course when you look at it with a properly timed strobe light, there is no spiral. Instead, it appears as though a bunch of fish move more-or-less radially out from the center. The second video embedded below walks through the animation step-by-step, making it easier to follow the intricacies of what’s going on.

Other features include built-in strobe lighting and both manual and phone app control. This project is a product for a kickstarter campaign and so normally, details of the electronics would be absent. But clearly [Kevin] is familiar with Hackaday and sent in some additional info which you can find below, along with the videos.

Continue reading “Time-Stretching Zoetrope Animation Runs Longer Than It Should”

Light Painting Animations Directly From Blender

Light painting: there’s something that never gets old about waving lights around in a long exposure photo. Whilst most light paintings are single shots, some artists painstakingly create frame-by-frame animations. This is pretty hard to do when moving a light around by hand: it’s mostly guesswork, as it’s difficult to see the results of your efforts until after the photo has been taken. But what if you could make the patterns really precise? What if you could model them in 3D?

[Josh Sheldon] has done just that, by creating a process which allows animations formed in Blender to be traced out in 3D as light paintings. An animation is created in Blender then each frame is automatically exported and traced out by an RGB LED on a 3D gantry. This project is the culmination of a lot of software, electronic and mechanical work, all coming together under tight tolerances, and [Josh]’s skill really shines.

The first step was to export the animations out of Blender. Thanks to its open source nature, Python Blender add-ons were written to create light paths and convert them into an efficient sequence that could be executed by the hardware. To accommodate smooth sliding camera movements during the animation, a motion controller add-on was also written.

The gantry which carried the main LED was hand-made. We’d have been tempted to buy a 3D printer and hack it for this purpose, but [Josh] did a fantastic job on the mechanical build, gaining a solidly constructed gantry with a large range. The driver electronics were also slickly executed, with custom rack-mount units created to integrate with the DragonFrame controller used for the animation.

The video ends on a call to action: due to moving out, [Josh] was unable to continue the project but has done much of the necessary legwork. We’d love to see this project continued, and it has been documented for anyone who wishes to do so. If you want to check out more of [Josh]’s work, we’ve previously written about that time he made an automatic hole puncher for music box spools.

Thanks for the tip, [Nick].

Continue reading “Light Painting Animations Directly From Blender”

Animatronic Puppet Takes Cues From Animation Software

Lip syncing for computer animated characters has long been simplified. You draw a set of lip shapes for vowels and other sounds your character makes and let the computer interpolate how to go from one shape to the next. But with physical, real world puppets, all those movements have to be done manually, frame-by-frame. Or do they?

Billy Whiskers: animatronic puppet
Billy Whiskers: animatronic puppet

Stop motion animator and maker/hacker [James Wilkinson] is working on a project involving a real-world furry cat character called Billy Whiskers and decided that Billy’s lips would be moved one frame at a time using servo motors under computer control while [James] moves the rest of the body manually.

He toyed around with a number of approaches for making the lip mechanism before coming up with one that worked the way he wanted. The lips are shaped using guitar wire soldered to other wires going to servos further back in the head. Altogether there are four servos for the lips and one more for the jaw. There isn’t much sideways movement but it does enough and lets the brain fill in the rest.

On the software side, he borrows heavily from the tools used for lip syncing computer-drawn characters. He created virtual versions of the five servo motors in Adobe Animate and manipulates them to define the different lip shapes. Animate then does the interpolation between the different shapes, producing the servo positions needed for each frame. He uses an AS3 script to send those positions off to an Arduino. An Arduino sketch then uses the Firmata library to receive the positions and move the servos. The result is entirely convincing as you can see in the trailer below. We’ve also included a video which summarizes the iterations he went through to get to the finished Billy Whiskers or just check out his detailed website.

[Jame’s] work shows that there many ways to do stop motion animation, perhaps a part of what makes it so much fun. One of those ways is to 3D print a separate object for each character shape. Another is to make paper cutouts and move them around, which is what [Terry Gilliam] did for the Monty Python movies. And then there’s what many of us did when we first got our hands on a camera, move random objects around on our parent’s kitchen table and shoot them one frame at a time.

Continue reading “Animatronic Puppet Takes Cues From Animation Software”

A YouTube Subscriber Counter With A Tetris Twist

When it comes to YouTube subscriber counters, there’s not much wiggle room for creativity. Sure, you can go with Nixies or even more exotic displays, but in the end a counter is just a bunch of numbers.

But [Brian Lough] found a way to jazz things up with this Tetris-playing YouTube sub counter. For those of you not familiar with [Brian]’s channel, it’s really worth a watch. He tends toward long live-stream videos where he works on one project for a marathon session, and there’s a lot to learn from peeking over his virtual shoulder. This project stems from an earlier video, posted after the break, which itself was a condensation of several sessions hacking with the RGB matrix that would form the display for this project. He’s become enamored of the cheap and readily-available 64×32 pixel RGB displays, and borrowing an idea from Mc Lighting author [toblum], he decided that digits being assembled from falling Tetris blocks would be a nice twist. [Brian] had to port the Tetris-ifying code to Arduino before getting the ESP8266 to do the work of getting the subs and updating the display. We think the display looks great, and the fact that the library is open and available means that you too can add Tetris animations to your projects.

None of this is to say that more traditional sub counters can’t be cool too. From a minimalist display to keeping track of all your social media, good designs are everywhere. And adding a solid copper play button is a nice touch too.

Continue reading “A YouTube Subscriber Counter With A Tetris Twist”

Buttery Smooth Fades with the Power of HSV

In firmware-land we usually refer to colors using RGB. This is intuitively pleasing with a little background on color theory and an understanding of how multicolor LEDs work. Most of the colorful LEDs we are use not actually a single diode. They are red, green, and blue diodes shoved together in tight quarters. (Though interestingly very high end LEDs use even more colors than that, but that’s a topic for another article.) When all three light up at once the emitted light munges together into a single color which your brain perceives. Appropriately the schematic symbol for an RGB LED without an onboard controller typically depicts three discrete LEDs all together. So it’s clear why representing an RGB LED in code as three individual values {R, G, B} makes sense. But binding our representation of color in firmware to the physical system we accidentally limit ourselves.

The inside of an RGB LED

Last time we talked about color spaces, we learned about different ways to represent color spatially. The key insight was that these models called color spaces could be used to represent the same colors using different groups of values. And in fact that the grouped values themselves could be used to describe multidimensional spacial coordinates. But that post was missing the punchline. “So what if you can represent colors in a cylinder!” I hear you cry. “Why do I care?” Well, it turns out that using colorspace can make some common firmware tasks easier. Follow on to learn how!

Continue reading “Buttery Smooth Fades with the Power of HSV”

Low-Resolution Display Provides High-Nostalgia Animations

High-definition displays are the de facto standard today, and we’ve come to expect displays that show every pore, blemish, and bead of sweat on everything from phones to stadium-sized Jumbotrons. Despite this,  low-resolution displays continue to have a nostalgic charm all their own.

Take this 32 x 16 display, dubbed PixelTimes, for instance. [Dominic Buchstaller] has gone a step beyond his previous PixelTime, a minimalist weather clock and home hub built around the same P10 RGB matrix. The previous build was a little involved, though, with a nice wood frame that took some time and skill to create.

Building your own version of PixelTimes is really approachable. The case is mostly 3D-printed, and the acrylic parts [Dominic] laser cut could just as easily be cut with a saw. And that P10 board can be source for peanuts direct from Chine. The software for the project has been upgraded since the original version, supporting flicker-free animations. Everything runs on a NodeMCU, and there are even scripts to convert your favorite GIF to an animation. Oh, and it still displays the weather too.

This looks great and seems like a lot of fun, and [Dominic] kindly provides all the files you’ll need to build your own. It shouldn’t take more than an hour to build once you’ve got all the parts.