Lathe Headstock Alignment: Cutting A Test Bar

Let’s say you’ve recently bought a lathe and set it up in your shop. Maybe you’ve even gone and leveled it like a boss. You’re ready to make chips, right? Well, not so fast. As real machinists will tell you, you can use all the levels and lasers and whatever that you want, but the proof is in the cut. Precision leveling gets your machine in the ballpark (machinists have very small ballparks) but the final step to getting a machine to truly perform well is to cut a test bar. This is a surefire way to eliminate any last …read more

Continue reading Lathe Headstock Alignment: Cutting A Test Bar

Circuit VR: An (Almost) Practical Buck Converter

In the last installment of Circuit VR, we walked around a simplified buck converter. The main simplification was using a constant PWM signal. The result is that the output voltage is a fixed fraction of the input voltage. For a regulator, the pulse width will need to depend on the output voltage so that any changes in the output are self-correcting. So this time, we’ll make a regulator, although we’ll still use a few Spice elements you’d have to replace in a practical design. In particular, we’ll assume you can generate a triangle wave, which is easy enough, and produce …read more

Continue reading Circuit VR: An (Almost) Practical Buck Converter

Using Pad Printers To Add Color To Artistic PCBs

I’ve done a few experiments in adding color to printed circuit boards. These experiments used a process known as pad printing, and so far all indications are that pad printing is a viable process for truly multicolor artistic PCBs. For this year’s DEF CON, I’m stepping things up and taking them to their logical conclusion. I’m making true multicolor PCBs with orange and blue ink. This is, I believe, the first time this has ever been done with printed circuit board art, and it is certainly the first time it has ever been documented.

You may be wondering why I …read more

Continue reading Using Pad Printers To Add Color To Artistic PCBs

The Machinists’ Mantra: Level Thy Lathe

Let’s say you’ve gone and bought yourself a sweet sweet metal lathe. Maybe it’s one of the new price-conscious Asian models, or maybe it’s a lovely old cast iron beast that you found behind a foreclosed machine shop. You followed all the advice for setting it up, and now you’re ready to make chips, right? Well, not so fast. Unlike other big power tools, such as band saws or whatever people use to modify dead trees, machine tools need to be properly level. Not, “Hurr hurr my carpenter’s level says the bubble is in the middle”, but like really level. …read more

Continue reading The Machinists’ Mantra: Level Thy Lathe

Coolest Way to Watch 3D Printing: Lights, Camera, Octolapse!

Octoprint is a household name for anyone into 3D printing and anyone regularly reading Hackaday. Described by creator Gina Häußge as “the snappy web interface for your 3D printer”, Octoprint allows you to control effectively any desktop 3D printer over the local network or Internet. It even has webcam support so you can watch your printer while it works, meaning you can finally put that video baby monitor back into the crib with Junior.

While the core functionality of Octoprint is fantastic alone, its true power is unlocked through the plugin system and the community that’s sprung up around it. …read more

Continue reading Coolest Way to Watch 3D Printing: Lights, Camera, Octolapse!

Linux Fu: Scripting for Binary Files

If you ever need to write a binary file from a traditional language like C, it isn’t all that hard to do. About the worst thing you might have to deal with is attempts to fake line endings across Windows and Linux, but there’s usually a way to turn that off if it is on by default. However, if you are using some type of scripting language, binary file support might be a bit more difficult. One answer is to use a tool like xxd or t2b (text-to-binary) to handle the details. You can find the code for t2b on …read more

Continue reading Linux Fu: Scripting for Binary Files

Linux Fu: The Great Power of Make

Over the years, Linux (well, the operating system that is commonly known as Linux which is the Linux kernel and the GNU tools) has become much more complicated than its Unix roots. That’s inevitable, of course. However, it means old-timers get to slowly grow into new features while new people have to learn all in one gulp. A good example of this is how software is typically built on a Linux system. Fundamentally, most projects use make — a program that tries to be smart about running compiles. This was especially important when your 100 MHz CPU connected to a …read more

Continue reading Linux Fu: The Great Power of Make

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 …read more

Continue reading Buttery Smooth Fades with the Power of HSV

Getting Good at FPGAs: Real World Pipelining

Parallelism is your friend when working with FPGAs. In fact, it’s often the biggest benefit of choosing an FPGA. The dragons hiding in programmable logic usually involve timing — chaining together numerous logic gates certainly affects clock timing. Earlier, I looked at how to split up logic to take better advantage of parallelism inside an FPGA. Now I’m going to walk through a practical example by modeling some functions. Using Verilog with some fake delays we can show how it all works. You should follow along with a Verilog simulator, I’m using EDAPlayground which runs in your browser. The code …read more

Continue reading Getting Good at FPGAs: Real World Pipelining

Pipelining Digital Logic in FPGAs

When you first learn about digital logic, it probably seems like it is easy. You learn about AND and OR gates and figure that’s not very hard. However, going from a few basic gates to something like a CPU or another complex system is a whole different story. It is like going from “Hello World!” to writing an operating system. There’s a lot to understand before you can make that leap. In this set of articles, I want to talk about a way to organize more complex FPGA designs like CPUs using a technique called pipelining.

These days a complex …read more

Continue reading Pipelining Digital Logic in FPGAs