Table of Contents

Details

Fibonacci64 Micro HDR is a beautiful 40mm circular disc with 64 RGB LEDs surface mounted in a Fibonacci distribution. Swirling and pulsing like a miniature galaxy, it’s mesmerizing to watch.

It consists of 64 SK9822-EC2020 HDR (High Dymanic Range) RGB LEDs, arranged into a circular Fermat’s spiral pattern.

Buy on Tindie

It has solder pads on the back that match the pinout of a Pixelblaze V3 Pico by ElectroMage, QT Py by Adafruit, or XIAO by Seeed. It can be used by any microcontroller via the 5V, GND, Clock and Data In pins.

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: 1.57 x 1.57 x .063 inch (40 x 40 x 1.6 mm)
  • 2 layer printed circuit board
  • FR4 substrate
  • Black or Purple SMOBC (solder mask over bare copper)
  • HASL (Hot Air Solder Leveling) or ENIG (electroless nickel immersion gold) Finish
  • Designed in the US by Evil Genius Labs
  • Some PCBs are manufactured in the US by OSH Park
  • Some are assembled in the US by Evil Genius Labs
  • Some are assembled in the US by ElectroMage! See Pixelblaze Map below for more information.

Parts

Options available to purchase for additional amount:

  • Diffuser: 3mm black LED acrylic 42mm circle.
  • Open Case Kit: diffuser, back plate with wall mounting hole, M2 black nylon standoffs, M2 black metal screws.
  • Fully Assembled: diffuser, open case, and assembled Pixelblaze V3 Pico by ElectroMage controller.

If the “Fully Assembled” option is not chosen, these parts are not included, but are required to assemble and use:

  • Microcontroller (Pixelblaze, Arduino, ESP8266, ESP32, etc)
  • Wires, connectors, crimp tool, etc.
  • Soldering iron, solder, etc.

Parts I used in my builds:

Code

Open source touch demo: https://github.com/jasoncoon/fibonacci64-touch-demo/tree/f64-micro-hdr

Pixelblaze Map

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 a pixel map. A 2D XY map can allow you to scroll colors, palettes, and patterns across the panel horizontally, vertically, diagonally, etc.

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

[[140,128],[189,114],[208,91],[214,63],[208,34],[146,0],[168,21],[180,48],[180,76],[162,106],[152,78],[146,47],[129,25],[103,11],[72,5],[40,38],[70,35],[97,42],[120,61],[131,101],[107,87],[79,69],[50,68],[23,78],[0,98],[7,143],[23,118],[46,102],[76,98],[93,122],[57,131],[37,152],[28,179],[29,209],[87,255],[68,230],[59,202],[62,174],[80,148],[113,142],[91,181],[94,210],[109,235],[133,252],[202,235],[172,234],[145,224],[125,203],[117,170],[145,183],[170,201],[198,205],[227,198],[253,181],[255,134],[235,157],[210,171],[181,173],[148,153],[175,145],[207,138],[228,120],[240,93],[244,63]]
        

Case Assembly Instructions

  1. Peel and remove any protective plastic and/or paper film from the acrylic.
  2. Insert M2x10mm Button Head Hex Screws into the holes in the matte side of the acrylic face plate.
  3. Carefully center and place the Fibonacci PCB onto the screws, with the LED side facing the glossy side of the acrylic face plate.
  4. Guide the wires through the holes in the back plate. Center and place the back plate onto the screws. Gently pull the slack out of the wires, through the slots in the back plate. The back plate should fit flush against the back of the PCB.
  5. Hand-tighten M2 Hex Nuts onto the screws.

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.

  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. VERY carefully check polarity before connecting 5V and GND.
  3. Either:
    • Solder wires to the pads on the back of the Fibonacci PCB and connect them to your microcontroller.
    • Or:
    • Carefully align a Pixelblaze V3 Pico Adafruit QT Py, Seeeduino XIAO, or another controller with an identical footprint with the pads on the back of the Fibonacci PCB. Solder the pads.
  4. Each SK9822-EC2020 can theoretically draw 15mA at full brightness, solid white color. 64 of them can theoretically draw 960mA. I’ve found that 960mA is blindingly bright.
  5. 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).
  6. If using a Pixelblaze V3 Pico, I suggest using the low power settings (reduce the global brightness, CPU clock speed, and/or disable wi-fi) to reduce power usage and heat.
  7. If using FastLED, I suggest using its power management to limit the maximum brightness to a reasonable amount, well under the maximum your power supply is rated for.