Pogo Pin Serial Adapter Thing

A few weeks ago, I was working on a small project of mine, and I faced a rather large problem. I had to program nearly five hundred badges in a week. I needed a small programming adapter that would allow me to stab a few pads on a badge with six pogo pins, press a button, and move onto the next badge.

While not true for all things in life, sometimes you need to trade quality for expediency. This is how I built a terrible but completely functional USB to serial adapter to program hundreds of badges in just a few hours.

Continue reading “Pogo Pin Serial Adapter Thing”

How To Do Beautiful Enclosures With Custom Fiberglass

There are times when I feel the need to really make a mess. When I think of making messes with a degree of permanency, I think of fiberglass. I also really like the smell, reminds me of a simpler time in 8th grade shop class. But the whole process, including the mess, is worth it for the amazing shapes you can produce for speaker pods and custom enclosures.

Utilizing fiberglass for something like a custom speaker pod for a car is not difficult, but it does tend to be tedious when it comes to the finishing stages. If you have ever done bodywork on a car you know what kind of mess and effort I am talking about. In the video below, I make a simple speaker pod meant for mounting a speaker to the surface of something like a car door.

You can also use a combination of wood and fiberglass to make subwoofer cabinets that are molded to the area around them. You can even replace your entire door panel with a slick custom shaped one with built in speakers  if you’re feeling adventuresome.

Continue reading “How To Do Beautiful Enclosures With Custom Fiberglass”

Linux Fu: Better Bash Scripting

It is easy to dismiss bash — the typical Linux shell program — as just a command prompt that allows scripting. Bash, however, is a full-blown programming language. I wouldn’t presume to tell you that it is as fast as a compiled C program, but that’s not why it exists. While a lot of people use shell scripts as an analog to a batch file in MSDOS, it can do so much more than that. Contrary to what you might think after a casual glance, it is entirely possible to write scripts that are reliable and robust enough to use in many embedded systems on a Raspberry Pi or similar computer.

I say that because sometimes bash gets a bad reputation. For one thing, it emphasizes ease-of-use. So while it has features that can promote making a robust script, you have to know to turn those features on. Another issue is that a lot of the functionality you’ll use in writing a bash script doesn’t come from bash, it comes from Linux commands (or whatever environment you are using; I’m going to assume some Linux distribution). If those programs do bad things, that isn’t a problem specific to bash.

One other limiting issue to bash is that many people (and I’m one of them) tend to write scripts using constructs that are compatible with older shells. Often times bash can do things better or neater, but we still use the older ways. For example:

Continue reading “Linux Fu: Better Bash Scripting”

Fabricate Your Own Tabletop Gaming Props

Delve into the mysterious world of tabletop roleplaying games. Warhammer Fantasy Roleplay, Shadowrun, Pathfinder, Ars Magica, Vampire, whatever gets your dice rollin’ — metaphorically in the case of a diceless system. This might very well be your daddy’s D&D. If you’re not a gamer, you’re certainly familiar with the concept. People sit around a table pretending to have an epic adventure, often adding a random element with the help of dice. A map is often displayed on the table, sized for figures that show the various heroes and villains.

As a person with access to a variety of CNC machines I find myself wanting to create things to make gameplay more fun. I want to build a scale castle and have a siege. I want to conduct a ship-to-ship battle with wooden ships built to scale. But I also think smaller. What is something I could make that would help us every day? Say, a box for dice. Not every project needs to be the dragon’s lair.

It turns out a lot of other folks have been thinking about the same thing.

Continue reading “Fabricate Your Own Tabletop Gaming Props”

Linux-Fu: Running Commands

One of the things that makes Linux and Unix-like systems both powerful and frustrating is that there are many ways to accomplish any particular goal. Take something simple like running a bunch of commands in sequence as an example. The obvious way is to write a shell script which offers a tremendous amount of flexibility. But what if you just want some set of commands to run? It sounds simple, but there are a lot of ways to issue a sequence of commands ranging from just typing them in, to scheduling them, to monitoring them the way a mainframe computer might monitor batch jobs.

Let’s jump in and take a look at a few ways you can execute sequences from bash (and many other Linux shells). This is cover the cron and at commands along with a batch processing system called task spooler. Like most things in Linux, this isn’t even close to a complete list, but it should give you some ideas on ways to control sequences of execution.

Continue reading “Linux-Fu: Running Commands”

A Crash Course In Thingiverse Customizer

OpenSCAD is a great way to create objects for 3D printing (or other purposes), especially if you are already used to programming. For things like front panels, it is great because you can easily make modifications and — if you wrote your code correctly–everything will just adjust itself to new positions.

However, what if you have a general-purpose piece of code, and you want people to have the ability to customize it? For example, consider this code:

$fn=100;
difference()
{
  cube([25,25,5]);
  translate([4,4,-1]) cylinder(h=7,r=2);
  translate([25-4,4,-1]) cylinder(h=7,r=2);
  translate([4,25-4,-1]) cylinder(h=7,r=2);
  translate([25-4,25-4,-1]) cylinder(h=7,r=2);
}

That creates the plate with four drill holes you see on the right.

Continue reading “A Crash Course In Thingiverse Customizer”

Panelizing Boards The Easy Way

For reasons that will remain undisclosed until some time in the future, I recently had a need to panelize a few PCBs. Panelization is the art of taking PCB designs you already have, whether they’re KiCad board files, Eagle board files, or just Gerbers, and turning them into a single collection of PCBs that can be sent off to a fab house.

Now this is panel racing

If you’re still wondering what this means, take a look at the last board you got from OSH Park, Seeed, Itead, or Dirty PCBs. Around the perimeter of your board, you’ll find some rough spots. These are ‘mouse bites’ and tabs, places where the boards are strung together to form a gigantic rectangular panel sent off to a manufacturer. You can check out this great interview with [Laen] from OSH Park to get an idea of how this works, but the basic process is to take a bunch of Gerbers, add tabs and mouse bites, solve the knapsack problem, and send the completed panel off to a board house.

Panelizing boards is something most of us won’t have to do often. Really, you only want a panel of boards when you’re manufacturing something. For small-scale production and prototypes, bare boards will do just fine. Simply by virtue of the fact that panelizing boards is far less common than throwing some Gerbers at OSH Park or Seeed, there aren’t many (good) tutorials, and even fewer (good) tools to do so. This is how you panelize boards quickly and easily using Open Source tools.

Continue reading “Panelizing Boards The Easy Way”