Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Chiyawa

How aRGB works?

Recommended Posts

Posted · Original PosterOP

Hi,

 

I'm looking to understand how the aRGB works (how they interpret the data from the data pin and convert into lighting pattern).

 

Also, even though aRGB claimed you can control individual LED, but there doesn't seems to have a software to utilised it (I mean, most software like MSI mystiq Light, Gigabyte RGB Fusion, etc... only have preset lighting effect, but can't get to control the LED individually). I saw ThermalTake Neon Maker, which can only control individual LED of Riing Quad fans and ToughRAM. Is there any other software to do this?

 

Regards,

Chiyawa

Link to post
Share on other sites

there isnt going to be a "universal" aRGB standard , most rgb systems in general are proprietary so whatever aRGB "thing" you buy will have it's own way of controlling it

Link to post
Share on other sites
Posted · Original PosterOP
26 minutes ago, emosun said:

there isnt going to be a "universal" aRGB standard , most rgb systems in general are proprietary so whatever aRGB "thing" you buy will have it's own way of controlling it

I see. Assuming that the aRGB is a standard 3 pin cable type one, is there a datasheet or something where I can check? aRGB in motherboard seems to work with almost all aRGB devices that uses the standard three pin connection.

 

I'm going to build an aRGB light strip with tri colour LED (bulb like instead of surface mount).

Link to post
Share on other sites
7 minutes ago, Chiyawa said:

Assuming that the aRGB is a standard 3 pin cable type one, is there a datasheet or something where I can check?

There could be , but it wouldn't be a "standard" that they all follow. the only thing they might actually share is the fact that 3 wires are in use , but as to what voltages and what information is sent to which wire can be pretty much anything.

Link to post
Share on other sites
10 minutes ago, Chiyawa said:

I see. Assuming that the aRGB is a standard 3 pin cable type one, is there a datasheet or something where I can check? aRGB in motherboard seems to work with almost all aRGB devices that uses the standard three pin connection.

 

I'm going to build an aRGB light strip with tri colour LED (bulb like instead of surface mount).

 

ARGB, you send a digital signal string (either in binary or hex, w/e).

Each "section" of that string gets interpreted by each LED.

 

The software...ASUS / MSi / Gigabyte / AsRock / EVGA  provides uses presets.

But if you really want to get into it, you can write your own code / script, or check places like GitHub / GitLab, and see if someone has made anything custom.


Intel Z390 Rig ( *NEW* Primary )

Intel X99 Rig (Officially Decommissioned, Dead CPU returned to Intel)

  • i7-8086K @ 5.1 GHz (still tweaking) -- i7-6800K
  • Gigabyte Z390 Aorus Master -- ASUS X99 Deluxe
  • Sapphire NITRO+ RX 5700 XT Special Edition -- 2x Sapphire NITRO R9-Fury in Crossfire
  • 32GB G.Skill TridentZ DDR4-3000 CL14 (16GB TridentZ RGB + 16GB Red/Black TridentZ)
  • SanDisk 480 GB SSD + 1TB Samsung 860 EVO + 1TB Intel 660p NVMe
  • EVGA SuperNOVA 850W P2 + Red/White CableMod Cables
  • Phanteks Enthoo Luxe Tempered Glass Edition
  • Ekwb Custom loop
  • Logitech G502 Proteus Spectrum + Corsair K70 (Red LED, anodized black, Cheery MX Browns)

Intel Z97 Rig (Secondary)

  • Intel i5-4690K 4.8 GHz
  • ASUS ROG Maximus VII Hero Z97
  • Sapphire Vapor-X HD 7950 EVGA GTX 1070 SC Black Edition ACX 3.0
  • 20 GB (8GB X 2 + 4GB X 1) Corsair Vengeance DDR3 1600 MHz
  • Corsair A50 air cooler  NZXT X61
  • Crucial MX500 1TB SSD + SanDisk Ultra II 240GB SSD + WD Caviar Black 1TB HDD + Kingston V300 120GB SSD [non-gimped version]
  • Antec New TruePower 550W EVGA G2 650W + White CableMod cables
  • Cooler Master HAF 912 White NZXT S340 Elite w/ white LED stips

AMD 990FX Rig (Decommissioned)

  • FX-8350 @ 4.8 / 4.9 GHz (given up on the 5.0 / 5.1 GHz attempt)
  • ASUS ROG Crosshair V Formula 990FX
  • 12 GB (4 GB X 3) G.Skill RipJawsX DDR3 @ 1866 MHz
  • Sapphire Vapor-X HD 7970 + Sapphire Dual-X HD 7970 in Crossfire  Sapphire NITRO R9-Fury in Crossfire *NONE*
  • Thermaltake Frio w/ Cooler Master JetFlo's in push-pull
  • Samsung 850 EVO 500GB SSD + Kingston V300 120GB SSD + WD Caviar Black 1TB HDD
  • Corsair TX850 (ver.1)
  • Cooler Master HAF 932

 

<> Electrical Engineer , B.Eng <>

<> Electronics & Computer Engineering Technologist (Diploma + Advanced Diploma) <>

<> Electronics Engineering Technician for the Canadian Department of National Defence <>

Link to post
Share on other sites
Posted · Original PosterOP
1 hour ago, emosun said:

There could be , but it wouldn't be a "standard" that they all follow. the only thing they might actually share is the fact that 3 wires are in use , but as to what voltages and what information is sent to which wire can be pretty much anything.

I see. I know there's 5V, as aRGB sometimes known as 5V RGB. The surface mount LED is typically operating from 3.3V to 5V, where some can operate as low as 1.8V. current in mA range usually around 100 to 200 mA. Most LED uses pull up resistor if not mistaken.

 

1 hour ago, -rascal- said:

ARGB, you send a digital signal string (either in binary or hex, w/e).

Each "section" of that string gets interpreted by each LED.

Hmm... Okay, I'll try to find out.

Link to post
Share on other sites

Headers on motherboard for led strips where all leds will have same color (can't control one led color separately from others).

 

The header on the motherboard will typically have one pin for voltage (5v or 12v) and 3 or 4 pins for each color. Most common is 3 pins, Red, Green and Blue, but some connectors will have a third pin for White.

The voltage pin will either be labeled A for Anode, the positive end on a diode (led is a diode that emits light).

In rarer cases it will be labeled K for Cathode (yeah, i know), the negative end of diode and in that case each R,G, B pins are actually sending voltage through the strip.

 

So the pin headers on motherboard will be 4,5 or 6 pins .. 6 pins if there's a NC (no connection, missing pin, just as a key, so you can't insert the connector the wrong way and damage your led strip

[ARGB]  , [AxRGB] , [ARGBW], [AxRGBW] etc etc

 

Voltage is sent to all leds in the strip through the A pin, and the controller turns on and off the whole row of red, green, blue or white (if any) by connecting those pins to ground (the negative), so electrons flow from A to R/G/B/W and the leds turn on.

By turning on and off tens of thousands a time a second, you get no flicker and you get various amounts of brightness.

 

LED strips are cheap and dumb, on 5v strips each RGB led will have 3-4 current limiting resistors, one for each color. It needs to be one for each color because human eyes are more sensitive to red and also chemistry of LEDs makes it possible to produce more red light with less current... so for example while you may want 20mA for green and blue, for red you may only need 15mA. 

 

On 12v led strips it's common to have groups of 3 leds, and that group of 3 leds has a resistor to limit current for each color

 

Led strips were you can control each led's color will have individually addressable leds.

 

The motherboard header will typically have only 3 pins... Voltage, ground and data. There may be another pin called CLOCK (to control how fast the bits are sent to the led strip) but usually the controller is designed for a wide range and self adjusts to how fast the leds on the strip reply. 

So you'll have  [ Voltage, DATA, NC, GROUND] or something like that.

 

Each led will have a tiny chip inside it which works as a led driver, controlling the current going to each led so they won't burn out (and therefore you don't need current limiting resistors)

Besides that, the chip also waits for bits to come in and if too many bits come in, they pass the bits to the next led and that led in turn passes the bits to the next and so on.

That's the most basic way, in which the led controller doesn't actually know how many leds are on the strip, so all it can do when it comes to animations is rainbow effects, waves of colors etc.

 

Some addressable leds are a bit more smart in the sense that they can figure out how many leds are in the strips. Imagine it like this.

The led has an input data and "talk to next led" / output pin which is connected to the next led (if any).

So when the led turns on for the first time, it will instantly send a question to the next led in line (if any) asking for its number. If it gets no answer, it means the led that asked is the first led in the chain so it gives itself the number 0.

The next led in the chain turns on and asks the previous led what number it has. That led replies "I'm led number 0" so now this second led says to itself I guess I'm led number 1 then.

And this repeats until the last led.  So when the led controller sends a command asking how many leds are in the strip the first led in the strip can reply "i'm led number 10, so i guess there's 11 leds in the strip, from 0 to 10. Now the led controller can make fancy designs and report to the software on computer how many leds are on the strip.

From that point, the led controller can send a number of bytes and the first led will either process the command or forward the bytes to the next leds in the chain to update their color.

For example, you could design the leds to always expect 6 bytes : 2 bytes for number (up to 16384 or 32768 leds) , 4 bytes for colors (red, green, blue, white) and make up some rules.

 

16384 leds means all 14 out 16 bits will be used for number, 2 bits can be used for some special purpose. If up to 32768, then 1 bit will be special purpose.

Like for example, if bit is 0, it's normal operation, take the numbers in red, green, blue and white bytes and update the led. If 1, it's a "special command" for the led (adjust current limit for each color, turn off led, turn on, blink, update led with new color previously sent etc) and the four bytes will be parameters for the special command instead of color information.

If the number is 16383 (0x3FFF) or 32767 (0x7FFF) meaning all those 14-15 bits set to 1 then that can mean apply the color and forward to next led (so whole strip acts like single color strip), sending just 6 bytes the whole strip is updated.

 

 

 

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


×