Category Archives: Programming


Detecting presence of LED within Arduino

I had a need to detect whether a device was properly plugged in to an Arduino microcontroller.  My “proof of concept” test was to be able to see if I could come up with a way to have the Arduino tell me if an LED was plugged into a particular pin.

Here is what I found:

By modifying the ReadAnalogVoltage example, I was able to measure the voltage dropped triggered by the draw of the LED.

Here is the sketch:

Reads an analog input on pin 0, converts it to voltage, and prints the result to the serial monitor.
Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.

This example code is in the public domain.

// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
pinMode(A0, OUTPUT);
digitalWrite(A0, HIGH);


// the loop routine runs over and over again forever:
void loop() {
// read the input on analog pin 0:
int sensorValue = analogRead(A0);
// Convert the analog reading (which goes from 0 – 1023) to a voltage (0 – 5V):
float voltage = sensorValue * (5.0 / 1023.0);
// print out the value you read:


When I place an LED across pins A0 and GND, the serial output goes from 5.00 down to 4.09.

A little bit of application specific programming and think this will do quite nicely as a means to detect if a device is properly connected to the Arduino microcontroller.