4 Added final hardware choices
source | link

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use the leading standard DMX (expensive parts and unnecessary complication?)
  • Use an I2C i/o expander (MCP23017 ?);

The latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to start with the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

Update

Here is the hardware I ended up choosing, for reference.

  • @Gerben's suggested shield [Raspberry Pi - I2C 32 Channel PWM / Servo Board] based on PCA96852
  • Transistor MOSFET STP16NF06 (1 per pin i.e. 3 per strip)
  • 5m 12VDC 5050 SMD RGB 300-LED Strip Waterproof IP65
  • a breadboard, wires, 12V - 5A power supply
  • a box of Lego bricks to build a case for the prototype

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use the leading standard DMX (expensive parts and unnecessary complication?)
  • Use an I2C i/o expander (MCP23017 ?);

The latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to start with the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use the leading standard DMX (expensive parts and unnecessary complication?)
  • Use an I2C i/o expander (MCP23017 ?);

The latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to start with the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

Update

Here is the hardware I ended up choosing, for reference.

  • @Gerben's suggested shield [Raspberry Pi - I2C 32 Channel PWM / Servo Board] based on PCA96852
  • Transistor MOSFET STP16NF06 (1 per pin i.e. 3 per strip)
  • 5m 12VDC 5050 SMD RGB 300-LED Strip Waterproof IP65
  • a breadboard, wires, 12V - 5A power supply
  • a box of Lego bricks to build a case for the prototype
3 added more details and clarified the question
source | link

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use the leading standard DMX (expensive parts and unnecessary complication?)
  • Use an I2C i/o expander (MCP23017 ?);
  • Use the leading standard DMX (expensive parts and unnecessary complication?)

WhichThe latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to usestart with the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use an I2C i/o expander (MCP23017 ?);
  • Use the leading standard DMX (expensive parts and unnecessary complication?)

Which solution would be best and easiest? I welcome pre-soldered kits / external controllers, I just want to dive into the software part of this project .... but I want to use the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip. The producer says to use any NPN or N-channel MOSFET; I think that a PWM signal per each color per each strip will be necessary to drive the mosfets.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use the leading standard DMX (expensive parts and unnecessary complication?)
  • Use an I2C i/o expander (MCP23017 ?);

The latter seems most appealing, which solution would be best and easiest? I welcome pre-soldered kits / external controllers but I just want to know which way to go, I just want to dive into the software part of this project .... but I want to start with the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

    Tweeted twitter.com/#!/StackRaspi/status/431375546015309824
2 added link to rgb strip
source | link

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use an I2C i/o expander (MCP23017 ?);
  • Use the leading standard DMX (expensive parts and unnecessary complication?)

Which solution would be best and easiest? I welcome pre-soldered kits / external controllers, I just want to dive into the software part of this project .... but I want to use the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. I need to control the intensity of each colour channel for each strip.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use an I2C i/o expander (MCP23017 ?);
  • Use the leading standard DMX (expensive parts and unnecessary complication?)

Which solution would be best and easiest? I welcome pre-soldered kits / external controllers, I just want to dive into the software part of this project .... but I want to use the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

I need to control several (5 to 10) analog RGB strips which have a separate power supply at 12V or 24V. Just like this one for example. I need to control the intensity of each colour channel for each strip.

I have tried to find a system that will allow me the least load on the raspberrypi processor (so it can process inputs with no delay) and an easy implementation, and found that I could:

  • Build my own extension board using PWM output with mosfets, and using a software library (pi-blaster) to generate extra PWM; apparently too heavy on the processor and not enough GPIO pins;
  • Use an I2C i/o expander (MCP23017 ?);
  • Use the leading standard DMX (expensive parts and unnecessary complication?)

Which solution would be best and easiest? I welcome pre-soldered kits / external controllers, I just want to dive into the software part of this project .... but I want to use the right technology.

I'm a noob in electronics, if some of this doesn't make sense please comment to help me get the question straight.

1
source | link