# Intro to DMX

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/133/853/medium800/leds_larscurtaindmx.jpg?1732669143)

https://youtu.be/S4CD-t_65bs

![](https://cdn-learn.adafruit.com/assets/assets/000/134/109/medium800/leds_IMG_2940.jpg?1733953948)

https://youtu.be/e62JUEZyaG4

DMX512 is the protocol that runs most of the lighting and control systems used in theaters, concerts, and other large-scale events, as well as more advanced architectural lighting. It's been around since the early 1980s, and it's still relevant today.

In this guide, we’ll explore the basics of **DMX512** and how you can use it to control lights and effects from typical DMX controllers as well as from a microcontroller with a DMX board.

## Parts

&nbsp;

## Light Fixtures

There are plenty of inexpensive DMX controlled light fixture options to get started with, such as LED PARs, washes, light bars, spots, and even moving head lights.

You can also run foggers, strobes, and other effects via DMX control.

![leds_Intimidator-Spot-110-RIGHT.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/701/medium640/leds_Intimidator-Spot-110-RIGHT.jpg?1732069491)

![leds_SlimPAR-56-RIGHT.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/702/medium640/leds_SlimPAR-56-RIGHT.jpg?1732069509)

### Part: SlimPAR
quantity: 1
26W RGBA light fixture
[SlimPAR](https://www.chauvetdj.com/products/slimpar-q6-ils/)

or

### Part: LED Stage Par Lights
quantity: 1
36W RGB
[LED Stage Par Lights](https://www.amazon.com/gp/product/B0CJLD5QXY/ref=ppx_yo_dt_b_asin_title_o00_s00?th=1)

## XLR Cable

You'll use either 5-pin or 3-pin XLR cables to send data through the system. The DMX512 spec calls for 5-pin, but 3-pin is very common, especially in less expensive systems.

Each cable will have one plug end and one socket end, sometimes known as XLR3M to XLR3F cable.&nbsp;

Proper DMX512 cable has 110Ω impedance, but you can often get away with using regular old (cheaper) XLR microphone cable, especially for shorter runs.

![leds_DMX-300-Full.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/695/medium640/leds_DMX-300-Full.jpg?1732065937)

![leds_DMX-300-Front.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/696/medium640/leds_DMX-300-Front.jpg?1732066567)

### Part: DMX512 Cable
quantity: 1
Hosa XLR3M to XLR3F
[DMX512 Cable](https://hosatech.com/products/data/dmx-cable-adapter/dmx-300/)

or

### Part: Economy Microphone Cable
quantity: 1
Hosa XLR3F to XLR3M
[Economy Microphone Cable](https://hosatech.com/products/analog-audio/microphone-cables/mbl-100/)

## DMX Shield for Arduino

You can use most Arduino-compatible boards along with a MAX485-based DMX shield to send and receive messages to and from your DMX fixtures and controllers.

There are a few different designs out there, we'll be using [this one from Conceptinetics](https://dmxshield.blogspot.com/).

![leds_DMX_Shield-1-1000x1000.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/703/medium640/leds_DMX_Shield-1-1000x1000.jpg?1732076519)

### Part: DMX Shield for Arduino
quantity: 1
MAX485 shield with XLR 3-pin connectors
[DMX Shield for Arduino](https://www.cqrobot.com/index.php?route=product/product&product_id=1005)

or from Amazon:

### Part: DMX Shield for Arduino
quantity: 1
MAX485 shield with XLR 3-pin connectors
[DMX Shield for Arduino](https://www.amazon.com/gp/product/B01DUHZAT0/)

## Arduino Uno or Metro 328

The library we'll use for the DMX shield only works on AVR-based microcontrollers, so an Arduino Uno R3 or a Metro 328 will be a good choice.

![leds_2488-09.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/706/medium640/leds_2488-09.jpg?1732128175)

### Part: Metro 328
quantity: 1
Metro ATMEGA328
[Metro 328](https://www.digikey.com/en/products/detail/adafruit-industries-llc/2488/5353674)

or

### Part: Metro 328
quantity: 1
Metro ATMEGA328
[Metro 328](https://www.adafruit.com/product/2488)

### Optional

You won't need a controller like the one shown below if you're only sending DMX from your microcontroller to your fixtures, but they are pretty cool to play around with!

Also, one can be used to send DMX _ **to** _ your microcontroller, which we'll cover in an update to this guide coming soon.

## DMX512 Controller

A compact, DJ-style controller is enough to get started with hands-on lighting control as well as basic chase and scene programming.

![leds_1308113.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/700/medium640/leds_1308113.jpg?1732067712)

### Part: DMX512 Controller
quantity: 1
Compact, 36-channel
[DMX512 Controller](https://www.chauvetdj.com/products/obey-6/)

or

### Part: Generic DMX Controller 
quantity: 1
compact, 192-channel
[Generic DMX Controller ](https://www.amazon.com/gp/product/B0D4HK3KX5)

### Adafruit NeoPixel LED Star Shape Pixel Strand - 20 LEDs

[Adafruit NeoPixel LED Star Shape Pixel Strand - 20 LEDs](https://www.adafruit.com/product/5982)
Attaching NeoPixel strips to your costume can be a struggle as the flexible PCBs can crack when bent too much. So how to add little shooting stars of color? Use these stranded NeoPixel LEDs that come in adorable 5-pointed star shapes.

Each strand has **20 stars with a single RGB...**

In Stock
[Buy Now](https://www.adafruit.com/product/5982)
[Related Guides to the Product](https://learn.adafruit.com/products/5982/guides)
![Video of glowing star-shaped LED strip.](https://cdn-shop.adafruit.com/product-videos/640x480/5982-00.jpg)

### Adafruit NeoPixel LED Heart Shape Pixel Strand - 20 LEDs

[Adafruit NeoPixel LED Heart Shape Pixel Strand - 20 LEDs](https://www.adafruit.com/product/5983)
Attaching NeoPixel strips to your costume can be a struggle as the flexible PCBs can crack when bent too much. So how to add little beating hearts of color? Use these stranded NeoPixel LEDs that come in adorable heart...

In Stock
[Buy Now](https://www.adafruit.com/product/5983)
[Related Guides to the Product](https://learn.adafruit.com/products/5983/guides)
![Video of LED strand with 20 heart-shaped LEDs glowing rainbow colors.](https://cdn-shop.adafruit.com/product-videos/640x480/5983-00.jpg)

### Proto-Screwshield (Wingshield) R3 Kit for Arduino

[Proto-Screwshield (Wingshield) R3 Kit for Arduino](https://www.adafruit.com/product/196)
The next generation Proto-ScrewShield is a dual-purpose prototyping shield. Not&nbsp;only does it have a large 0.1" grid prototyping area but it also extends the Arduino pins to sturdy, secure, and dependable screw terminal blocks. You even get a few bonus terminals for extra GND and four...

Out of Stock
[Buy Now](https://www.adafruit.com/product/196)
[Related Guides to the Product](https://learn.adafruit.com/products/196/guides)
![Angled shot of Proto-Screwshield (Wingshield) R3 Kit.](https://cdn-shop.adafruit.com/640x480/196-00.jpg)

# Intro to DMX

## DMX512

![](https://cdn-learn.adafruit.com/assets/assets/000/133/913/medium800/leds_curtains.jpg?1733273593)

DMX512 is a serial communication protocol that sends data in the form of a packet. Each packet is a set of data bytes that are interpreted by devices daisy-chained across the network, typically&nbsp; **lighting fixtures** or **effect units** such as foggers or air cannons.

In the diagram below we have a DMX **controller** (typically a lighting control board with faders and buttons, but we'll later use a microcontroller in this role) connected to a DMX **fixture** via an XLR cable.

- **Fixture 1** uses **DMX channels 1-4** to control **brightness, red, green,** and **blue**
- **Fixture 2** uses eight channels, starting at **channel 17** , this could be a more sophisticated fixture with **pan/tilt motors** , RGBW **lights** , and motorized **gobos** and **filters**
- we can go all the way up to channel 511
- the final fixture requires a **120Ω resistor** across the data pair, this is typically integrated into the fixture itself when no cable is plugged at the output. Otherwise a terminator plug can be used

![](https://cdn-learn.adafruit.com/assets/assets/000/133/911/medium800/leds_dmx_flow.jpg?1733272703)

## Wiring

These devices receive data via a **3-pin or 5-pin XLR** connector and then send the data along to the next fixture in the chain.

![](https://cdn-learn.adafruit.com/assets/assets/000/133/912/medium800/leds_DMX-300-Front.jpg?1733272918)

## **Channels**

DMX devices listen on specific channels (usually user configured) and respond to data sent over those channels. For example, an RGB light fixture may be set to listen to:

- Channel 1 Brightness
- Channel 2 Red
- Channel 3 Green
- Channel 4 Blue
- Channel 5 Strobe

The second light in the chain may be set to:

- Channel 17 Brightness
- Channel 18 Red
- Channel 19 Green
- Channel 20 Blue
- Channel 21 Strobe

You can see here that many channels have been skipped simply to meet with a typical convention of DMX control boxes having a bank of 16 faders, so the ergonomics of holding a modification key to flip between the channels makes certain numbering schemes make more sense than others.&nbsp;

**Range** : Each DMX channel can handle values from **0 to 255** , which means it can be used to control things like brightness, color, or effects with reasonable granularity.

Info: Need more than 512 channels or some better organization of your topology? DMX supports multiple "universes" of 512 channels, it's just up to the controller to support these separate networks.

# Intro to DMX

## Board Setup

![](https://cdn-learn.adafruit.com/assets/assets/000/133/715/medium800/leds_IMG_2691.jpg?1732134194)

## Jumper Settings

Set the jumpers on the DMX shield as shown:

- **EN off** (in the on position the shield enable pin is grounded, turning off the shield)
- **Mode ON** (allows the mode pin 2 to set the board to **sender** or **receiver** mode via software)
- **TX-IO&nbsp;** (sets the TX pin to pin **4** instead of UART pin 1 which can interfere with board uploads)
- **RX-10&nbsp;** (sets the RX pin to pin **3** instead of UART pin 0 which can interfere with board uploads)

![leds_jumpers.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/737/medium640/leds_jumpers.jpg?1732141353)

## Mount Shield

Carefully mount the shield on top of the Arduino Uno or Metro 328.

![leds_shield.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/738/medium640/leds_shield.jpg?1732141702)

## Plug Cable

Plug a 3-pin XLR cable into the **OUT** connector on the board, then plug this cable into your first light fixture (shown in the image below as the blue marked cable).

Then, use a second XLR cable to plug the **OUT** of **fixture 1** to the **IN** of **fixture 2**. This is the red marked cable in the image below.

![leds_IMG_2690.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/914/medium640/leds_IMG_2690.jpg?1733273735)

![leds_IMG_2691.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/915/medium640/leds_IMG_2691.jpg?1733273747)

![](https://cdn-learn.adafruit.com/assets/assets/000/133/916/medium800/leds_curtains.jpg?1733273924)

# Intro to DMX

## Code Arduino DMX Sender

## Arduino Setup

Plug in your Arduino Uno or Metro 328 to your computer over a known good USB cable.

Before going any further, make sure you have a basic understanding of how to program and use an Arduino. Thankfully, we have a lot of great tutorials on how this whole thing works. [Click here to get started with Arduino](https://learn.adafruit.com/ladyadas-learn-arduino-lesson-number-0), and then come back to this guide to continue.

## Additional Boards Manager URLs

To use the Metro board in Arduino, check the Arduino IDE T **ools \> Board** &nbsp;list and select&nbsp; **Adafruit Metro**. Note: if you don't see the Metro on that list, add this URL to your Arduino \> Preferences \> Additional Boards Manager URLs:&nbsp;

`https://adafruit.github.io/arduino-board-index/package_adafruit_index.json`

![leds_add.png](https://cdn-learn.adafruit.com/assets/assets/000/133/710/medium640/leds_add.png?1732129020)

## Install Adafruit AVR

Then, go to the **Arduino \> Tools \> Board \> Boards Manager...** &nbsp;and type '`metro`' in the search, then install the&nbsp;Adafruit AVR Boards package.

![leds_mtro.png](https://cdn-learn.adafruit.com/assets/assets/000/133/709/medium640/leds_mtro.png?1732128941)

## Select Board

Now, pick the **Adafruit Metro** board from the&nbsp; **Arduino \> Tools \> Board** &nbsp;list.

![leds_pick.png](https://cdn-learn.adafruit.com/assets/assets/000/133/711/medium640/leds_pick.png?1732129185)

## DMXSimple Library

Next, you'll add the DMXSimple library by clicking on **Tools \> Manage Libraries...** and then entering '`dmxsimple`' in the search box.

Click the **Install** button.

&nbsp;

You can find out more about this library [here](https://code.google.com/archive/p/tinkerit/wikis/DmxSimple.wiki).

![leds_dmxsimple.jpeg](https://cdn-learn.adafruit.com/assets/assets/000/133/712/medium640/leds_dmxsimple.jpeg?1732129565)

## Coding

We'll start with one of the example sketches that comes with the library.

## Example

Click on File \> Examples \> DMXSimple \> SerialtoDMX to open the example file.

![leds_sample.jpg](https://cdn-learn.adafruit.com/assets/assets/000/133/713/medium640/leds_sample.jpg?1732131892)

```auto
/* This program allows you to set DMX channels over the serial port.
**
** After uploading to Arduino, switch to Serial Monitor and set the baud rate
** to 9600. You can then set DMX channels using these commands:
**
** &lt;number&gt;c : Select DMX channel
** &lt;number&gt;v : Set DMX channel to new value
**
** These can be combined. For example:
** 100c355w : Set channel 100 to value 255.
**
** For more details, and compatible Processing sketch,
** visit http://code.google.com/p/tinkerit/wiki/SerialToDmx
**
** Help and support: http://groups.google.com/group/dmxsimple       */

#include &lt;DmxSimple.h&gt;

void setup() {
  Serial.begin(9600);
  Serial.println("SerialToDmx ready");
  Serial.println();
  Serial.println("Syntax:");
  Serial.println(" 123c : use DMX channel 123");
  Serial.println(" 45w  : set current channel to value 45");
}

int value = 0;
int channel;

void loop() {
  int c;

  while(!Serial.available());
  c = Serial.read();
  if ((c&gt;='0') &amp;&amp; (c&lt;='9')) {
    value = 10*value + c - '0';
  } else {
    if (c=='c') channel = value;
    else if (c=='w') {
      DmxSimple.write(channel, value);
      Serial.println();
    }
    value = 0;
  }
}
```

## Modifications

We'll make a few small changes to use this example with the Conceptnetics DMX shield.

### Pin definitions

First, we'll define the pins for transmitting and mode selection. Add these two lines after the `#include ` line:

```auto
const byte dmxTransmitPin = 4;  // conceptinetics transmit pin 4
const byte modeSelectPin = 2;  // conceptinetics mode pin
```

### Setup

Next, in the `setup()` loop we'll set the mode select pin to `OUTPUT` with a `HIGH` value, placing the shield in sender mode.

You'll also tell DmxSimple to use the pre-defined transmit pin, and set the max channel value to `512` so that a full-length message is sent every time (some fixtures don't like receiving a shorter message).

```auto
pinMode(modeSelectPin, OUTPUT);
digitalWrite(modeSelectPin, HIGH);  // set to sender mode (low for receiver mode)

DmxSimple.usePin(dmxTransmitPin);
DmxSimple.maxChannel(512);
```

Here's the final code, you can copy this and paste it into your Arduino IDE to upload to the Metro.

```auto
/* This program allows you to set DMX channels over the serial port.
**
** John Park update for Conceptinetics DMX shield for this example
** After uploading to Arduino, switch to Serial Monitor and set the baud rate
** to 9600. You can then set DMX channels using these commands:
**
** &lt;number&gt;c : Select DMX channel
** &lt;number&gt;v : Set DMX channel to new value
**
** These can be combined. For example:
** 100c355v : Set channel 100 to value 255.
**
** For more details, and compatible Processing sketch,
** visit http://code.google.com/p/tinkerit/wiki/SerialToDmx
**
** Help and support: http://groups.google.com/group/dmxsimple       */
/*
________
 EN -- •
 SL • --
 TX -- •
 RX -- •
________
*/
#include &lt;DmxSimple.h&gt;

//Constants
const byte dmxTransmitPin = 4;  // conceptinetics transmit pin 4 or use TX(1) with jumper to the right
const byte modeSelectPin = 2;  // conceptinetics mode pin

void setup() {
  pinMode(modeSelectPin, OUTPUT);
  digitalWrite(modeSelectPin, HIGH);  // set to sender mode (low for receiver mode)
  /* The most common pin for DMX output is pin 3, which DmxSimple
  ** uses by default. If you need to change that, do it here. */
  DmxSimple.usePin(dmxTransmitPin);
  DmxSimple.maxChannel(512);

  Serial.begin(9600);
  Serial.println("SerialToDmx ready");
  Serial.println();
  Serial.println("Syntax:");
  Serial.println(" 123c : use DMX channel 123");
  Serial.println(" 45v  : set current channel to value 45");


  //set initial values
  DmxSimple.write(1, 255);   // ch1 is brightness on first fixture
  DmxSimple.write(3, 150);   // ch3 is green on first fixture
  DmxSimple.write(17, 255);  // ch17 is brightness on second fixture
  DmxSimple.write(20, 200);  // ch20 is red on second fixture
}



int value = 0;
int channel;

void loop() {
  int c;

  while(!Serial.available());
  c = Serial.read();
  if ((c&gt;='0') &amp;&amp; (c&lt;='9')) {
    value = 10*value + c - '0';
  } else {
    if (c=='c') channel = value;
    else if (c=='v') {
      DmxSimple.write(channel, value);
      Serial.println();
    }
    value = 0;
  }
}
```

https://youtu.be/e62JUEZyaG4

## DMX Fade Up

Let's check out another example -- this will fade up the values on one channel.&nbsp;

Click on **File \> Examples \> DMXSimple \> SerialtoDMX** to open the example file.

We'll make a few adjustments to suit the Conceptinetics shield, and add a second fixture:

```auto
/* Welcome to DmxSimple. This library allows you to control DMX stage and
** architectural lighting and visual effects easily from Arduino. DmxSimple
** is compatible with the Tinker.it! DMX shield and all known DIY Arduino
** DMX control circuits.
** John Park update for Conceptinetics DMX shield for this example
**
** DmxSimple is available from: http://code.google.com/p/tinkerit/
** Help and support: http://groups.google.com/group/dmxsimple       */

/* To use DmxSimple, you will need the following line. Arduino will
** auto-insert it if you select Sketch &gt; Import Library &gt; DmxSimple. */
/*
________
 EN -- •
 SL • --
 TX -- •
 RX -- •
________
*/
#include &lt;DmxSimple.h&gt;

//Constants
const byte dmxTransmitPin = 4;  // conceptinetics transmit pin 4 or use TX(1) with jumper to the right
const byte modeSelectPin = 2;  // conceptinetics mode pin

void setup() {
  pinMode(modeSelectPin, OUTPUT);
  digitalWrite(modeSelectPin, HIGH);  // set to sender mode (low for receiver mode)
  DmxSimple.usePin(dmxTransmitPin);

  DmxSimple.maxChannel(512);
  // first fixture
  DmxSimple.write(1, 0);  // set brightness
  // set R,G,B
  DmxSimple.write(2, 0);
  DmxSimple.write(3, 0);
  DmxSimple.write(4, 150);

  // second fixture
  DmxSimple.write(17, 0);  // set brightness
  // set R,G,B
  DmxSimple.write(18, 0);
  DmxSimple.write(19, 150);
  DmxSimple.write(20, 0);
}

void loop() {
  // fade loop:
  int brightness;
  /* Simple loop to ramp up brightness */
  for (brightness = 0; brightness &lt;= 255; brightness++) {

    /* Update DMX channel 1 and 17 to new brightness */
    DmxSimple.write(1, brightness);
    DmxSimple.write(17, brightness);

    /* Small delay to slow down the ramping */
    delay(7);
  }
  delay(1000);
  DmxSimple.write(1, 0);  // set brightness to 0
  DmxSimple.write(17,0);
  delay(1000);

}
```

# Intro to DMX

## Code Arduino DMX Receiver

![](https://cdn-learn.adafruit.com/assets/assets/000/134/100/medium800/leds_IMG_2940.jpg?1733953402)

Now we'll flip the equation -- instead of using your microcontroller to send DMX messages to commercial fixtures, you'll use a commercial controller to send DMX messages to the microcontroller! This means you can drive any sort of prop imaginable, not just the things available off the shelf.

For our demo we'll drive some NeoPixel strips with eight DMX channels each:

- Start hue
- Start saturation
- Start value (brightness)
- Start pixel location
- End hue
- End saturation
- End value (brightness)
- End pixel location

https://youtu.be/S4CD-t_65bs

## Board Setup

This setup is similar to the send demo, but we'll change the jumpers around to receive instead of send, and use the DMX output instead of input to XLR cable.

To connect NeoPixel strips a Proto ScrewShield works well and can be stacked.

## Jumper Settings

- **EN on** during upload, **EN off** during use
- **Mode receiver&nbsp;**
- **TX-UART** &nbsp;
- **RX-UART** &nbsp;

![leds_IMG_2937.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/102/medium640/leds_IMG_2937.jpg?1733953535)

## NeoPixel Wiring

For info on getting the Proto ScrewShield set up, check this [guide](https://learn.adafruit.com/adafruit-proto-screw-shield).

Connect the NeoPixel strips to&nbsp; **5V** , **Ground** , and **A0** , **A1** , and **A2** for data, respectively.

![leds_IMG_2939.jpg](https://cdn-learn.adafruit.com/assets/assets/000/134/101/medium640/leds_IMG_2939.jpg?1733953457)

![](https://cdn-learn.adafruit.com/assets/assets/000/134/105/medium800/leds_IMG_2935.jpg?1733953692)

## Arduino Setup

Plug in your Arduino Uno or Metro 328 to your computer over a known good USB cable.

Before going any further, make sure you have a basic understanding of how to program and use an Arduino. Thankfully, we have a lot of great tutorials on how this whole thing works.&nbsp;[Click here to get started with Arduino](https://learn.adafruit.com/ladyadas-learn-arduino-lesson-number-0), and then come back to this guide to continue.

## Conceptinetics DMX Library

We'll use a more sophisticated DMX library for this example, since it allows us to put the board into receive mode, not just send mode.

## Download the Project Bundle

To get everything you need, click on the&nbsp; **Download Project Bundle** &nbsp;link below, and uncompress the .zip file.

Drag the contents of the uncompressed bundle directory into your Arduino sketches folder, then open the `DMX_NeoPixels.ino` file in the Arduino IDE.

https://github.com/adafruit/Adafruit_Learning_System_Guides/blob/main/DMX_NeoPixels/DMX_NeoPixels.ino

## Use It

With the Arduino powered and the XLR cable connecting the DMX controller and DMX shield, fire up your DMX controller.

Here are the controls (use the pages 1-3 for the different strips):

- **ch. 1** = start hue
- **ch. 2** = start saturation
- **ch. 3** = start value (brightness)
- **ch. 4** = start pixel location
- **ch. 5** = end hue
- **ch. 6** = end saturation
- **ch. 7** = end value (brightness)
- **ch. 8** = end pixel location

Hue values are automatically interpolated between the start and end values for however many NeoPixels you light up.

![](https://cdn-learn.adafruit.com/assets/assets/000/134/112/medium800/leds_demo.jpg?1733954025)


## Featured Products

### Adafruit METRO 328 - Arduino Compatible - with Headers

[Adafruit METRO 328 - Arduino Compatible - with Headers](https://www.adafruit.com/product/2488)
This is the&nbsp; **Adafruit METRO Arduino-Compatible - with&nbsp;headers.&nbsp;** It's a fully assembled and tested microcontroller and physical computing board with through-hole headers attached.&nbsp; If you don't want a&nbsp;Metro with the headers attached for...

In Stock
[Buy Now](https://www.adafruit.com/product/2488)
[Related Guides to the Product](https://learn.adafruit.com/products/2488/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)

## Related Guides

- [Internet of Things Printer](https://learn.adafruit.com/internet-of-things-printer.md)
- [Mystery Box: NeoMatrix Mk I](https://learn.adafruit.com/mystery-box-neomatrix-mk-i.md)
- [Motorized Camera Slider MK3 ](https://learn.adafruit.com/motorized-camera-slider-mk3.md)
- [Ladyada's Learn Arduino - Lesson #1](https://learn.adafruit.com/ladyadas-learn-arduino-lesson-number-1.md)
- [Overwatch Prop Gun: Lucio's Blaster Pt. 1](https://learn.adafruit.com/overwatch-lucio-gun-pt1.md)
- [Portable Solar Charging Tracker](https://learn.adafruit.com/portable-solar-charging-tracker.md)
- [Adafruit VCNL4040 Proximity Sensor](https://learn.adafruit.com/adafruit-vcnl4040-proximity-sensor.md)
- [IR Sensor](https://learn.adafruit.com/ir-sensor.md)
- [Fake TV Light for Engineers](https://learn.adafruit.com/fake-tv-light-for-engineers.md)
- [Adafruit BMP388 and BMP390 - Precision Barometric Pressure and Altimeter](https://learn.adafruit.com/adafruit-bmp388-bmp390-bmp3xx.md)
- [Overwatch Prop Gun: Lucio's Blaster Pt. 2](https://learn.adafruit.com/overwatch-lucio-gun-pt-2.md)
- [Echo 2-XL](https://learn.adafruit.com/echo-2-xl.md)
- [Ladyada's Learn Arduino - Lesson #0](https://learn.adafruit.com/ladyadas-learn-arduino-lesson-number-0.md)
- [Experimenter's Guide for Metro](https://learn.adafruit.com/experimenters-guide-for-metro.md)
- [Ladyada's Learn Arduino - Lesson #2](https://learn.adafruit.com/ladyadas-learn-arduino-lesson-number-2.md)
