As part of my plotter work I have been playing around with vectorizing all sort of things and decided to build a vector based pipeline so that I could convert SVG files(one layer per frame) into animations, which could then be shown on the Sencore’s CRT.
In all I created 16 animations which fit into the available flash memory of the ESP32 with room to spare.
Full Videos are avalible - one, two, three.
Rotoscoping
The simpliest and most pure animations for this project were created in inkscape. I converted video to a series of frame, stacked them each on their own later and then started tracing. It was time consuming but enjoyable and I really like the results.
3D Blender + Freestyle
Freestyle is an amazing blender built in add-on which can generate line art from a 3D scene. Tuning the paramters achieve the desired look is an art but the results are impressive.
Freehand
I drew some of these animations by hand as well. I tried a few tools for this without finding anything I liked so I ended up doing this in inkscape as well. My partner contributed this wolf to sheep morph which was done in procreate and then I auto traced it in inkscape.
Processing
I had wanted to play with Processing for awhile and this was a good excuse. I modified some of their examples to generate the text. The text is busy enough that it flickers on film because the CRT electron gun can’t keep up but in person its nice and smooth.
Turtles
I’ve made some turtle toys in the past and decided to convert the diffrential growth generator into an animation.
Animation Conversion
The animation frame in SVG format were then traced using some scripts I wrote to convert them to x/y coord pairs in C++ format so they can be imported into the Arduino code that runs on the ESP32. This isn’t the most compact format but luckily I ran out of free time to create the animations before I ran out of storage space.
Hardware
The ESP’s two DAC’s draw out each frame at the set frame rate. Any flickering you notice (which you can’t see in person) occurs when a frame is too complex and the CRT can’t stear the beam fast enough.
I spliced into the Sencore’s internal 9 volt(from what I remember) rail and regulated that down 3.3v for the ESP. The DAC’s are spliced onto the probe lines so reverting the device back to its original purpose would be a quick change.
Giphy
I also converted all the animations to GIF so I could uploade them to giphy and use them in FB messenger.
