ULN2003 and ARDUINO UNO Wiring and Simple Example Code
Below is the connection diagram for the ULN2003 and Arduino UNO.
Simple example code:
#include <Arduino.h>
#define IN1 5 // Pin naming
#define IN2 4
#define IN3 3
#define IN4 2
void setup()
{
pinMode(IN1,OUTPUT); //Set the pin as an output pin
pinMode(IN2,OUTPUT);
pinMode(IN3,OUTPUT);
pinMode(IN4,OUTPUT);
}
void loop()
{
Phase_A(); //Set phase A
delay(2); //Changing the delay can change the rotation speed
Phase_B(); //Set phase B
delay(2);
Phase_C(); //Set phase C
delay(2);
Phase_D(); //Set phase D
delay(2);
}
void Phase_A()
{
digitalWrite(IN1,HIGH); //ln1 pin high level
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void Phase_B()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,HIGH); //ln1 pin high level
digitalWrite(IN3,LOW);
digitalWrite(IN4,LOW);
}
void Phase_C()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,HIGH); //ln1 pin high level
digitalWrite(IN4,LOW);
}
void Phase_D()
{
digitalWrite(IN1,LOW);
digitalWrite(IN2,LOW);
digitalWrite(IN3,LOW);
digitalWrite(IN4,HIGH); //ln1 pin high level
}
Updated on: 07/08/2025
Thank you!