What can I do to increase the amount of LEDs I can power with a pro micro?What are the current limits on an Arduino Micro?All the differences between Arduinos: Pro Mini & Pro MicroI can not upload hex files outside of the Arduino IDE to my Pro Micro3.3 V Pro Micro clones flashing LEDs after 1200 bit/s touchDoes the Arduino pro-micro 3.3v use an 8MHz crystal or a 16MHz crystal with a clock divisor of 2?Arduino Pro Micro TX and RX leds flash quikly while power drawn from VCC pinHow to use power led from arduino-pro-micro?Arduino Pro Micro - switch off LEDsNo ttyACM0 with Pro Micro on Ubuntu 18.04
What's the relationship betweeen MS-DOS and XENIX?
Are there any cons in using rounded corners for bar graphs?
What are the odds of rolling specific ability score totals in D&D?
How do I call a 6-digit Australian phone number with a US-based mobile phone?
Would the USA be eligible to join the European Union?
Did Michelle Obama have a staff of 23; and Melania have a staff of 4?
Telephone number in spoken words
Suspension compromise for urban use
The more + the + comparative degree
List, map function based on a condition
If a person claims to know anything could it be disproven by saying 'prove that we are not in a simulation'?
Output the list of musical notes
When was "Fredo" an insult to Italian-Americans?
Can anybody tell me who this Pokemon is?
Why do my bicycle brakes get worse and feel more 'squishy" over time?
Is there any official ruling on how characters go from 0th to 1st level in a class?
Align rightarrow in table
What are the advantages of this gold finger shape?
Is there a name for the technique in songs/poems, where the rhyming pattern primes the listener for a certain line, which never comes?
Lípínguapua dopo Pêpê
Is it OK to draw different current from L1 and L2 on NEMA 14-50?
Some pads on a PCB are marked in clusters and I can't understand which one is which
Unconventional examples of mathematical modelling
How can I find files in directories listed in a file?
What can I do to increase the amount of LEDs I can power with a pro micro?
What are the current limits on an Arduino Micro?All the differences between Arduinos: Pro Mini & Pro MicroI can not upload hex files outside of the Arduino IDE to my Pro Micro3.3 V Pro Micro clones flashing LEDs after 1200 bit/s touchDoes the Arduino pro-micro 3.3v use an 8MHz crystal or a 16MHz crystal with a clock divisor of 2?Arduino Pro Micro TX and RX leds flash quikly while power drawn from VCC pinHow to use power led from arduino-pro-micro?Arduino Pro Micro - switch off LEDsNo ttyACM0 with Pro Micro on Ubuntu 18.04
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
I am new to arduino and have a sparkfun pro micro that I'm using to power a one meter (60 pixels) APA 102 strip. I currently power it via USB and have a program that sends lighting instructions to it. I can only seem to power ~15 pixels with full range of brightness and ~30 if I keep the brightness at about half.
Anything more and the pro micro will stop recieving data and either freeze at the last color it's recieved or turn a bright red (which I assume is a visual indication of the fail because I didn't code that). At this point, the COM port will also become inaccessible until the code is either re-uploaded or in some cases, I simply disconnect the strip. This leads me to believe that the amount of power that I am demanding is too much for the board to put out.
So am I right in this assumption? and If so, what can I do to increase the amount of pixels I can power at full range?
I'll also post my code below in case there is something I can do there to increase the pixel amount:
#include <Adafruit_DotStar.h>
#include <SPI.h>
#define NUMPIXELS 60
#define DATAPIN 4
#define CLOCKPIN 5
Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG);
// Variables
int mode;
int numColors;
int fadeSpeed;
int BBCC;
int R;
int G;
int B;
int Bright;
void setup()
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000L)
clock_prescale_set(clock_div_1); // Enable 16 MHz on Trinket
#endif
strip.begin(); // Initialize pins for output
strip.show(); // Turn all LEDs off ASAP
int head = 0, tail = -10; // Index of first 'on' and 'off' pixels
uint32_t color = 0xFFFFFF; // 'On' color (starts red)
void loop()
//strip.setPixelColor(head, color); // 'On' pixel at head
//strip.setPixelColor(tail, 0); // 'Off' pixel at tail
strip.show(); // Refresh strip
delay(20); // Pause 20 milliseconds (~50 FPS)
getData();
if (mode == 1)
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, G, R, B);
strip.setBrightness(Bright);
strip.show();
else
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, 150, 200, 40);
strip.setBrightness(255);
strip.show();
int readLine(int readch, char * buffer, int len)
static int pos = 0;
int rpos;
if (readch > 0)
switch(readch)
case 'r':
break;
case 'n':
rpos = pos;
pos = 0;
return rpos;
default:
if (pos < len-1)
buffer[pos++] = readch;
buffer[pos] = 0;
return 0;
void getData()
char buf[80];
bool redo = true;
if(readLine(Serial.read(), buf, 80) > 0)
int i = 0;
int j = 0;
bool skip = false;
char fin[3];
if (skip == false)
do// mode
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do// number of colors
switch (buf[i])
':
numColors = atoi(fin);
//Serial.print(numColors);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do//
switch (buf[i])
':
fadeSpeed = atoi(fin);
//Serial.print(fadeSpeed);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
R = atoi(fin);
//Serial.print(R);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
G = atoi(fin);
//Serial.print(G);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
Bright = atoi(fin);
//Serial.println(Bright);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
rgb-led arduino-pro-micro led-strip
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I am new to arduino and have a sparkfun pro micro that I'm using to power a one meter (60 pixels) APA 102 strip. I currently power it via USB and have a program that sends lighting instructions to it. I can only seem to power ~15 pixels with full range of brightness and ~30 if I keep the brightness at about half.
Anything more and the pro micro will stop recieving data and either freeze at the last color it's recieved or turn a bright red (which I assume is a visual indication of the fail because I didn't code that). At this point, the COM port will also become inaccessible until the code is either re-uploaded or in some cases, I simply disconnect the strip. This leads me to believe that the amount of power that I am demanding is too much for the board to put out.
So am I right in this assumption? and If so, what can I do to increase the amount of pixels I can power at full range?
I'll also post my code below in case there is something I can do there to increase the pixel amount:
#include <Adafruit_DotStar.h>
#include <SPI.h>
#define NUMPIXELS 60
#define DATAPIN 4
#define CLOCKPIN 5
Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG);
// Variables
int mode;
int numColors;
int fadeSpeed;
int BBCC;
int R;
int G;
int B;
int Bright;
void setup()
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000L)
clock_prescale_set(clock_div_1); // Enable 16 MHz on Trinket
#endif
strip.begin(); // Initialize pins for output
strip.show(); // Turn all LEDs off ASAP
int head = 0, tail = -10; // Index of first 'on' and 'off' pixels
uint32_t color = 0xFFFFFF; // 'On' color (starts red)
void loop()
//strip.setPixelColor(head, color); // 'On' pixel at head
//strip.setPixelColor(tail, 0); // 'Off' pixel at tail
strip.show(); // Refresh strip
delay(20); // Pause 20 milliseconds (~50 FPS)
getData();
if (mode == 1)
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, G, R, B);
strip.setBrightness(Bright);
strip.show();
else
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, 150, 200, 40);
strip.setBrightness(255);
strip.show();
int readLine(int readch, char * buffer, int len)
static int pos = 0;
int rpos;
if (readch > 0)
switch(readch)
case 'r':
break;
case 'n':
rpos = pos;
pos = 0;
return rpos;
default:
if (pos < len-1)
buffer[pos++] = readch;
buffer[pos] = 0;
return 0;
void getData()
char buf[80];
bool redo = true;
if(readLine(Serial.read(), buf, 80) > 0)
int i = 0;
int j = 0;
bool skip = false;
char fin[3];
if (skip == false)
do// mode
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do// number of colors
switch (buf[i])
':
numColors = atoi(fin);
//Serial.print(numColors);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do//
switch (buf[i])
':
fadeSpeed = atoi(fin);
//Serial.print(fadeSpeed);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
R = atoi(fin);
//Serial.print(R);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
G = atoi(fin);
//Serial.print(G);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
Bright = atoi(fin);
//Serial.println(Bright);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
rgb-led arduino-pro-micro led-strip
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I am new to arduino and have a sparkfun pro micro that I'm using to power a one meter (60 pixels) APA 102 strip. I currently power it via USB and have a program that sends lighting instructions to it. I can only seem to power ~15 pixels with full range of brightness and ~30 if I keep the brightness at about half.
Anything more and the pro micro will stop recieving data and either freeze at the last color it's recieved or turn a bright red (which I assume is a visual indication of the fail because I didn't code that). At this point, the COM port will also become inaccessible until the code is either re-uploaded or in some cases, I simply disconnect the strip. This leads me to believe that the amount of power that I am demanding is too much for the board to put out.
So am I right in this assumption? and If so, what can I do to increase the amount of pixels I can power at full range?
I'll also post my code below in case there is something I can do there to increase the pixel amount:
#include <Adafruit_DotStar.h>
#include <SPI.h>
#define NUMPIXELS 60
#define DATAPIN 4
#define CLOCKPIN 5
Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG);
// Variables
int mode;
int numColors;
int fadeSpeed;
int BBCC;
int R;
int G;
int B;
int Bright;
void setup()
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000L)
clock_prescale_set(clock_div_1); // Enable 16 MHz on Trinket
#endif
strip.begin(); // Initialize pins for output
strip.show(); // Turn all LEDs off ASAP
int head = 0, tail = -10; // Index of first 'on' and 'off' pixels
uint32_t color = 0xFFFFFF; // 'On' color (starts red)
void loop()
//strip.setPixelColor(head, color); // 'On' pixel at head
//strip.setPixelColor(tail, 0); // 'Off' pixel at tail
strip.show(); // Refresh strip
delay(20); // Pause 20 milliseconds (~50 FPS)
getData();
if (mode == 1)
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, G, R, B);
strip.setBrightness(Bright);
strip.show();
else
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, 150, 200, 40);
strip.setBrightness(255);
strip.show();
int readLine(int readch, char * buffer, int len)
static int pos = 0;
int rpos;
if (readch > 0)
switch(readch)
case 'r':
break;
case 'n':
rpos = pos;
pos = 0;
return rpos;
default:
if (pos < len-1)
buffer[pos++] = readch;
buffer[pos] = 0;
return 0;
void getData()
char buf[80];
bool redo = true;
if(readLine(Serial.read(), buf, 80) > 0)
int i = 0;
int j = 0;
bool skip = false;
char fin[3];
if (skip == false)
do// mode
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do// number of colors
switch (buf[i])
':
numColors = atoi(fin);
//Serial.print(numColors);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do//
switch (buf[i])
':
fadeSpeed = atoi(fin);
//Serial.print(fadeSpeed);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
R = atoi(fin);
//Serial.print(R);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
G = atoi(fin);
//Serial.print(G);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
Bright = atoi(fin);
//Serial.println(Bright);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
rgb-led arduino-pro-micro led-strip
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I am new to arduino and have a sparkfun pro micro that I'm using to power a one meter (60 pixels) APA 102 strip. I currently power it via USB and have a program that sends lighting instructions to it. I can only seem to power ~15 pixels with full range of brightness and ~30 if I keep the brightness at about half.
Anything more and the pro micro will stop recieving data and either freeze at the last color it's recieved or turn a bright red (which I assume is a visual indication of the fail because I didn't code that). At this point, the COM port will also become inaccessible until the code is either re-uploaded or in some cases, I simply disconnect the strip. This leads me to believe that the amount of power that I am demanding is too much for the board to put out.
So am I right in this assumption? and If so, what can I do to increase the amount of pixels I can power at full range?
I'll also post my code below in case there is something I can do there to increase the pixel amount:
#include <Adafruit_DotStar.h>
#include <SPI.h>
#define NUMPIXELS 60
#define DATAPIN 4
#define CLOCKPIN 5
Adafruit_DotStar strip(NUMPIXELS, DOTSTAR_BRG);
// Variables
int mode;
int numColors;
int fadeSpeed;
int BBCC;
int R;
int G;
int B;
int Bright;
void setup()
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000L)
clock_prescale_set(clock_div_1); // Enable 16 MHz on Trinket
#endif
strip.begin(); // Initialize pins for output
strip.show(); // Turn all LEDs off ASAP
int head = 0, tail = -10; // Index of first 'on' and 'off' pixels
uint32_t color = 0xFFFFFF; // 'On' color (starts red)
void loop()
//strip.setPixelColor(head, color); // 'On' pixel at head
//strip.setPixelColor(tail, 0); // 'Off' pixel at tail
strip.show(); // Refresh strip
delay(20); // Pause 20 milliseconds (~50 FPS)
getData();
if (mode == 1)
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, G, R, B);
strip.setBrightness(Bright);
strip.show();
else
for (int i = 0; i < (60); i++)
if (i % 2 == 0)
strip.setPixelColor(i, 150, 200, 40);
strip.setBrightness(255);
strip.show();
int readLine(int readch, char * buffer, int len)
static int pos = 0;
int rpos;
if (readch > 0)
switch(readch)
case 'r':
break;
case 'n':
rpos = pos;
pos = 0;
return rpos;
default:
if (pos < len-1)
buffer[pos++] = readch;
buffer[pos] = 0;
return 0;
void getData()
char buf[80];
bool redo = true;
if(readLine(Serial.read(), buf, 80) > 0)
int i = 0;
int j = 0;
bool skip = false;
char fin[3];
if (skip == false)
do// mode
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do// number of colors
switch (buf[i])
':
numColors = atoi(fin);
//Serial.print(numColors);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do//
switch (buf[i])
':
fadeSpeed = atoi(fin);
//Serial.print(fadeSpeed);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
R = atoi(fin);
//Serial.print(R);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
':
G = atoi(fin);
//Serial.print(G);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
skip = true;
redo = false;
break;
case '
j++;
while(redo);
redo = true;
j = 0;
if (skip == false)
do
switch (buf[i])
case 'n':
Bright = atoi(fin);
//Serial.println(Bright);
i++;
redo = false;
break;
default:
fin[j] = buf[i];
i++;
break;
j++;
while(redo);
redo = true;
j = 0;
rgb-led arduino-pro-micro led-strip
rgb-led arduino-pro-micro led-strip
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
edited 7 hours ago
VE7JRO♦
1,8686 gold badges14 silver badges24 bronze badges
1,8686 gold badges14 silver badges24 bronze badges
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked 8 hours ago
BoatHouseBoatHouse
223 bronze badges
223 bronze badges
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
BoatHouse is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
3 Answers
3
active
oldest
votes
As Majenko already mention, use a separate power supply.
- Use that power to power the LED strip(s).
- Use the MCU to control the data and clock lines.
- Connect grounds together.
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
add a comment |
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power supply that is capable of providing the current you require.
add a comment |
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If you drive your Arduino with ≈7V into the barrel connector you might be able to pull a full amp from the 5V rail, but it depends on how hot the voltage regulator gets. The higher the input voltage into the regulator, the more heat you generate for a given amount of current. On a genuine Arduino board the voltage regulator should have an overheat protection circuit, which will cause it to shut off when it gets too hot. Cheap knockoffs may just burn out.
When you start using higher current devices like motors or LED strips, it's usually a good idea to switch to a separate (regulated) power supply for those devices. Tie the ground lines together, and since you use separate power supplies for the Arduino and your other devices, they don't affect each other's supply voltages.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "540"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
BoatHouse is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2farduino.stackexchange.com%2fquestions%2f67947%2fwhat-can-i-do-to-increase-the-amount-of-leds-i-can-power-with-a-pro-micro%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
3 Answers
3
active
oldest
votes
3 Answers
3
active
oldest
votes
active
oldest
votes
active
oldest
votes
As Majenko already mention, use a separate power supply.
- Use that power to power the LED strip(s).
- Use the MCU to control the data and clock lines.
- Connect grounds together.
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
add a comment |
As Majenko already mention, use a separate power supply.
- Use that power to power the LED strip(s).
- Use the MCU to control the data and clock lines.
- Connect grounds together.
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
add a comment |
As Majenko already mention, use a separate power supply.
- Use that power to power the LED strip(s).
- Use the MCU to control the data and clock lines.
- Connect grounds together.
As Majenko already mention, use a separate power supply.
- Use that power to power the LED strip(s).
- Use the MCU to control the data and clock lines.
- Connect grounds together.
answered 8 hours ago
Michel KeijzersMichel Keijzers
8,1876 gold badges21 silver badges41 bronze badges
8,1876 gold badges21 silver badges41 bronze badges
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
add a comment |
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
MCU? I'm really new so I don't know what that is. I'm using the SCK and MISO pins. Is that the same thing?
– BoatHouse
8 hours ago
1
1
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
An MCU is a Micro Controller Unit, your Arduino is one (example of an ) MCU. The SCK is the clock line (Serial Clock) and MISO (Master In Slave Out) are data lines. If you google for SPI you will find out what SCK and MISO are meant for.
– Michel Keijzers
8 hours ago
add a comment |
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power supply that is capable of providing the current you require.
add a comment |
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power supply that is capable of providing the current you require.
add a comment |
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power supply that is capable of providing the current you require.
So am I right in this assumption?
Yep.
and If so, what can I do to increase the amount of pixels I can power at full range?
Simple: don't power it from the Arduino. Add a proper external power supply that is capable of providing the current you require.
answered 8 hours ago
Majenko♦Majenko
73.4k4 gold badges38 silver badges85 bronze badges
73.4k4 gold badges38 silver badges85 bronze badges
add a comment |
add a comment |
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If you drive your Arduino with ≈7V into the barrel connector you might be able to pull a full amp from the 5V rail, but it depends on how hot the voltage regulator gets. The higher the input voltage into the regulator, the more heat you generate for a given amount of current. On a genuine Arduino board the voltage regulator should have an overheat protection circuit, which will cause it to shut off when it gets too hot. Cheap knockoffs may just burn out.
When you start using higher current devices like motors or LED strips, it's usually a good idea to switch to a separate (regulated) power supply for those devices. Tie the ground lines together, and since you use separate power supplies for the Arduino and your other devices, they don't affect each other's supply voltages.
add a comment |
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If you drive your Arduino with ≈7V into the barrel connector you might be able to pull a full amp from the 5V rail, but it depends on how hot the voltage regulator gets. The higher the input voltage into the regulator, the more heat you generate for a given amount of current. On a genuine Arduino board the voltage regulator should have an overheat protection circuit, which will cause it to shut off when it gets too hot. Cheap knockoffs may just burn out.
When you start using higher current devices like motors or LED strips, it's usually a good idea to switch to a separate (regulated) power supply for those devices. Tie the ground lines together, and since you use separate power supplies for the Arduino and your other devices, they don't affect each other's supply voltages.
add a comment |
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If you drive your Arduino with ≈7V into the barrel connector you might be able to pull a full amp from the 5V rail, but it depends on how hot the voltage regulator gets. The higher the input voltage into the regulator, the more heat you generate for a given amount of current. On a genuine Arduino board the voltage regulator should have an overheat protection circuit, which will cause it to shut off when it gets too hot. Cheap knockoffs may just burn out.
When you start using higher current devices like motors or LED strips, it's usually a good idea to switch to a separate (regulated) power supply for those devices. Tie the ground lines together, and since you use separate power supplies for the Arduino and your other devices, they don't affect each other's supply voltages.
Managing your power budget is a normal part of electronics projects. You can only draw about 500 mA total from the USB port, and less than that from the 5V line if your Arduino is powered from USB. If you drive your Arduino with ≈7V into the barrel connector you might be able to pull a full amp from the 5V rail, but it depends on how hot the voltage regulator gets. The higher the input voltage into the regulator, the more heat you generate for a given amount of current. On a genuine Arduino board the voltage regulator should have an overheat protection circuit, which will cause it to shut off when it gets too hot. Cheap knockoffs may just burn out.
When you start using higher current devices like motors or LED strips, it's usually a good idea to switch to a separate (regulated) power supply for those devices. Tie the ground lines together, and since you use separate power supplies for the Arduino and your other devices, they don't affect each other's supply voltages.
edited 6 hours ago
answered 7 hours ago
Duncan CDuncan C
2,7592 gold badges8 silver badges20 bronze badges
2,7592 gold badges8 silver badges20 bronze badges
add a comment |
add a comment |
BoatHouse is a new contributor. Be nice, and check out our Code of Conduct.
BoatHouse is a new contributor. Be nice, and check out our Code of Conduct.
BoatHouse is a new contributor. Be nice, and check out our Code of Conduct.
BoatHouse is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Arduino Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2farduino.stackexchange.com%2fquestions%2f67947%2fwhat-can-i-do-to-increase-the-amount-of-leds-i-can-power-with-a-pro-micro%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown