3D Printering: G-Code Post Processing With Perl

Most of our beloved tools, such as Slic3r, Cura or KISSlicer, offer scripting interfaces that help a great deal if your existing 3D printing toolchain has yet to learn how to produce decent results with a five headed thermoplastic spitting hydra. Using scripts, it’s possible to tweak the little bits it takes to get great results, inserting wipe or prime towers and purge moves on the fly, and if your setup requires it, also control additional servos and solenoids for the flamethrowers.

This article gives you a short introduction in how to post-process G-code using Perl and Slic3r. Perl Ninja skills are not required. Slic3r plays well with pretty much any scripting language that produces executables, so if you’re reluctant to use Perl, you’ll probably be able to replicate most of the steps in your favorite language.

Continue reading “3D Printering: G-Code Post Processing With Perl”

Tutorial on Signal Processing in Linux with Octave

If you’ve taken any digital signal processing classes at a college or university, you’ve probably been exposed to MATLAB. However, if you want to do your own work, you might think about Linux and one of the many scientific computing applications available for it.

[David Duarte] recently published a three-part tutorial on using Octave to do scientific audio processing. The first part covers basic reading, writing, and playing of audio files. Part two covers synthesis of signals, plotting, and some basic transformations.  Modulation is the topic of the third part. If you prefer your tutorials on video, you can check out the video below.

We’ve talked about MATLAB before in the context of message cracking. Then again, some of the best signal processing is done by humans. If you don’t like Octave, you might try Scilab, another Linux package that is similar. There’s also Freemat, Sage, and Spyder. Of course, you can also run MATLAB under Linux.

Messages From Hell: Human Signal Processing

Despite the title, there’s no religious content in this post. The Hell in question is the German inventor [Rudolph Hell]. Although he had an impressive career, what most people remember him for is the Hellschreiber–a device I often mention when I’m trying to illustrate engineering elegance. What’s a Hellschreiber? And why is it elegant?

The first question is easy to answer: the Hellschreiber is almost like a teletype machine. It sends printed messages over the radio, but it works differently than conventional teletype. That’s where the elegance comes into play. To understand how, though, you need a little background.

Continue reading “Messages From Hell: Human Signal Processing”

The Filmomat Home Film Processing System

The death of film has been widely reported, but technologies are only perfected after they’ve been made obsolete. It may not be instant photography, but there is at least one machine that will take 35mm film and 5×7″ prints and develop them automatically. It’s called the Filmomat, and while it won’t end up in the studios of many photographers, it is an incredible example of automation.

The Filmomat is an incredible confabulation of valves, tubes, and pumps that will automatically process any reasonably sized film, from 35mm to 5×7 color slides. The main body of the machine is an acrylic cube subdivided into different sections containing photo processing chemicals, rinse water, and baths. With a microcontroller, an OLED display, and a rotary encoder, different developing processes can be programmed in, the chemicals heated, developer agitated, and film processed. The Filomat is capable of storing fifty different processes that use three chemicals and a maximum of ten steps.

The video for this device is what sells it, although not quite yet; if enough people are interested, the Filmomat might be sold one day. This is likely the easiest film developing will ever get, but then again a technology is only perfected after it has been made obsolete.

Thanks [WhiteRaven] for sending this one in.

Continue reading “The Filmomat Home Film Processing System”

Processing for Raspberry Pi

You know Processing? It is the programming language and IDE aimed at the electronic arts, new media art, and visual design communities. [Gottfried Haider] recently got Processing working on the Raspberry Pi and included a hardware input/output library to manipulate the Pi’s I/O pins.

If you want to experiment with Processing, you can download it right on your Pi with the following command:

curl https://processing.org/download/install-arm.sh | sudo sh

You can also download it from the download page. There’s a specific tutorial available or you can watch some general videos on Processing (see below).

Continue reading “Processing for Raspberry Pi”

Digital Light Processing, So Many Tiny Mirrors

Did you know there are a million little mirrors flickering back and forth, reflecting light within some modern projectors; like a flip-dot display but at the micro level? In his video, [Ben Krasnow] explains the tiny magic at work in DLP, or digital light processing technology with a scaled up model he constructed of the moving parts.

LCD projectors work much like old slide projectors. Light is shined through a transparent screen containing the image, which is then focused and enlarged through a lens. DLP projectors however achieve the moving image in a slightly different way. A beam of focused light is shined onto a chip equipped with an array of astonishingly small mirrors. When the mirror is flipped in one direction, it reflects the light out through the lens and creates a visible pixel. When the mirror is tilted the opposite direction, no light is reflected and the pixel is dark. All of these tiny moving parts are actuated by means of static electricity, and since a pixel can effectively only either be in an on or off state without any range of value in-between, the pixel must flutter at a rate fast enough to achieve the illusion of intensity, much like pulsing an LED to create a dimming effect.

In addition to slicing open the protective casing of one of these tiny micro-mirrored chips to give us a look at their physical surface under a microscope, [Ben] also built his own functioning matrix from tiles of mirrors and metal washers sandwiched around pieces of string. A wound electromagnet positioned behind each tile tilts the pixel into position when a current is run through the wire — although he didn’t sink the time needed to build out the full array in this manner (and we don’t blame him). If you do have the time and add in a high powered flash-light, this makes for an awesome way to shine messages on your roommate’s wall.

Continue reading “Digital Light Processing, So Many Tiny Mirrors”

Perfect Jump Shots with OpenCV and Processing


[ElectricSlim] likes taking “Jump Shots” – photographs where the subject is captured in midair. He’s created a novel method to catch the perfect moment with OpenCV and Processing. Anyone who has tried jump shot photography can tell you how frustrating it is. Even with an experienced photographer at the shutter, shots are as likely to miss that perfect moment as they are to catch it. This is even harder when you’re trying to take jump shots solo. Wireless shutter releases can work, but unless you have a DSLR, shutter lag can cause you to miss the mark.

[ElectricSlim] decided to put his programming skills to work on the problem. He wrote a Processing sketch using the OpenCV library. The sketch has a relatively simple logic path: “IF a face is detected within a bounding box AND the face is dropping in height THEN snap a picture” The system isn’t perfect, A person must be looking directly at the camera for the photo the face to be detected. However, it’s good enough to take some great shots. The software is also repeatable enough to make animations of various jump shots, as seen in [ElectricSlim’s] video.

We think this would be a great starting point for a trigger system. Use a webcam to determine when to shoot a picture. When the conditions pass, a trigger could be sent to a DSLR, resulting in a much higher quality frame than what most webcams can produce.

Continue reading “Perfect Jump Shots with OpenCV and Processing”