Logic Analyzer for AVR/Arduino

Arduino Technology
Logic Analyzer for AVR/Arduino

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

Discuss this article with the rest of the community on our Discord server!


Ready to dive into the realm of hands-on innovation? This collection serves as your passport to an exhilarating journey of cutting-edge tinkering and technological marvels, encompassing 15 indispensable books tailored for budding creators.