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”

Step Up to the 1 kB Challenge

1 kilobyte. Today it sounds like an infinitesimally small number. Computers come with tens of gigabytes of ram, and multiple terabytes of storage space. You can buy a Linux computer with 1 gig of RAM and secondary storage as big as the SD card you throw at it. Even microcontrollers have stepped up their game, with megabytes of flash often available for program storage.

Rapidly growing memory and storage are a great testament to technology marching forward to the beat of Moore’s law. But, we should be careful not to forget the techniques of past hackers who didn’t have so much breathing room. Those were the days when code was written in assembly. Debugging was accomplished with an expensive ICE (an In Circuit Emulator… if you were working for a big company), or a few LEDs if you were hacking away in your basement.

To keep these skills and techniques in play, we’ve created The 1 kB Challenge, a contest where the only limit is what you can do with 1 kB of program memory. Many Hackaday contests are rather loose with constraints — anyone can enter and at least make the judging rounds. This time 1 kB is a hard limit. If your program doesn’t fit, you’re disqualified, and that is a challenge worth stepping up to.

That said, this is Hackaday, we want people to be creative and work around the rules. The important thing to remember is the spirit of the design constraints: this is about doing all you can with 1 kB of program space. Search out the old and wise tricks, like compressing your code and including a decompression program in your 1 kB. Crafty hacks to squeeze more into less is fine. Using the 1 kB as a bootloader to load more code from an SD card is not fine.


Any Hackaday contest needs some awesome prizes, and this one is no different.

Continue reading “Step Up to the 1 kB Challenge”

Ask Hackaday: Open Fire Suppression and Safety Standards

We posted about a 3D printer fire a while back. An attendee of the Midwest RepRap Fest had left his printer alone only to find its immolated remains on his return. In the spirit of open source, naturally, he shared his experience with the rest of us. It occurred to me that hackers are never powerless and there are active things to be done and avenues to explore.

An animation of a commercial fires suppression system, fire trace's, operation.
An animation of a commercial fires suppression system, fire trace’s, operation. Firetrace‘s website has more.

There are really fantastic commercial fire extinguishing systems out there. One implementation, which is commonly deployed in cabinets and machining centers, is a plastic tube pressurized with an extinguishing agent by a connected tank. When a fire breaks out the tube melts at the hottest locations, automatically spraying the area with a suppressant. Variations of this involve a metal nozzle filled with a wax or plastic blended to melt at a certain temperature, much like the overhead fire sprinklers.

This system is also used inside engine compartments with success. For example, this item on amazon, is nothing but a pressurized plastic tube with a gauge on one end. Since the inside of an engine compartment can be treated as an enclosed space, very little fire suppressant is needed to extinguish an unexpected flame. It is important to note that this system works in a high temperature environment like an engine compartment, which bodes well for enclosed build envelopes on 3D printers.

BlazeCut Automatic Fire Suppression System 6' TV200FA, Automotive Extinguisher
BlazeCut Automatic Fire Suppression System 6′ TV200FA, Automotive Extinguisher Installed under Car Hood.

Another option is to construct a suppressant mine. A Japanese and a Thai company have both come out with a throwable fire extinguisher. In the Japanese device, the outside of the extinguisher is a breakable glass vial which shatters upon impact; releasing the agent. The Thai device looks like a volley ball, and releases the agent upon the application of heat. This device seems like a better candidate for 3D printing or home projects. Imagine a small rectangular pack with adhesive on one side that sits near the possible fire points of the printer, such as under the bed or above the nozzle. In the event of a fire, the casing will melt and the system will automatically deploy a spray of extinguishing agent.

Most of the chemicals used in these constructions are benign and readily available. High pressure tubing and waxes can all be purchased and the desired melt points can be aligned with their datasheets by need. Plastic sheets are not hard to procure. These offer a nice solution due to their entirely passive nature. They don’t need power to operate and rely entirely on the properties of the materials they are constructed out of.

There are other options in active systems. Hackaday readers suggested things such as flame sensors for adding automatic cut-offs in case of a fire. Thermal fuses can also be considered in some cases. There are other tricks too, which are less kosher but will work nonetheless. For example, placing a critical wire, fuse, or component in the likely path of a fire so that it is destroyed first, stopping the operation of the device quickly. These avenues should be explored. At minimum there should be at least one project that uses a Raspberry Pi and an Arduino to tweet that fire suppression failed and the house is on fire.

The Thai invention is a volleyball that melts upon contact with flame and releases a pressurized extinguishing agent.

Some of the big questions to ask are on the legal and ethical side. If someone started selling kits for a DIY fire suppression system and a fire ends up destroying someone’s property despite the device, who is responsible? Is it even safe to post instructions? What if a kit prematurely sets off and injures someone. I imagine a big part of the cost of these professional systems is some sort of liability insurance and certification. Still, putting a six hundred dollar fire suppression system on a six hundred dollar printer seems silly, and something is better than nothing.

Lastly, the comments directed a ton of flak towards the certification systems. There should be no reason that open source projects can’t produce their own specification for safety. An open source specification without an agency naturally couldn’t provide a legal defense against property damage, but a thought-out test program would provide piece of mind. For example, in the case of 3D printers, one could have a set of basic fail-safe tests. One example would be bringing the printer up to temperature and rapidly disconnecting the thermistor, does the printer erupt into fire? No? Good, it meets the spec. I wouldn’t mind knowing that the latest version of Marlin was tested on the popular boards and still met the community specification for fire safety.

As far as I can tell, there’s been very little work in open sourcing safety systems or in providing a testing framework for ensuring open hardware meets basic safety conditions. Many of you have experience with these systems. Some of you have gone through the entirely un-enjoyable process of getting a UL certification. What does Hackaday think?

Hackaday at SXSW

It’s that time of year again. In March, Austin Texas transforms itself into a nexus of art and technology and holds a celebration of Music, Film, and something called Interactive. It turns out that we’re Interactive: Hackaday will once again be at SXSW and we want you to join us there — Austin is excellent at showing everyone a fun time (as long as you don’t need to drive anywhere).

We’ll be on site starting this Friday (3/11/16) and we want you to come party with us at the Hardware House starting at 6pm. This is the third year that Hardware House has hosted, and last year the party was packed with a ton of interesting people, including some Hackaday alums who were there by coincidence. This year you can expect the same, but the fun doesn’t stop on Friday. [Sophi Kravitz] will be hosting a panel on Sunday at 5pm about Technology and Social Change.

Our main event is on Monday (3/14) at noon: Lunch with Hackaday as we launch the world premier of the 2016 Hackaday Prize film. On hand for the SXSW events are [Sophi Kravitz], [Chris Gammell], [Aleksandar Bradic], [Amber Cunningham], [Michael Guilfoil], and [Ivan Lazarevic].

But even after SXSW, we’re not done with the Lone Star State. [Brandon Dunson] and [Mike Szczys] will be at Hackaday Prize Worldwide: Dallas the following weekend at the Dallas Makerspace. Get excited Texas, we certainly are!

Blacksmith Forge Made From the Bathroom Sink

The sweltering heat had finally moved on and Giant Tick season was coming to a close (not kidding, they are HUGE here), when I decided to fire up my hacked together blacksmith forge made out of an old bathroom sink and aquarium stand.

In the age-old formula I needed to supply an air source to a fuel to create enough heat to make iron malleable. I got the idea that this particular bathroom sink might be a good candidate for a fire bowl after I banged my shin with it and then cursed at it. It was clearly made of cast iron and as proof it was clearly unfazed by my tirade of words which I hope my son has learned from the Internet and not from listening to me remodel the bathroom.

Continue reading “Blacksmith Forge Made From the Bathroom Sink”

Tindie Becomes A Part Of The Hackaday Family

A little over two years ago, we announced that Hackaday became a part of Supplyframe. This was a natural fit: both sides are comprised of hardware engineers, computer scientists and hackers alike. We immediately pooled forces and set out to make Hackaday bigger, with a broader mission. So far, it has been an amazing journey: is approaching 100,000 registered users, The Hackaday Prize is in its second year, and the Hackaday Store is about to fulfill its 5,000th order.

The main theme behind all of this is fostering collaboration, learning, and providing incentives for everyone in the community to stop procrastinating and try to build something amazing. is here to inspire, to help develop projects in the open, and the Hackaday Store is to provide a way to turn passion projects into a self-sustainable lifestyle. While the road to community-powered innovation might not be easy, it’s something we’re all incredibly passionate about, and will continue investing in to further this goal.

With that in mind, we’re very excited to announce that everyone’s favorite hardware marketplace – Tindie, has been acquired by Supplyframe and will be joining the Hackaday family! Apart from the fact that most of us are personal fans of the website, we believe that Tindie fills an important gap in helping projects cross the chasm between prototype and initial production. Crowdfunding provides access to capital for some (and access to laughs for others), but it’s not always the way to go. You might not be ready to quit your day job or take on a project full-time. You might be working on rev1 of the project and want to try the “lean manufacturing” thing. Or maybe you’re building something for your own purposes and have some extras lying around. Tindie is a platform that has helped launch many such projects, and we’re incredibly lucky to have it be a part of Hackaday.

Now what?

Naturally, the question that’s on everyone’s mind is, what happens next? Are we going to mess things up? Paint Tindie in black? Change the fee structure? While we have ideas on things that we could help with, our main goal will be making sure that the Tindie community continues to thrive. The only changes we’re interested in are the ones that make the community stronger. We are fascinated with the challenges surrounding the supply chain and will be looking into tools to help sellers improve margins and ship better products. and Tindie combined represent the world’s largest repository of (working) Open Hardware products, so we will be looking into more closely integrating the two. We will also make efforts to grow the overall Tindie audience, as every new buyer helps move the community forward.

All of these are some of the ideas, but we’re ultimately looking at you for guidance: things we should do, problems we should attack, dreams of future capabilities.

Wish us luck in this new adventure.

Aleksandar Bradic

From Gates to FPGA’s – Part 1: Basic Logic

It’s time to do a series on logic including things such as programmable logic, state machines, and the lesser known demons such as switching hazards. It is best to start at the beginning — but even experts will enjoy this refresher and might even learn a trick or two. I’ll start with logic symbols, alternate symbols, small Boolean truth tables and some oddball things that we can do with basic logic. The narrative version is found in the video, with a full reference laid out in the rest of this post.


1The most simple piece of logic is inversion; making a high change to low or a low change to high. Shown are a couple of ways to write an inversion including the ubiquitous “bubble” that we can apply almost anywhere to imply an inversion or a “True Low”. If it was a one it is now a zero, where it was a low it is now a high, and where it was true it is now untrue.


2Moving on to the AND gate we see a simple truth table, also known as a Boolean Table, where it describes the function of “A AND B”. This is also our first opportunity to see the application of an alternate symbol. In this case a “low OR a low yields a low”


3Most if not all of the standard logic blocks come in an inverted form also such as the NAND gate shown here. The ability to invert logic functions is so useful in real life that I probably used at least three times the number of NAND gates as regular AND gates when doing medium or larger system design. The useful inversion can occur as spares or in line with the logic.

Continue reading “From Gates to FPGA’s – Part 1: Basic Logic”