Arduino Logicanalyzer

uCHobby posted a what looks to be a helpful project implementing a 6-channel logic analyzer on an ATmega168 @ 16MHz clock speed – so it’s Arduino Diecimila compatible –

The computer software is written in Processing, which means it’ll work on Linux, Windows, or Macs. It stores displays the logic state of each pin as data is transferred from the microcontroller. The user can use buttons to disable/enable triggering on any of the 6 pins, and a scroll bar allows the user to view several hundred of previously saved logic states on a timeline. Note, new data is only received if the state changes, so this timeline is not real time.

I estimate the performance to be sufficient enough to analyze a 400KHz I2C data bus without any problems. Also note that 8 pins can be used, but just not on an ATMEGA168, simple changes in the software will allow for 8 channels to be used instead of 6.

To make your own, simply program an ATMEGA168 with the provided hex file, and run the Processing program. I think I commented the code enough for people to modify so they can use their own processor. Also read the other documents in this project. I assume you understand how to program microcontrollers and understand basic computer science concepts like for loops and such.

AVR Logic Analyzer

Logicanalyzer Tut
HOW TO – Use a logic analyzer

Arduinodiecimila Small
Arduino Diecimila PLUS USB Board, fully assembled