- go to the github page at the end of this page
- upload to your board "arduino_LA.ino" or "STM32_LA.ino"
- choose your board and serial port on "processing_LA.pde"
- run it and have a good debug :D
A few days ago I needed a logic sniffer since I don't have any I thought to write my own code. It will work on every Arduino board or AVR and now also STM32. It could be very helpful to debug ISP, I2C and other serial communication where you think that could be an error.
If you wish you could put a led on A0 to see when the MCU is recording, the number of samples is set to 200 but you could increment it until the memory is full.
To have it faster than possible the loop was reduced to the minimum number of statement and I am doing a lot of optimization! All the calculation are made after saving the data, and during the recording there are stored only the values of the pin that changed and when it happened.
I made a processing sketch to visualize it. Using the bar scroll at the bottom of the graph you could move along the captures or alternatively you could use the wheel of the mouse. With the "Start" button you can begin a new recording. Two divider have been added: one to use millisecond instead of microsecond and the other that work like a kind of "zoom" (to change it move the mouse over this button than use the mouse wheel; decreasing it you will zoom in, increasing zoom out). You are also able to save the current window in a .jpg or .tif file with the "Save" button.
In the attachment section you will find all you need: Arduino/STM32 code, processing interface, etc. It works on windows and Linux both 32 64 bit and android devices. I added also an Arduino test sketch if you would like to test this logic analyzer.
Now this Logic Analyzer has the power of a 72MHz 32bit microcontroller, the STM32F103 (more than 4x times faster compared to the Arduino's 16MHz 8bit).
The boards that you could use are the Maple Mini or any generic STM32F103C8T6
For more information: http://stm32duino.com/
If you liked it check these: Reverse Engineering of Hobbyking ESC Programming Card