Evil Genius Labs
Custom Electronic Art
Custom Electronic Art
Fibonacci256 is a beautiful 166mm circular disc with 256 RGB LEDs surface mounted in a Fibonacci distribution. Swirling and pulsing like a colorful galaxy, it’s mesmerizing to watch.
It consists of 256 RGB LEDs, arranged into a circular Fermat’s spiral pattern.
In disc phyllotaxis, as in the sunflower and daisy, the mesh of spirals occurs in Fibonacci numbers because divergence (angle of succession in a single spiral arrangement) approaches the golden ratio. The shape of the spirals depends on the growth of the elements generated sequentially. In mature-disc phyllotaxis, when all the elements are the same size, the shape of the spirals is that of Fermat spirals—ideally. That is because Fermat's spiral traverses equal annuli in equal turns. The full model proposed by H Vogel in 1979[2] is
where θ is the angle, r is the radius or distance from the center, and n is the index number of the floret and c is a constant scaling factor. The angle 137.508° is the golden angle which is approximated by ratios of Fibonacci numbers.[3]
Fermat's spiral. (2015, October 24). In Wikipedia, The Free Encyclopedia. Retrieved 02:45, February 24, 2016, from https://en.wikipedia.org/w/index.php?title=Fermat%27s_spiral
Open case with 3mm black LED acrylic diffuser, black nylon M3 standoffs, and 3D printed back plate with wall mounting hole. Available as kit or fully-assembled:
3D printed case with 3mm black LED acrylic diffuser (work in progress): https://www.thingiverse.com/thing:4191326
Caution: the closed 3D printed case design has no consideration for ventilation, and elevated temperatures can drastically reduce the life of LEDs. In my testing, running above 50% brightness can result in the case warping, and LED failure.
Parts
Parts list:
Electronics:
Open Case:
Instructions for connecting to a Fibonacci, pre-assembled or programmed with the ESP8266-FastLED-WebServer code:
Fibonacci256-XXXX
, where XXXX are four letters/numbers unique to your Fibonacci. Please note this name for step 7 below.Configure WiFi
.Open source example firmware and web application: https://github.com/jasoncoon/esp8266-fastled-webserver/tree/fibonacci256
Pixelblaze is an advanced WiFi LED pattern engine, created by ElectroMage. Live pattern expression compiler, lightning fast fixed point math, and HDR!
This map can be copied and pasted into the Pixel Mapper in the Mapper tab of your Pixelblaze web interface.
[[122,126],[99,120],[90,109],[87,96],[90,82],[97,69],[108,57],[123,49],[141,45],[160,45],[179,50],[198,59],[214,74],[227,92],[236,114],[240,138],[238,163],[231,188],[218,211],[199,231],[132,255],[159,248],[182,235],[202,218],[217,198],[227,175],[231,152],[230,129],[224,107],[214,89],[200,74],[184,63],[166,57],[149,56],[133,59],[119,66],[109,76],[103,88],[103,102],[112,116],[117,103],[119,88],[127,77],[140,71],[154,68],[170,70],[185,77],[199,88],[211,103],[218,121],[222,141],[221,163],[214,184],[202,205],[186,222],[165,236],[141,245],[115,249],[88,247],[29,208],[51,224],[75,235],[101,241],[126,240],[149,234],[170,223],[188,209],[201,191],[209,172],[212,152],[211,132],[205,115],[195,101],[183,90],[169,84],[155,82],[142,86],[132,95],[127,114],[138,107],[151,98],[165,98],[177,103],[188,112],[196,126],[201,142],[201,159],[196,177],[187,195],[173,210],[155,222],[134,230],[112,233],[88,230],[64,223],[43,209],[24,191],[9,168],[0,142],[4,98],[4,125],[10,151],[22,174],[37,194],[56,209],[77,219],[99,223],[121,223],[141,218],[159,208],[173,195],[182,180],[188,164],[189,148],[185,134],[177,122],[166,114],[152,112],[144,123],[161,128],[171,138],[175,151],[174,165],[169,180],[159,193],[146,203],[129,211],[110,214],[90,212],[70,206],[51,194],[35,178],[22,158],[14,134],[11,109],[14,83],[23,58],[38,35],[76,11],[54,28],[38,48],[26,71],[20,95],[20,120],[25,142],[35,163],[48,179],[65,192],[83,200],[101,203],[119,202],[134,196],[147,187],[156,175],[160,162],[159,148],[151,136],[135,133],[145,152],[144,166],[137,177],[125,186],[111,190],[95,191],[79,187],[63,178],[49,165],[38,148],[31,128],[28,107],[31,84],[39,62],[53,41],[71,24],[93,11],[118,2],[145,0],[211,28],[187,16],[161,9],[135,8],[110,13],[87,23],[68,37],[53,55],[43,75],[39,96],[39,116],[43,135],[52,151],[64,164],[78,173],[93,177],[107,177],[120,172],[129,162],[133,146],[119,153],[108,161],[94,163],[81,160],[69,152],[58,139],[51,124],[49,106],[50,87],[57,69],[68,51],[83,36],[103,25],[125,18],[149,16],[174,20],[197,29],[219,44],[238,64],[255,133],[250,106],[240,81],[225,60],[206,44],[184,32],[162,26],[139,25],[117,29],[98,38],[82,50],[70,65],[63,82],[60,99],[62,115],[68,129],[77,140],[89,147],[103,148],[118,138],[106,134],[91,131],[80,122],[75,110],[73,95],[76,80],[84,65],[96,52],[112,42],[130,36],[150,34],[172,37],[192,45],[211,59],[227,77],[239,98],[246,123],[248,149],[243,176],[232,202]]
Fibonacci boards are laid out physically in a zig-zag pattern, from center to edge and back to center, all the way around the board. This layout automatically makes one dimensional patterns designed for strips visually interesting:
To treat the board as a matrix, you can use a pixel map. A 2D XY map can allow you to scroll colors, palettes, and patterns across the panel horizontally, vertically, diagonally, etc:
hsv(x + t1, 1, 1)
hsv(y + t1, 1, 1)
hsv(x + y + t1, 1, 1)
A 2D polar (radius and angle) map can allow you to easily make patterns that rotate clockwise or counterclockwise, expand, or contract:
hsv(y + t1, 1, 1)
hsv(x + t1, 1, 1)
Note: Double-check the position, alignment, and orientation of each component very carefully before soldering!
If you’re new to soldering, I highly recommend reading through a good soldering tutorial, such as the ones by Adafruit and SparkFun.