Post has attachment
I made these awesome steampunk goggles but my code stopped working so i converted it to FastLED and changed the color hue to respond to the heading. Made a github just to upload it. https://github.com/harald-togram/Steam-punk-goggles-with-FastLED
Just whant to say Thanks at first for your work.
I plan a big moodlight for my wife as Christmas present.
Last steps are done, whole lamp need a Little fine adjustment and its fine.

at the end i hope to get a simple single or rainbow colored moodlight, whre i can adjust differrent mode (switching through example codes) or just a light without moving colours
Hello i installed a 600 led strip for halloween but im not able to make pattern like i would like. I need more time to learn and would like to have some pattern to use them before the 31 so if you have something for halloween share!
Post has attachment
Hi!
I experimented with the 1D 8 bit noise function and created this variant that directly generates noise in the range -128..127. No need to scale it, i.e. no _raw variant. The number of multiplications is the same for the not _raw variant, but the result looks very smooth. What do you think?

// generate noise in the range -128..127 for x in 8.8 fixed point notation
inline int8_t noise8s(uint16_t x) {
// integer part of x
uint8_t i = x >> 8;

// fractional part of x
uint8_t f = uint8_t(x);

// bump for position i and negative bump for next position
int8_t g1 = bump8s(i, f);
int8_t g2 = ~bump8s(i + 1, f);

// interpolate between the bumps
return lerp8s(g1, g2, f);
}

// average for 8 bit signed integers
inline int8_t avg8s(int8_t i, int8_t j) {
return (i + j + 1) >> 1;
}

// lerp for 8 bit signed integers. the interpolator r is interpreted as 0..255/256
inline int8_t lerp8s(int8_t a, int8_t b, uint8_t r) {
if (b > a)
return a + uint8_t(r * uint8_t(b - a) >> 8);
return a - uint8_t(r * uint8_t(a - b) >> 8);
}

// calculate bumps of varying height in the range -128..127
inline int8_t bump8s(uint8_t i, uint8_t x) {
int8_t hash = P(i);
int8_t y = uint8_t(x * x >> 7) - uint8_t(x + x);

int8_t u, v;
if (hash & 8) {
u = y;
v = y;
} else {
if (hash & 4) {
u = 1;
v = y;
} else {
u = y;
v = 1;
}
}

if (hash & 1)
u = ~u;
if (hash & 2)
v = ~v;

return avg8s(u, v);
}

Post has attachment
Hi, i've just published some code for STM32. This library is non blocking ,it uses dma and irq to send the data while the main program can do other tasks,and is very flexible on the pins used. It supports ws2812,apa102 and dmx protocols.

Hope that can be usefull for the Fastled community. Cheers

http://www.stm32duino.com/viewtopic.php?f=9&t=2574
https://github.com/octavio4/parallel-output-stm32

Any thoughts on whether it is possible to get your smooth noise code running on a 16x16 WS2812 matrix? Or will it only work with a APA102 matrix? I'm trying to run it using Arduino Mega and 16x16 WS2812 matrix, and it works for about 1 second, then freezes.

https://gist.github.com/StefanPetrick/96574043d6425cc4f3ee39a2245ac965
Post has attachment
I just published a new guide over at , check it out. This guide uses FastLED and Circuit Playground to control 300+ APA102 LEDs with button presses to change color modes.

My brand-new dining room floor is SO lovely!
Post has attachment
I found this method to add custom palettes.
Pretty easy to follow.
Found some nice ones for Thanksgiving, Valentine's day, St Patty's day, etc.
I need to be at home to test them, but all indications point to success.
Hello
Gentlemen jam can write this simply?
ps. Sorry for my English

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);
leds(80, 99) = CRGB::Black;
leds(100, 119) = CRGB::Red;
FastLED.delay(wait);
leds(100, 119) = CRGB::Black;
leds(120, 139) = CRGB::Red;
FastLED.delay(wait);
leds(120, 139) = CRGB::Black;
leds(140, 159) = CRGB::Red;
FastLED.delay(wait);
leds(140, 159) = CRGB::Black;
leds(160, 179) = CRGB::Red;
FastLED.delay(wait);
leds(160, 179) = CRGB::Black;
leds(180, 199) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);
leds(80, 99) = CRGB::Black;
leds(100, 119) = CRGB::Red;
FastLED.delay(wait);
leds(100, 119) = CRGB::Black;
leds(120, 139) = CRGB::Red;
FastLED.delay(wait);
leds(120, 139) = CRGB::Black;
leds(140, 159) = CRGB::Red;
FastLED.delay(wait);
leds(140, 159) = CRGB::Black;
leds(160, 179) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);
leds(80, 99) = CRGB::Black;
leds(100, 119) = CRGB::Red;
FastLED.delay(wait);
leds(100, 119) = CRGB::Black;
leds(120, 139) = CRGB::Red;
FastLED.delay(wait);
leds(120, 139) = CRGB::Black;
leds(140, 159) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);
leds(80, 99) = CRGB::Black;
leds(100, 119) = CRGB::Red;
FastLED.delay(wait);
leds(100, 119) = CRGB::Black;
leds(120, 139) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);
leds(80, 99) = CRGB::Black;
leds(100, 119) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);
leds(60, 79) = CRGB::Black;
leds(80, 99) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);
leds(40, 59) = CRGB::Black;
leds(60, 79) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);
leds(20, 39) = CRGB::Black;
leds(40, 59) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
leds(0, 19) = CRGB::Black;
leds(20, 39) = CRGB::Red;
FastLED.delay(wait);

leds(0, 19) = CRGB::Red;
FastLED.delay(wait);
Post has attachment
I'd like to get some feedback on my plan for getting four hardware SPI lines on a teensy 3.2 with the attached design, to power APA 102 Led strips.

I have 4 separate groups of these LED strips, in each group there are 2 strips, with the data and clock pins daisy chained. Each LED strip has 103 leds in it.

I would use a level shifter to change the voltage of the signals from 3.3v to 5v. In this design, I'm using data pins 7 and 11, and clock pins 13 and 14, and converting them to 5v using the level shifter.

In total, there will be 824 LEDs. I plan on getting a 5v, 10a power supply.

Will this be enough power?
Will the Teensy have enough memory for these LEDs?
Will issues arise from connecting the 3.3v ground of the teensy to the 5v ground of the power supply?
Should the splitting of the data and clock pins happen before or after the level shifting?
Is 26awg wire sufficient for this power?