Books You Should Read: The Hardware Hacker

There’s no one quite like Andrew ‘Bunnie’ Huang. His unofficial resume begins with an EE degree from MIT, the author of Hacking the Xbox, creator of the Chumby, developer of the Novena, the first Open Source laptop, and has mentored thousands of people with dozens of essays from his blog.

Above all, Bunnie is a bridge across worlds. He has spent the last decade plying the markets of Shenzhen, working with Chinese manufacturers, and writing about his experiences of taking an idea and turning it into a product with the help of Chinese partners. In short, there is no person better suited to tell the story of how Shenzhen works, what can be done, and how to do it.

Bunnie’s The Hardware Hacker ($29.95, No Starch Press) is the dead tree expression of years of living and working in Shenzhen, taking multiple products to market, and exploring the philosophy that turned a fishing village into a city that produces the world’s electronic baubles.

Continue reading “Books You Should Read: The Hardware Hacker”

Harrowing Story Of Installing Libreboot On ThinkPad

As an Apple user, I’ve become somewhat disillusioned over the past few years. Maybe it’s the spirit of Steve Jobs slowly vanishing from the company, or that Apple seems to care more about keeping up with expensive trends lately rather than setting them, or the nagging notion Apple doesn’t have my best interests as a user in mind.

Whatever it is, I was passively on the hunt for a new laptop with the pipe dream that one day I could junk my Apple for something even better. One that could run a *nix operating system of some sort, be made with quality hardware, and not concern me over privacy issues. I didn’t think that those qualities existed in a laptop at all, and that my 2012 MacBook Pro was the “lesser of evils” that I might as well keep using. But then, we published a ThinkPad think piece that had two words in it that led me on a weeks-long journey to the brand-new, eight-year-old laptop I’m currently working from. Those two words: “install libreboot”.

Continue reading “Harrowing Story Of Installing Libreboot On ThinkPad”

The Many Faces Of JTAG

Wouldn’t it be great if there were just one standard for attaching to, programming, and debugging hardware?  If you could just plug in and everything would just work? Dream on, dreamer! But of course we hobbyists aren’t the only people to suffer from multiple standards. Industry has the same problems, writ large. In response to the proliferation of smart devices — microcontrollers, sensors, and their friends — on any given PCB makes it difficult to test them all, much less their function as a system.

The Joint Test Action Group (JTAG) got together in the mid-80s to make automated testing of circuit boards a standardized process. A JTAG port can be found on almost any piece of consumer electronics with enough brains to warrant it, and it’s also a tremendously useful entry point for debugging your own work and hacking into other’s. You’re going to need to use JTAG someday.

Implemented right, it’s a very cool system that lets you test any compliant IC on the board all from a single connector. It’s mostly used by hackers for its ability to run and halt individual processors, and put them in debugging modes, inspecting their memory states, etc. Essentially every microcontroller responds to JTAG commands, and it’s an incredibly widespread and powerful standard. A victory for rationality and standardization!

The connector pinout was, of course, left up to the manufacturer. The horror!

Five Signals

In principle, JTAG uses five signal lines. They form a chain starting at the debugger, where one device’s output is the next device’s input, until the result is returned back to the debugger.

654px-jtag_chain
JTAG, as imagined by Vindicator CC BY 2.5
  • Test Data In (TDI) is the input from the debugger
  • Test Data Out (TDO) is the return end of the chain
  • Test Clock (TCK) clocks this data along synchronously, similarly to SPI
  • Test Mode Select (TMS) lets the devices know that they’re being debugged — it’s a global chip select
  • Test Reset (TRST) is an optional signal that resets all devices in the chain

Continue reading “The Many Faces Of JTAG”

A How-To In Homebrew Design, Fab, And Assembly With Structural Framing Systems

At this point, the internet is crawling with butt-kicking homebrew 3D printers made with extruded profiles, but it’s easy to underestimate the difficulty in getting there. Sure, most vendors sell a suite of interlocking connectors, but how well do these structural framing systems actually fare when put to the task of handling a build with sub-millimeter tolerances?

I’ve been playing around with these parts for about two years. What I’ve found is that, yes, precise and accurate results are possible. Nevertheless, those results came to me after I failed and–dry, rinse, repeat–failed again! Only after I understood the limits of both the materials and assembly processes was I able to deliver square, dimensionally accurate gantries that could carry a laser beam around a half-square-meter workbed. That said, I wrote a quick guide to taming these beasts. Who are they? What flavors do they come in? How do we achieve those precision results? Dear reader, read on.

Continue reading “A How-To In Homebrew Design, Fab, And Assembly With Structural Framing Systems”

Set Your Clocks To Decimal Time

Many stop lights at street intersections display a countdown of the remaining seconds before the light changes. If you’re like me, you count this time in your head and then check how in sync you are. But did you know that if the French had their way back in the 1890s when they tried to introduce decimal time, you’d be counting to a different beat? Did you know the Chinese have used decimal time for millennia? And did you know that you may have unknowingly used it already if you’ve programmed in Linux? Read on to see what decimal time is along with the answers to these questions.

Continue reading “Set Your Clocks To Decimal Time”

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”

The Many Uses Of The Neon Lamp

Neon lights are that kind of nostalgic item that everybody seems to love. The neon lamp is a type of gas discharge lamp, they generate light when an electrical discharge travels through an ionized gas, or plasma. When the voltage between the electrodes exceeds certain threshold, the gas ionizes and begins conducting electricity. The basic process that generates light is the return of the ions to the ground energy state, with the emission of a photon of light. The light color depends on the emission spectra of the atoms in the gas, and also  on the gas pressure, among other variables.  Gas discharge lamps can be classified by the pressure of the gas:

  • Low pressure: includes the neon lamp, fluorescent lamps and low pressure sodium lamps.
  • High pressure: such as the metal halide, high pressure sodium and mercury vapor lamps.

Another classification comes from the heating method of the cathode:

  • Hot cathode lamps: the electric arc between the electrodes is created via thermionic emission, where electrons are expelled from the electrodes because of the high temperature.
  • Cold cathode lamps: In these, the electric arc results from the high voltage applied between the electrons, that ionizes the gas and conduction can take place.

High intensity lamps are another type of gas discharge lamp where a high power arc is formed between tungsten electrodes. Power levels of several kilowatts can be easily produced this type of lamp. Of course we can’t forget to mention nixie tubes, which are a type of cold cathode neon lamp, popular for building retro clocks. Fortunately, they are now in production again.

Continue reading “The Many Uses Of The Neon Lamp”