Play around with electronics long enough, and eventually you’ll run into I2C devices. These chips – everything from sensors and memory to DACs and ADCs – use a standardized interface that consists of only two wires. Interacting with these devices is usually done with a microcontroller and an I2C library, but [Kevin] wanted to take that one step further. He’s bitbanging I2C devices by hand and getting a great education in the I2C protocol in the process.
Every I2C device is controlled by two connections to a microcontroller, a data line and a clock line. [Kevin] connected these lines to tact switches through a pair of transistors, allowing him to manually key in I2C commands one bit at a time.
[Kevin] is using a 24LC256 EEPROM for this demonstration, and by entering a control byte and two address bytes, he can enter a single byte of data by hand that will be saved for many, many years in this tiny chip.
Of course getting data into a chip is only half of the problem. By altering the control byte at the beginning of an I2C message by one bit, [Kevin] can also read data out of the chip.
This isn’t [Kevin]’s first experimentation in controlling chips solely with buttons. Earlier, we saw him play around with a 595 shift register using five push buttons. It’s a great way to intuit how these chips actually work, and would be an exceptional learning exercise for tinkerers young and old,
Continue reading “Bitbanging I2C by hand”
[Scott] was recently given a frequency counter, and once he brought it home, he started contemplating how he could possibly make it better. While the counter worked well as-is, he wanted to find a way to record data readings over a reasonably long period of time. He figured that interfacing it with his computer would be the best way to do this, but he had to find a way to connect the devices first.
He started poking around inside the frequency counter and stumbled upon a possible data source when taking a closer look at the display board. He found that he could read the frequency data as it was being written to the display, and send that data to his computer. He used an ATMega48 to intercept the data and code from the V-USB project to bit-bang the data to his PC over USB.
Now, anything he sees on the frequency counter can be easily collected and graphed on his computer with little fuss.
Stick around to see a quick video demonstration of his hack in action.
Continue reading “Adding USB connectivity to old benchtop tools”
It was an interface that launched a thousand hacks. Near trivial to program, enough I/O lines for useful work, and sufficiently fast for a multitude of applications: homebrew logic analyzers, chip programmers, LCD interfaces and LED light shows, to name a few.
Today the parallel printer port is on the brink of extinction (and good riddance, some would say). Largely rendered obsolete by USB, few (if any) new peripherals even include a parallel connector, and today’s shrinking computers — nettops, netbooks, media center PCs — wouldn’t have space for it anyway. That’s great for tidy desks, but not so good if you enjoyed the dirt-cheap hacks that the legacy parallel port made possible.
Fear not, for there’s a viable USB alternative that can resurrect many of these classic hacks! And if you’ve done much work with Arduino, there’s a good chance it’s already lurking in your parts drawer.
Continue reading “Introduction to FTDI bitbang mode”