Table of Contents

Details

Fibonacci128 is a beautiful 86mm circular disc with 128 RGB LEDs surface mounted in a Fibonacci distrubution. Swirling and pulsing like a colorful galaxy, it’s mesmerizing to watch.

It consists of 128 RGB LEDs, arranged into a circular Fermat’s spiral pattern.

Buy on Tindie

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

r = c \sqrt{n},
\theta = n \times 137.508^\circ,

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


Specifications

  • Size: 3.39 x 3.39 x .063 inch (86 x 86 x 1.6 mm)
  • 2 layer printed circuit board
  • FR4 substrate
  • Green SMOBC (solder mask over bare copper)
  • HASL (Hot Air Solder Leveling) Finish
  • Designed in the US by Evil Genius Labs
  • Some PCBs are manufactured in the US by OSH Park in their After Dark (clear soldermask on a black substrate for stylish boards) finish!
  • Some are assembled in the US by Evil Genius Labs
  • Some are assembled in the US by ElectroMage! See Pixelblaze Maps below for more information.

Parts

Includes only the printed circuit board with LEDs, does not include parts that are required to assemble and run it (microcontroller, power supply, wires, etc).

Parts that are not included, but are required to assemble and use:

  • Microcontroller (Arduino, ESP8266, ESP32, etc):
  • Power supply, or run off of USB power from microcontroller.
  • Wires, connectors, crimp tool, etc.
  • Soldering iron, solder, etc.

Parts I used in my builds (also not included):

Code

Open source example firmware and web application: https://github.com/jasoncoon/esp8266-fastled-webserver/tree/fibonacci128

Pixelblaze Maps

Pixelblaze is an advanced WiFi LED pattern engine, created by ElectroMage. Live pattern expression compiler, lightning fast fixed point math, and HDR!

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 pixel maps. 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)

These maps can be copied and pasted into the Pixel Mapper in the Mapper tab of your Pixelblaze web interface.

[[137,130],[170,121],[182,105],[186,86],[182,66],[172,47],[156,31],[135,19],[110,13],[83,13],[26,55],[49,39],[74,30],[99,28],[121,33],[141,43],[155,57],[164,75],[164,95],[151,115],[145,96],[141,75],[129,60],[112,50],[91,46],[69,49],[47,59],[27,74],[11,96],[0,122],[9,166],[11,139],[19,114],[33,93],[50,78],[70,69],[90,67],[108,72],[123,85],[130,112],[114,102],[96,90],[77,89],[58,96],[43,110],[32,129],[25,152],[25,177],[32,203],[45,227],[85,247],[65,228],[51,207],[43,184],[42,161],[47,140],[58,123],[74,112],[94,109],[105,126],[81,132],[68,146],[62,165],[63,185],[70,206],[84,225],[103,240],[127,251],[154,255],[218,224],[193,235],[167,240],[142,237],[119,229],[101,216],[89,199],[83,181],[84,161],[96,143],[118,139],[104,166],[106,186],[116,202],[132,215],[152,221],[175,222],[198,216],[221,204],[241,185],[255,115],[248,142],[236,166],[219,184],[199,197],[178,203],[158,202],[140,195],[126,181],[121,158],[140,167],[157,180],[176,182],[195,178],[213,166],[227,148],[237,126],[241,101],[239,74],[193,21],[210,42],[221,66],[225,91],[222,114],[214,134],[201,150],[184,159],[164,160],[142,147],[160,141],[181,137],[196,124],[204,106],[206,85],[202,63],[191,42],[174,24],[152,9],[125,0]]
        
[[0,0],[13,247],[26,239],[39,230],[52,221],[65,212],[78,203],[91,194],[104,186],[117,177],[122,154],[109,163],[96,171],[83,180],[70,189],[57,198],[44,207],[31,216],[18,224],[5,233],[10,210],[23,201],[36,192],[49,184],[62,175],[75,166],[88,157],[101,148],[114,139],[127,131],[119,116],[106,125],[93,134],[80,143],[67,152],[54,160],[41,169],[28,178],[15,187],[2,196],[7,173],[20,164],[33,155],[46,146],[59,137],[72,129],[85,120],[98,111],[111,102],[124,93],[116,79],[103,88],[90,97],[77,105],[64,114],[51,123],[38,132],[25,141],[12,150],[4,135],[17,126],[30,118],[43,109],[56,100],[69,91],[82,82],[95,73],[108,65],[121,56],[126,33],[113,42],[100,50],[87,59],[74,68],[61,77],[48,86],[35,95],[22,103],[9,112],[1,98],[14,89],[27,80],[40,71],[53,63],[66,54],[79,45],[92,36],[105,27],[118,18],[123,252],[110,4],[97,13],[84,22],[71,31],[58,39],[45,48],[32,57],[19,66],[6,75],[11,52],[24,43],[37,34],[50,25],[63,16],[76,8],[89,255],[102,246],[115,237],[120,214],[107,223],[94,232],[81,241],[68,250],[55,2],[42,11],[29,20],[16,29],[3,37],[8,14],[21,5],[34,253],[47,244],[60,235],[73,226],[86,218],[99,209],[112,200],[125,191]]
        
[[137, 130, 128],[170, 121, 247],[182, 105, 239],[186, 86, 230],[182, 66, 221],[172, 47, 212],[156, 31, 203],[135, 19, 194],[110, 13, 186],[83, 13, 177],[26, 55, 154],[49, 39, 163],[74, 30, 171],[99, 28, 180],[121, 33, 189],[141, 43, 198],[155, 57, 207],[164, 75, 216],[164, 95, 224],[151, 115, 233],[145, 96, 210],[141, 75, 201],[129, 60, 192],[112, 50, 184],[91, 46, 175],[69, 49, 166],[47, 59, 157],[27, 74, 148],[11, 96, 139],[0, 122, 131],[9, 166, 116],[11, 139, 125],[19, 114, 134],[33, 93, 143],[50, 78, 152],[70, 69, 160],[90, 67, 169],[108, 72, 178],[123, 85, 187],[130, 112, 196],[114, 102, 173],[96, 90, 164],[77, 89, 155],[58, 96, 146],[43, 110, 137],[32, 129, 129],[25, 152, 120],[25, 177, 111],[32, 203, 102],[45, 227, 93],[85, 247, 79],[65, 228, 88],[51, 207, 97],[43, 184, 105],[42, 161, 114],[47, 140, 123],[58, 123, 132],[74, 112, 141],[94, 109, 150],[105, 126, 135],[81, 132, 126],[68, 146, 118],[62, 165, 109],[63, 185, 100],[70, 206, 91],[84, 225, 82],[103, 240, 73],[127, 251, 65],[154, 255, 56],[218, 224, 33],[193, 235, 42],[167, 240, 50],[142, 237, 59],[119, 229, 68],[101, 216, 77],[89, 199, 86],[83, 181, 95],[84, 161, 103],[96, 143, 112],[118, 139, 98],[104, 166, 89],[106, 186, 80],[116, 202, 71],[132, 215, 63],[152, 221, 54],[175, 222, 45],[198, 216, 36],[221, 204, 27],[241, 185, 18],[255, 115, 252],[248, 142, 4],[236, 166, 13],[219, 184, 22],[199, 197, 31],[178, 203, 39],[158, 202, 48],[140, 195, 57],[126, 181, 66],[121, 158, 75],[140, 167, 52],[157, 180, 43],[176, 182, 34],[195, 178, 25],[213, 166, 16],[227, 148, 8],[237, 126, 255],[241, 101, 246],[239, 74, 237],[193, 21, 214],[210, 42, 223],[221, 66, 232],[225, 91, 241],[222, 114, 250],[214, 134, 2],[201, 150, 11],[184, 159, 20],[164, 160, 29],[142, 147, 37],[160, 141, 14],[181, 137, 5],[196, 124, 253],[204, 106, 244],[206, 85, 235],[202, 63, 226],[191, 42, 218],[174, 24, 209],[152, 9, 200],[125, 0, 191]]
        

3D Printed Case

3D printed case with 3mm black LED acrylic diffuser (work in progress): https://www.thingiverse.com/thing:4191326

Assembly Instructions

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.

Note: Pictures are of the larger Fibonacci256, but the instructions are identical.

  1. Find a clean spot on your soldering workspace. I used a piece of heavy card stock. Carefully place the board with the LEDs facing down and the bottom of the board facing up.
  2. I used 90 degree header pins to allow connecting and disconnecting jumper wires easily. I used small female headers to keep them level while I soldered.
  3. Insert the header pins.
  4. Carefully turn the board over and solder only the middle pin of each header.
  5. Ensure the headers are straight and level before proceeding to solder the remaining pins. The 5V and GND pins are connected to planes with large traces, and may take some time to heat up enough for solder to melt. Using a higher temperature and less time can help, if possible. Flux can also help.
  6. Check each solder joint, then disconnect the female headers.
  7. VERY carefully check polarity before connecting 5V and GND. If possible, connect 5V and GND on both sets of headers to provide maximum current flow and minimize voltage drop. I used female jumper wires.
  8. Connect the data pin from your microcontroller to the DI pin on the Fibonacci board.
  9. Each WS2812 can theoretically draw 60mA at full brightness, solid white color. 128 of them can theoretically draw 7.68 Amps! I strongly suggest using FastLED’s power management to limit the maximum brightness to a reasonable amount, well under the maximum your power supply is rated for. I’ve found even just 2A from a USB power adapter is blindingly bright.
  10. Keep an eye on the temperature of the PCB and especially the connectors. High temperatures can reduce the life of the LEDs. When possible, ensure air can flow, either passively (ventilation) or actively (exhaust fan).
  11. Most header pins are rated for 4-6 amps, but be sure to check your pins and wires. High temperatures increase resistance, which increases temperature, ad infinitum. If temperatures exceed the maximum rating of the wire insulation, sparks and fire can occur at high amperage.