An Introduction to Differential I²C

A few weeks back, we talked about the no-nos of running I²C over long wires. For prototyping? Yes! But for a bulletproof production environment, this practice just won’t make the cut. This month I plucked my favorite solution from the bunch and gave it a spin. Specifically, I have put together a differential I²C (DI²C) setup with the PCA9615 to talk to a string of Bosch IMUs. Behold: an IMU Noodle is born! Grab yourself a cup of coffee and join me as I arm you with the nuts and bolts of DI²C so that you too can run I²C over long cables like a boss.

What’s so Schnazzy about Differential Signals?

There’s a host of ways to make I²C’s communication lines more noise resistant. From all of the choices we covered, I picked differential signals. They’re simple, fairly standardized, and just too elegant to ignore. Let’s take a moment for a brief “differential-signals-101” lecture. Hopefully, you’re already caffeinated! Continue reading “An Introduction to Differential I²C”

LTC4316 is the I2C Babelfish

The LTC4316 is something special. It’s an I²C address translator that changes the address of a device that would otherwise conflict with another on the same I²C bus. Not a hack? Not so fast. Exactly how this chip does this trick is clever enough that I couldn’t resist giving it the post it rightfully deserves.

On-the-Fly Translation

What’s so special? This chip translates the address on-the-fly, making it transparent to the I²C protocol. Up until this point, our best bet for resolving address collisions was to put the clashing chip on a separate I²C bus that could be selectively enabled or disabled. In that department, there’s the PCA9543 and PCA9547 demultiplexers which we’ve seen before. Both of these devices essentially act like one-way check valves. To address any devices downstream, we must first address the multiplexer and select the corresponding bus. While these chips resolve our address collision problems, and while there’s technically a way to address a very large number of devices if we’re not time-constrained, the control logic needed to address various bus depths can get clunky for nested demultiplexers.

What’s so classy about the LTC4316 is that is preservers simplicity by keeping all devices on the same bus. It prevents us from having to write a complicated software routine to address various sections of a demultiplexed I²C bus. In a nutshell, by being protocol-transparent, the LTC4316 keeps our I²C master’s control logic simple.

How it Works

I mocked up a quick test setup to have a go at this chip in real life. Continue reading “LTC4316 is the I2C Babelfish”

Taking the Leap Off Board: An Introduction to I2C Over Long Wires

Image result for i2c sensor array
prototyping starts here, but we’re in danger when projects finish with this sort of wiring

If you’re reading these pages, odds are good that you’ve worked with I²C devices before. You might even be the proud owner of a couple dozen sensors pre-loaded on breakout boards, ready for breadboarding with their pins exposed. With vendors like Sparkfun and Adafruit popping I²C devices onto cute breakout boards, it’s tempting to finish off a project with the same hookup wires we started it with. It’s also easy to start thinking we could even make those wires longer — long enough to wire down my forearm, my robot chassis, or some other container for remote sensing. (Guilty!) In fact, with all the build logs publishing marvelous sensor “Christmas-trees” sprawling out of a breadboard, it’s easy to forget that I²C signals were never meant to run down any length of cable to begin with!

As I learned quickly at my first job, for industry-grade (and pretty much any other rugged) projects out there, running unprotected SPI or I²C signals down any form of lengthy cable introduces the chance for all sorts of glitches along the way.

I thought I’d take this week to break down that misconception of running I²C over cables, and then give a couple examples on “how to do it right.”

Heads-up: if you’re just diving into I²C, let our very own [Elliot] take you on a crash course. Continue reading “Taking the Leap Off Board: An Introduction to I2C Over Long Wires”

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”

Abacus Drive is a Speed-to-Torque Game-Changer

Apart from the harmonic drive, the engineering community hasn’t really come up with any clever mechanisms for speed-to-torque conversion in the last few decades. However, recently a few folks at SRI have given us one more transmission to drool over: the Abacus Drive.

The Abacus Drive takes the standard concepts of a cycloidal drive, but takes the eccentric gear tooth pattern that we’re familiar with and converts it to two grooves in which an array of rolling spacers will ride. The benefit with this design is two-fold: it’s both constructed from entirely rigid components (unlike the harmonic drive), and it has a low-backdriving torque, enabling the application to more easily detect changes in load.

Achieving an affordable low-speed, high-torque transmission has been a holy grail among roboticists, where every motor-driven manipulator joint becomes an engineering design headache where the designers fight their application’s backlash, torque, and price constraints to get a functional robot arm. This problem stems from the fact that motors just don’t perform efficiently at low-speeds, where the near-stall conditions cause them to draw vastly larger amounts of torque compared to their full-speed conditions. While the Abacus Drive isn’t hitting the market anytime soon, we’ll let this idea stew in the community and hope to see some budget variants pop up in the near future.

Continue reading “Abacus Drive is a Speed-to-Torque Game-Changer”

Drop-in Laser Cutter Alignment Beam Works like a Charm

Every laser cutter enthusiast eventually pops the question: how on earth do I align an invisible beam that’s more-than-happy to zap my eyeballs, not to mention torch everything else in its path? We hate to admit it, but laser cutter beam alignment is no easy task. To greatly assist in this endeavor, though, some folks tend to mix a red diode laser into the path of the beam. Others temporarily fixture that diode laser directly in the beam path and then remove it once aligned.

One deviant has taken diode laser mixing to the next level! [Travis Reese] has added a servo-driven diode laser that dynamically drops into the path of the laser tube when the lid pops up, and then tilts comfortably out of the laser path when the lid closes again.
Continue reading “Drop-in Laser Cutter Alignment Beam Works like a Charm”

90+ Videos Take you from Laser Chump to Laser Champ

Few of us document the progression of our side projects. For those who do, those docs have the chance at becoming a tome of insight, a spaceman’s “mission log” found on a faraway planet that can tell us how to tame an otherwise cruel and hostile world. With the arrival of the RDWorks Learning Lab Series, Chinese laser cutters have finally received the treatment of a thorough in-depth guide to bringing them into professional working order.

In two series, totalling just over 90 videos (and counting!) retired sheet-metal machinist [Russ] takes us on a grand tour of retrofitting, characterizing, and getting the most out of your recent Chinese laser cutter purchase.

Curious about laser physics? Look no further than part 2. Wonder how lens size affects power output? Have a go at part 39. Need a supplemental video for beam alignment? Check out part 31. For every undocumented quirk about these machines, [Russ] approaches each problem with the analytic discipline of a data-driven scientist, measuring and characterizing each quirk with his suite of tools and then engineering a solution to that quirk. In some cases, these are just minor screw adjustments. In other cases, [Russ] shows us his mechanical wizardry with a custom hardware solution (also usually laser cut). [Russ] also brings us the technical insight of a seasoned machinist, implementing classic machinist solutions like a pin table to produce parts that have a clean edge that doesn’t suffer from scatter laser marks from cutting parts on a conventional honeycomb bed.

Solid build logs are gems that are hard to come by, and [Russ’s] Chinese laser cutter introduction shines out as a reference that will stand the test of time. Don’t have the space for a laser cutter? For the micromachinists, have a look at The Guerrilla Guide to CNC Machining, Mold Making, and Resin Casting.

Continue reading “90+ Videos Take you from Laser Chump to Laser Champ”