element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
DIY Test Equipment
  • Challenges & Projects
  • Project14
  • DIY Test Equipment
  • More
  • Cancel
DIY Test Equipment
Blog Mini Logic Probe with display
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join DIY Test Equipment to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Workshopshed
  • Date Created: 26 Jul 2017 9:55 PM Date Created
  • Views 2026 views
  • Likes 8 likes
  • Comments 4 comments
  • diytestequipch
Related
Recommended

Mini Logic Probe with display

Workshopshed
Workshopshed
26 Jul 2017

I was planning to make a super simple logic probe but Jon beat me to it with his comparator based logic probe. So I've prototyped a microcontroller based one.

 

Microcontroller based logic probe with display

My project has just two modules, an Arduino clone and an Adafruit I2C LED backpack. The probe is connected to an analogue pin although the current software uses it as a digital pin only. The pin is sampled once every half second and 8 samples are shown across the screen on the first 2 lines.

image

I tested the LCD with the Adafruit demo followed by writing my own hardcoded bitmap.

image

Code

The setup sets the pins, then clears the display and sets the brightness. In the loop it takes a sample, mirrors it to the pin 13 LED and then updates the display.

 

#include <Adafruit_LEDBackpack.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
Adafruit_8x8matrix matrix = Adafruit_8x8matrix();
int sampleNo;
bool samples[8];

void setup() {
  Serial.begin(9600);
  Serial.println("Logic Probe");
  pinMode(A1, INPUT);
  pinMode(13, OUTPUT);
  
  matrix.begin(0x70);  // pass in the address
  matrix.clear();
  matrix.setBrightness(5);
  matrix.writeDisplay();
}

void loop() {
  samples[sampleNo] = digitalRead(A1);   // read the input pin
  digitalWrite(13, samples[sampleNo]);   // sets the LED to the input value
  writeDisplay();
  sampleNo = ++sampleNo % 7;
  delay(500);
}

void writeDisplay() {
  matrix.clear();  
  for (int i=0; i <= 7; i++){
      matrix.drawPixel(i, samples[i], LED_ON);
   } 
   matrix.writeDisplay();
}

 

Libraries

https://github.com/adafruit/Adafruit-GFX-Library

https://github.com/adafruit/Adafruit_LED_Backpack

 

Improvements?

There seems to be a power issue where the Arduino resets when the display refreshes. That was the case with the demo as well as my test code. Potentially a big capacitor across the power rails might fix that or perhaps an independent supply for the display.

 

It should be possible to update writeDisplay so that the signal scroll across the screen, it would also be good if it used more than just the first two rows on the display.

 

The other obvious thing to try would be to write the data from the input back to the serial port then have a graphing tool on a host PC to display or capture the waveform.

  • Sign in to reply

Top Comments

  • Workshopshed
    Workshopshed over 8 years ago in reply to jc2048 +2
    Video is challenging for me as most of my projects get built late at night. I mostly put it there for inspiration
  • Workshopshed
    Workshopshed over 8 years ago in reply to DAB +2
    I do also have a 555 based continuity tester with a speaker. I'll do a teardown of that
  • jc2048
    jc2048 over 8 years ago +1
    Neat display - you're halfway to an oscilloscope there. (I'm glad I didn't put you off - there's room here for as many different logic probes as people want to do.) One thought that occurs to me is that…
  • Workshopshed
    Workshopshed over 8 years ago in reply to DAB

    I do also have a 555 based continuity tester with a speaker. I'll do a teardown of that

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 8 years ago

    Nice approach.

     

    You could also do FFT displays with the simple LED device.

     

    I would use a little speaker to also produce some noise.  Nothing like hearing pulses arriving to make the lab a happy place.

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • Workshopshed
    Workshopshed over 8 years ago in reply to jc2048

    Video is challenging for me as most of my projects get built late at night. I mostly put it there for inspiration

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jc2048
    jc2048 over 8 years ago

    Neat display - you're halfway to an oscilloscope there. (I'm glad I didn't put you off - there's room here for as many different logic probes as people want to do.)

     

    One thought that occurs to me is that it should be possible to use whatever interrupt-on-change feature the Atmel processor has to detect short pulses (if anyone wanted to extend the functionality).

     

    BTW If you want to enter the actual competition, strictly you need a video.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube