This GCode Post-Processor Squeezes Lines Into Arcs

When the slicer software for a 3D printer model files into GCode, it’s essentially creating a sequential list of connected line segments, organized by layer. But when the features of the original model are dense, or when the model is representing small curves, slicers end up creating a proliferation of teeny segments to represent this information.

This is just the nature of the beast; lots of detail translates into lots of teeny segments. Unfortunately, some printers actually struggle to print these models at the desired speeds, not because of some mechanical limitation, but because the processor cannot recalculate the velocities of these segments fast enough. The result is that some printers simply stutter or slow down the print, resulting in print times that are much higher than they should be.

Enter Arc Welder, a GCode compression tool written by [FormerLurker] that scrutinizes GCode files, hunts for these tiny segments, and attempts to replace contiguous clusters of them with a smaller number of arcs. The result is that the number of GCode commands needed to represent the model drop dramatically as connected clusters of segment commands become single arc commands.

“Now wait”, you might say, “isn’t an arc an approximation of these line segments?” And yes–you’re right! But here lies the magic behind Arc Welder. The program is written such that arcs only replace segments if (1) an arc can completely intersect all the segment-to-segment intersections and (2) the error in distance between segment and arc representation is within a certain threshold. These constraints act such that the resulting post-processing is true to the original to a very high degree of detail.

A concise description of Arc Welder’s main algorithm as pulled from the docs

This whole program operates under the assumption that your 3D printer’s onboard motion controller accepts arc commands, specifically G2 and G3. A few years ago, this would’ve been uncommon since, technically, 3D printing and STL file only requires moving in straight line segments. But with more folks jumping on the bandwagon to use these motion control boards for other non-printing applications, we’re starting to see arc implementations on boards running Marlin, Smoothieware, and the Duet flavor of RepRap Firmware.

For the curious, this program is kindly both well documented on operating principles and open source. And if [FormerLurker] seems like a familiar name before–you’d be right–as they’re also the mind behind Octolapse, the 3D printing timelapse tool that’s a hobbyist crowd favorite. Finally, if you give Arc Welder a spin, why not show us what you get in the comments?

Thanks for the tip [ImpC]!

As Facebook Tightens Their Grip On VR, Jailbreaking Looks More Likely

The Quest 2 wireless VR headset by Oculus was recently released, and improves on the one-and-a-half year old Quest mainly in terms of computing power and screen resolution. But Oculus is owned by Facebook, a fact that Facebook is increasingly keen on making very clear. The emerging scene is one that looks familiar: a successful hardware device, and a manufacturer that wants to keep users in a walled garden while fully controlling how the device can be used. Oculus started out very differently, but the writing has been on the wall for a while. Rooting and jailbreaking the Quest 2 seems inevitable, but what will happen then? Continue reading “As Facebook Tightens Their Grip On VR, Jailbreaking Looks More Likely”

Raspberry Raven Pi Security Camera Does Double Duty

The worst thing about holiday decorations is that while you could leave them up all year, your neighbors probably won’t like you very much for it. Christmas lights on your house are one thing, but as far as Halloween decorations go, [MisterM]’s raven security camera is one of the few exceptions to this rule.

Nevermore will [MisterM] wonder who goes there. As soon as this raven lays its beady red LED eyes on whatever is lurking in the garden, it comes to life with a bit of head swiveling and some random sounds. The bird either goes CAW! or quotes Christopher Lee’s reading of Edgar Allen Poe’s “The Raven”.

Inside this bird’s chest cavity is a Raspberry Pi 2 and standard camera, a servo to swivel the head, and an audio amplifier and speaker. This bird is running MotionEye on top of the Raspi OS so it can run a script whenever it senses motion.

We like that [MisterM] was able to find right-sized bits of plastic to mount the servo in the neck and the horn to the head. It just goes to show that not everything needs a 3D printer, a CNC, or woodworking. Check out the scary demo after the break.

Want to scare the whole neighborhood? Check out the science behind good-looking house projections.

Continue reading “Raspberry Raven Pi Security Camera Does Double Duty”

Useless Box With Attitude Isn’t Entirely Useless

What is it about useless machines that makes them so attractive to build? After all, they’re meant to be low-key enraging. At this point, the name of the game is more about giving that faceless enemy inside the machine a personality more than anything else. How about making it more of a bully with laughter and teasing? That’s the idea behind [alexpikkert]’s useless machine with attitude — every time you flip a switch, the creature of uselessness inside gets a little more annoyed.

In this case the creature is Arduino-based and features two sound boards that hold the giggles and other sounds. There are three servos total: one for each of the two switch-flipping fingers, and a third that flaps the box lid at you. This build is wide open, and [alexpikkert] even explains how to repurpose a key holder box for the enclosure. Check out the demo after the break.

We love a good useless machine around here, especially when they take a new tack. This one looks like any other useless machine, but what’s happening inside may surprise you.

Continue reading “Useless Box With Attitude Isn’t Entirely Useless”

Dumping A N64 Development Cartridge Safely

Retro gaming enthusiasts have always had great interest in rarities outside the usual commercial titles. Whether they be early betas, review copies, or even near-complete versions of games that never made it to release, these finds can be inordinately valuable. [Modern Vintage Gamer] recently came across a pre-release version of Turok 3 for the Nintendo 64, and set about dumping and preserving the find. (Video, embedded below.)

With one-off cartridges like these, it’s important to take the utmost care in order to preserve the data onboard. Simply slapping it into a regular console might boot up the game, but carries with it a non-zero chance of damaging the cart. Instead, the first step taken was to dump the cart for archival purposes. When working with a prototype cart, commodity dumpers like the Retrode aren’t sufficient to do the job. [Modern Vintage Gamer] notes that a Doctor V64 or Gameshark with a parallel port could work, but elects to use a more modern solution in the form of the Ultrasave and 64drive.

With the cartridge backed up and duplicated onto the 64drive, the code can be run on a real console without risk of damage to the original. At first glance, the game appears similar to the final retail version. Analysis of the dump using a file comparison tool suggests that the only differences between the “80% Complete” ROM and the retail edition are headers, leading [Modern Vintage Gamer] to surmise that the game may have been rushed to release.

While in this case the dump didn’t net an amazing rare version of a retro game, [Modern Vintage Gamer] does a great job of explaining the how and why of the process of preserving a vintage cartridge. We look forward to the next rare drop that shakes up the retro world; we’ve seen efforts on Capcom arcade boards net great results. Video after the break.

Continue reading “Dumping A N64 Development Cartridge Safely”

TTL Simulator In JavaScript

How do you celebrate your YouTube channel passing the 7400 subscriber mark? If you are [Low Level JavaScript], the answer is obvious: You create a 7400 TTL logic simulator in JavaScript. The gate simulations progress from simple gates up to flipflops and registers. You could probably build a 7400-based computer virtually with this code.

In addition to just being fun and interesting, there were a lot of links of interest in the video (see below) and its comments. For one, someone watching the channel took the code and made a Verilog-like IDE that is impressive.

Continue reading “TTL Simulator In JavaScript”

Building A Top-Notch Electret Microphone

Electret microphones are capable of high-quality output, and are prized for their smooth frequency response. However, unlike other types, they can’t simply be plugged directly into a mixing desk. Instead, they require special high-impedence circuitry to extract the audio signal for recording. [DJJules] is a big fan of these microphones, and decided to build a high-quality, easy to use circuit that he has shared with the community. 

The goal of the project was to create a circuit to match the TSB2555B electret capsule that could be used with phantom power, and that could be built with easily obtainable parts. [DJJules] had used FETs in the past, but grew tired of routinely having to hunt for obsolete parts. Instead, this design relies on a dual OPA1642 op-amp, with its low quiescent current meaning it’s perfect for running off phantom power. This means the microphone needs no batteries, and using a dual op-amp enables the circuit to properly drive a balanced audio connection.

The circuit is designed to fit inside a common BM700 or BM800 microphone body, and the PCB can be ordered from PCBWay for those interested in building their own. There’s also a saddle on Shapeways that’s designed to neatly mount the electret capsule within the housing.

The final results are impressive, and this project would make a great entry into the DIY microphone space for anyone eager to start building their own gear. Of course, there are simpler builds if you’re looking for an easier way to get started. Video after the break.

Continue reading “Building A Top-Notch Electret Microphone”