ULN2803 and common-anode RGB strip; how am I doing it wrong? I'm not super-good with my electrical foo. But I've managed to get a ULN2803 wired up to give the +12v that my RGB LED strip needs. The strip has four connectors, RGB and common +12v.

My concern is that (I think) the Arduino is shorting out- while the Arduino processes my loop, the USB connection dies and the RX/TX LEDs light up.

Here's how I am wiring things. I'm currently powering the Arduino through USB, so when I say "power supply" I'm referring to the +12v supply I'm using.


power supply ground to Arduino ground, ULN2803 pin 9.
power supply +12v to 2803 pin 10, common +12v on LED strip.
arduino output pin 11 to 2803 pin 1
2803 pin 18 to green LED strip


So, that's my circuit. It works- the strip lights up. But again, I think it's wrong. How do I correct it?
The COM pin on the ULN2803 is for protection when driving inductive loads, which means motors, solenoid.  For an LED, nothing needs connect to COM.

The chip you are using is a low side driver.  That means it connects between the low side of the load (your LED) and ground.  When you drive +5 to the input pin, the transistors will conduct, connecting the output pin to ground.

So for your LED strip make the following connections:


Arduino output pin -> driver input, 1B = pin 1 
driver output, 1C = pin 18 -> LED strip R G or B 
+12 -> LED strip common power
ground -> GND = pin 9


Without the ground connection on the driver chip, no surprise that odd things happened.  There are diodes designed to protect the input and output pins (see chip data sheet).  Without the ground connection to the driver chip, the input protection diode might have been conducting back to the microcontroller output pin.