Computer motherboard LED mod


  #1  
Old 10-20-18, 02:52 AM
H
Member
Thread Starter
Join Date: Oct 2018
Location: United States
Posts: 4
Upvotes: 0
Received 0 Upvotes on 0 Posts
Computer motherboard LED mod

Hi there! I am building a very custom computer and I hit a snag.This computer has an RGB illuminated PCH heat sink. it has 5 wires and I have identified them like such:
1 - Red Wire = Positive Voltage
2 - White = Blue Color Control
3 - Green = Green Color Control
4 - Orange = Red Color Control
5 - Black = Ground (negative)

These wire connect to 8 LEDs on a circuit board. Each LED has Red, Green and Blue built into it. The LEDs do not turn on until the Red and Black wires are hooked up to a power source. Adding positive voltage to the one of the color control wires turns that color on. The color will be on until that same control wire come into contact with the ground (negative). If I set up a color combination and disconnect the red and or black cables, the LEDs turn off. When I reconnect them, something on the PCB remembers the previous configuration and that color is lit up. I cannot figure out how this damn thing is using the connections to generate it's colors

I have tried: I tried adding a 10K resistor in between the Power source and the colored cables in hopes that I can turn the LEDs on slightly dimmed for that color. This LEDs come back at full power.
I also tried adding the same resistor to the negative lead that grounds out the color wire (also in hopes that it would dim the LEDs) and this simply turned the LED off.

What I would like to achieve is to set up an Arduino (or something like that) to "translate" the signals to a regular 5450 RGB connection.

Is there someone here that could help me understand the logic of this connection? Can someone explain to me how this thing is creating millions of colors from the Red, Green, and blue?

Please excuse me if I made some mistakes in describing the situation, I am a computer geek, electronics are a little our of my comfort zone.
 
Attached Images  
  #2  
Old 10-20-18, 10:28 AM
Z
Member
Join Date: Jan 2008
Location: Southeastern Pennsylvania
Posts: 3,386
Received 124 Upvotes on 115 Posts
I was a software guy for many years but unfortunately never got very deeply into hardware (I think software can keep you busy 24/7 -lol) and my knowledge is now stone age.

But anyway, I think the way those RGB LEDS work is that they are really 3 LEDS in the same container and are close together: RED, GREEN, BLUE. By varying the voltage level on a given lead (RED lead for example), you can get any intensity for that color that you want.

Then by varying all three color leads at the same time you can get any combination of intensities that you want, and the combined light intensities from the 3 LEDS gives you a very wide range of colors. That is, you are creating light by varying the intensity of RED, GREEN, and BLUE light which when combined gives you a very wide range of colors.

The way you vary the voltage for a given lead, if I’m not mistake, is to use Pulse Width Modulation (PWM). Basically you are turning voltage ON/OFF (a pulse) for that given lead at a certain rate. The more time the voltage is ON over a given period of time, the higher is the effective voltage, and thus, the higher the intensity of that LED color.

Now what I thought was that these RGB LEDS were either common anode or common cathode –not both. In other words, you would either have the +5V lead (# 1 red wire as you said above), which is the common anode type, or the common cathode type (#5 black wire ground as you said above). So because RGB LEDs are all 4-wire (I believe), I don’t know how you would tell how to interface given that you have 5 wires. The intervening logic on board must resolve that, and must ultimately connect to the LEDs via only 4 wires (you would think). But, anyway, it seems to me if you can turn ON a color by giving it +5volts, then you can control the LEDs and it becomes a matter of using the proper PWM timing to get the colors you want.

Here is a good description I found from someone describing how to connect and drive one of these LEDs using Arduino setup and code. Seems to make sense to me. Can’t be absolutely sure however.

With a common anode you connect the anode to the +5v and each individual LED to a resistor each. Connect that resistor to an output pin. Then a write LOW to that pin will turn the LED on and a HIGH will turn it off. This is called current sinking.

With a common cathode you connect the cathode to ground and connect each LED's anode through a resistor to the output pin.
Then a HIGH turns it on.
This is called current sourcing.
He didn’t get into PWM but you can see that how long you leave the state HIGH would determine the effective voltage and resultant light intensity. I think Arduino posts code and shows you how to do Pulse Width Modulation for these RGB LEDS.
 
  #3  
Old 11-09-18, 06:57 PM
H
Member
Thread Starter
Join Date: Oct 2018
Location: United States
Posts: 4
Upvotes: 0
Received 0 Upvotes on 0 Posts
Thank you sooo much, your post helped me look in the correct direction!!! I am in this thing WAAAYY over my head, but that's what makes this a FUN learning experience.

Doing some more research I found the following article: https://www.instructables.com/id/ARD...RGB-LED-STRIP/

So now I am thinking the following:
I will get a 12V circuit and I will use the 5V (Maybe 5 volts? I need to get a measurement on this) red and black wires to control a basic on and off state (maybe with a relay?)
I will connect the + side of the 12V circuit directly to the RGB strip. I will connect the far right pin of the MOSFETs to the - side of the 12V circuit. I will connect the White/green/orange to the left pin of the MOSFETs. I will connect the middle pin of the MOSFETs to the RGB pins on the LED strip.

This would cut out the Arduino altogether. What I am unclear on at this point is weather or not the motherboard continuously puts out a PWN signal on those middle wires, or does it just give a short signal and then allows the red and black wires to maintain the color. If it's the latter, I would definitely need the Arduino to maintain the PWN signal until it receives a new one.

Does this sound like a good plan of attack?
 
  #4  
Old 11-09-18, 10:01 PM
PJmax's Avatar
Group Moderator
Join Date: Oct 2012
Location: Jersey
Posts: 64,928
Received 3,947 Upvotes on 3,540 Posts
Welcome to the forums.

Your link shows an LED driver board. It takes low level signals and basically amplifies them.

I'm having a hard time figuring out what exactly you have..... like a part number..... and what is supposed to control it. I would doubt there is anywhere on the motherboard you'd connect to unless each color represents a logic state.
 
  #5  
Old 11-09-18, 11:02 PM
H
Member
Thread Starter
Join Date: Oct 2018
Location: United States
Posts: 4
Upvotes: 0
Received 0 Upvotes on 0 Posts
I have an ASUS Rampage V Motherboard that has built in RGB light zones. Each one of the RGB zones is controlled by a 5 pin connector as I described in my initial post. I removed the factory motherboard lights because I am watercooling my motherboard. I would like to repurpose these headers for 3rd party 5050 RGB strips. I needed help understanding how these headers work, and how I can translate their signal to a more universal RGB connection.
The 5 pin headers I am mentioning are not in any document (at least that I could find).
 
  #6  
Old 11-11-18, 10:20 AM
Z
Member
Join Date: Jan 2008
Location: Southeastern Pennsylvania
Posts: 3,386
Received 124 Upvotes on 115 Posts
When I was working as a SW guy way way back, RGB lighting had nothing to do with computers -LOL. But I have to admit they sure do look good on computers IMHO.

But if I understand, your ASUS Mobo would have controller firmware (built in somewhere) to drive the LEDs in the various zones: PCH zone, the Edge zone, PCIe zone, etc. It looks like the LEDs are grouped in zones.

There should also be utility software for your MOBO that allows you set up the lighting effects for the various zones, for example, to set up lighting effects for your Edge zone. You should be able to set up things like colors, flashes, etc. for a zone. The MOBO software and firmware working together then controls the LEDs.

The current MOBO firmware should have the same “type” of code that the Arduino example you linked to has (see below), and would use PWM (Pulse Width Modulation) to drive those RED/GREEN/BLUE pins to implement your choices. For example, if via the MOBO utility software you choose some kind of red flashes for your Edge zone, the firmware would implement that by PWM on the RED pin to that zone with the proper delays between pulses to implement RED flashes, and so on.

So, unless I’m mistaken, I think those 5 pins are really the output of the MOBO RGB controller for a particular zone, and if you monitored them in action you would see various voltage pulses and delays as the system was operating.

So if you wanted to replace an on board RGB LED zone with a LED 5050 RGB strip, the MOBO would still be the driving force, i.e., be the controller. But here’s where I am a little bit lost. The LED strips are 4-pin and they don’t have a ground pin. They have: +12V / R/G/B. I think they are the common anode kind that I referred to in post #2. So the controller would just ground the pin when it wanted voltage on that color pin. (btw - in fact your MOBO should already have a 4-pin RGB LED header on it to directly connect to RGB LED strips and those would be then be controlled by your MOBO).

But you found that your headers for internal RGB LEDs are 5 pin and include a ground. So I don’t know why they would have a ground if they were interfacing with the common anode type of RGB LED. Maybe you could try to map the 5-pin MOBO header to a 4-pin 5050 strip as follows:

1 - Red Wire ---->+12v
2 – White (Blue Color Control)--->Blue
3 - Green (Green Color Control)--->Green
4 – Orange ( Red Color Control)--->Red
5 – Black(Ground (negative)---> don’t connect

But you have to MAKE SURE you get the +12V correct so you don’t do any damage.

But why are you removing all of the RGB LEDs from the MOBO? Isn’t the PCH heatsink just one zone and one RGB LED? Why does the LED have to be removed. Is your MOBO the Rampage V Edition 10?

I edited the Arduino code below for space so now it wouldn’t actually compile, but you can see the kind of things that it does. It set up a continuous loop with a 20 millisecond embedded delay. In the loop it does separate “writes”(analogWrite function calls) for the R,G,B pins and varies the brightness (Brightness_R, etc.). The Arduino analogWrite function when called will generate a steady square wave on the specified pin according to the duty cycle argument passed to it, which in the case the programmer named Brightness_R for red, Brightness_G for green, etc.

A duty cycle = 255 would mean hold the voltage high all the time. A duty cycle = 127 would mean hold the voltage high half the time, and so on (range is 0-255). You can see in the code they started at 127 for the effect they wanted (i.e., half brightness). The firmware would continue to do the same thing (i.e., do the same PWM) unless and until another analogWrite call was made for that pin that would change the duty cycle.

To make a long story short, you can see how you can implement different colors, different flashing delays, etc. with the kind of code you see in the Arduino example. That’s the kind of code that is on your MOBO – somewhere LOL.

(didn't mean to imply you can change that MOBO firmware/software for the LEDs. I just meant that's the kind of stuff (code) going on in the MOBO. It would be functionally similar to the Arduino code.)
 
Attached Images  

Last edited by zoesdad; 11-11-18 at 12:50 PM. Reason: added "didn't mean to imply
  #7  
Old 11-20-18, 02:53 PM
H
Member
Thread Starter
Join Date: Oct 2018
Location: United States
Posts: 4
Upvotes: 0
Received 0 Upvotes on 0 Posts
You're right Zoesdad, I used a multimeter to confirm that Red is also PWN. Thank you for all your help, I will test this as soon as I have assembled the computer.
 
 

Thread Tools
Search this Thread
 
Ask a Question
Question Title:
Description:
Your question will be posted in: