Compiling A $22 Logic Analyzer

On my way to this year’s Hackaday SuperConference I saw an article on EE Times about someone taking the $22 Lattice iCEstick and turning it into a logic analyzer complete with a Python app to display the waveforms. This jumped out as pretty cool to me given that there really isn’t a ton of RAM on the stick, basically none that isn’t contained in the FPGA itself.

[Jenny List] has also written about the this application as created by [Kevin Hubbard] of Black Mesa Labs and [Al Williams] has a great set of posts about using this same $22 evaluation board doing ground up Verilog design using open source tools. Even if you don’t end up using the stick as a logic analyzer over the long haul, it’ll be very easy to find many other projects where you can recompile to invent a new purpose for it.

Continue reading “Compiling A $22 Logic Analyzer”

Creating A PCB In Everything: KiCad, Part 2

This is the continuation of a series where I create a PCB in every software suite imaginable. Last week, I took a look at KiCad, made the schematic representation for a component, and made a schematic for the standard reference PCB I’ve been using for these tutorials. Now it’s time to take that schematic, assign footprints to parts, and design a circuit board.

Continue reading “Creating A PCB In Everything: KiCad, Part 2”

Hack Safely: Fire Safety In The Home Shop

Within the past two months we’ve covered two separate incidents of 3D printing-related fires. One was caused by an ill-advised attempt to smooth a print with acetone heated over an open flame, while the other was investigated by fire officials and found to have been caused by overuse of hairspray to stick prints to the printer bed. The former was potentially lethal but ended with no more than a good scare and a winning clip for “Hacking’s Funniest Home Videos”; the latter tragically claimed the life of a 17-year old lad with a lot of promise.

In light of these incidents, we here at Hackaday thought it would be a good idea to review some of the basics of fire safety as they relate to the home shop. Nowhere was this need made clearer than in the comments section on the post covering the fatal fire. There was fierce debate about the cause of the fire and the potential negative effect it might have on the 3D-printing community, with comments ranging from measured and thoughtful to appallingly callous. But it was a comment by a user named [Scuffles] that sealed the deal:

“My moment of reflection is that it’s well past time I invest in a fire extinguisher for my workstation. Cause right now my fire plan pretty much consists of shouting obscenities at the blaze and hoping it goes out on its own.”

Let’s try to come up with a better plan for [Scuffles] and for everyone else. We’ll cover the basics: avoidance, detection, control, and escape.

Continue reading “Hack Safely: Fire Safety In The Home Shop”

Controlling Your Instruments From A Computer: Doing Something Useful

Do you know how to harvest data from your bench tools, like plotting bandwidth from your oscilloscope with a computer? It’s actually pretty easy. Many bench tools make this easy using a standard protocol with USB to make the connection.

In the previous installment of this article we talked about the National Instruments VISA (Virtual Instrument Software Archetecture) standard for communicating with your instruments from a computer, and introduced its Python wrapper with a simple demonstration using a Raspberry Pi. We’ll now build on that modest start by describing a more useful application for a Raspberry Pi and a digital oscilloscope; we’ll plot the bandwidth of an RF filter. We’ll assume that you’ve read the previous installment and have both Python and the required libraries on your machine. In our case the computer is a Raspberry Pi and the instrument is a Rigol DS1054z, but similar techniques could be employed with other computers and instruments.

Continue reading “Controlling Your Instruments From A Computer: Doing Something Useful”

Iron Tips: Soldering Headphones And Enamel Wire

We’ve all had that treasured pair of headphones fail us. One moment we’re jamming out to our favorite song, then, betrayal. The right ear goes out. No wait. It’s back. No, damn, it’s gone. It works for a while and then no jiggling of the wire will bring it back. So we think to ourselves, we’ve soldered before. This is nothing. We’ll just splice the wire together.

So we open it up only to be faced with the worst imaginable configuration: little strands of copper enamel wire intertwined with nylon for some reason. How does a mortal solder this? First you try to untwine the nylon from the strands. It kind of works, but now the strands are all mangled and weird. Huh. Okay. well, you kind of twist them together and give a go at soldering. No dice. Next comes sandpaper, torches, and all sorts of work-a-rounds. None of them seem to work. The best you manage is sound in one ear. It’s time to give up.

Soldering this stuff is actually pretty easy. It just takes a bit of knowledge about how assembly line workers do it. Let’s take a look.

Continue reading “Iron Tips: Soldering Headphones And Enamel Wire”

Creating A PCB In Everything: KiCad, Part 1

This is the continuation of a series of articles demonstrating how to Create A PCB In Everything. In this series, we take a standard reference circuit and PCB layout — a simple ATtiny85 board — and build it with different PCB design tools. Already, we’ve taken a look at the pre-history of PCB design with Protel Autotrax, we learned Fritzing is a joke for PCB design, and we’ve done a deep dive into Eagle. Each of these tutorials serves two purposes. First, it is a very quick introduction to each PCB design tool. Second, this series provides an overall comparison between different PCB design tools.

Now, finally, and after many complaints, it’s time for the tutorial everyone has been waiting for. It’s time for KiCad.

No, like the head of the Bajoran clergy

Although KiCad (pronounced ‘Kai-Cad’ like the head of the Bajoran clergy, not ‘Key-Cad’ like the thing that goes in a lock) is the new hotness when it comes to PCB design. The amazing growth of KiCad installations over the past few years is a long time coming. In development since 1992, KiCad has cemented itself as the premier Open Source PCB design suite, and since 2013 CERN has been making contributions to the project. More recently, the KiCad project has been showing off some amazing new features. These include 3D rendering of boards, interactive routing, push-and-shove, simulation, and dozens of other features that put it on a path to being on par with the top of the line EDA suites. Add in some great community contributions, and you have something really, really amazing. All of this is wrapped up in an Open Source license, free as in speech and beer. If you’re looking for the future of PCB design, Eagle is going to get very good but KiCad is almost there now while being Open Source.

Continue reading “Creating A PCB In Everything: KiCad, Part 1”

How To Control Your Instruments From A Computer: It’s Easier Than You Think

There was a time when instruments sporting a GPIB connector (General Purpose Interface Bus) for computer control on their back panels were expensive and exotic devices, unlikely to be found on the bench of a hardware hacker. Your employer or university would have had them, but you’d have been more likely to own an all-analogue bench that would have been familiar to your parents’ generation.

A GPIB/IEEE488 plug. Alkamid [CC BY-SA 3.], via Wikimedia Commons
A GPIB/IEEE488 plug. Alkamid [CC BY-SA 3.], via Wikimedia Commons.
The affordable instruments in front of you today may not have a physical GPIB port, but the chances are they will have a USB port or even Ethernet over which you can exert the same control. The manufacturer will provide some software to allow you to use it, but if it doesn’t cost anything you’ll be lucky if it is either any good, or available for a platform other than Microsoft Windows.

So there you are, with an instrument that speaks a fully documented protocol through a physical interface you have plenty of spare sockets for, but if you’re a Linux user and especially if you don’t have an x86 processor, you’re a bit out of luck on the software front. Surely there must be a way to make your computer talk to it!

Let’s give it a try — I’ll be using a Linux machine and a popular brand of oscilloscope but the technique is widely applicable.

Continue reading “How To Control Your Instruments From A Computer: It’s Easier Than You Think”