Saleae Logic Analyzer Detection

Want to know if a Saleae original logic analyzer is sniffing your bus traffic? It’s easily done in software using a single digital I/O pin!

Arduino sketch used in the video:

// Detects the precence of a Saelae Original Logic probe on the
// SENSE pin. Be sure to add an external ~1M ohm pull down
// resistor to the SENSE pin.
// Craig Heffner, www.analogzoo.com

int pin_state = 0;
int LED = 13;
int SENSE = 7;

void setup() {
  pinMode(LED, OUTPUT);
  pinMode(SENSE, INPUT);
}

void loop() {
  // Enable the internal pullup resistor. This will set the
  // SENSE pin to a high logic state (~5v).
  // If a Saleae Original logic analyzer is connected to this
  // pin, it will retain a logic high state (~2.4v) even after
  // the internal pull up is disabled. Else, the external 1M
  // pull down resistor will pull the pin state low.
  pinMode(SENSE, INPUT_PULLUP);
  delay(1);
  
  // Disable the internal pullup resistor on the SENSE pin, and
  // wait for it to be pulled low by the external 1M resistor.
  pinMode(SENSE, INPUT);
  delay(1);

  // Read the pin state. If high, then there is a Saleae Original
  // logic probe on the SENSE pin, and the LED will be lit.
  pin_state = digitalRead(SENSE);
  digitalWrite(LED, pin_state);
}

One thought on “Saleae Logic Analyzer Detection

  1. Another case of test equipment disturbing the tested device are logic analyzers and other digital equipment disconnected from power, or in case of USB-powered analyzers, connected to a powered-off computer. They usually tie all probe inputs low, because the ESD protection diodes suddenly start to try to supply the entire analyzer from the probe input. Effectively, all probes are diode connected to a big capacitor (decoupling caps) in parallel to a small resistor (all the other stuff) connected to GND.

Leave a Reply

Your email address will not be published. Required fields are marked *