Table of Contents

Details

Fibonacci64 Nano is a tiny, beautiful 33mm 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 SK6805-EC15 1.5mm 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 the QT Py by Adafruit, or XIAO by Seeed. It can be used by any microcontroller via the 5V, GND, and Data In pins. It also has a Data Out pad, for connecting more LEDs on the same data pin.

Three of the four mounting holes are surrounded by capacitive touch compatible pads. They’re connected to the A0-A2 pads/pins on the QT Py footprint. The SAMD21 QT Py supports capacitive touch on these 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.3 x 1.3 x .063 inch (33 x 33 x 1.6 mm)
  • 2 layer printed circuit board
  • FR4 substrate
  • Black SMOBC (solder mask over bare copper)
  • HASL (Hot Air Solder Leveling)
  • Designed in the US by Evil Genius Labs
  • Assembled in the US by Cyber City Circuits

Parts

Options available to purchase for additional amount:

  • Diffuser: 3mm black LED acrylic 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 QT Py by Adafruit controller.

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

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

Parts I used in my builds:

Code

Please note the code is in the f64-nano branch!

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

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]]
        

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 an 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 SK6805-EC15 can theoretically draw 15mA at full brightness, solid white color. 64 of them can theoretically draw 960mA. I 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 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).

Acrylic Open Case Assembly Instructions

  1. Peel and remove any protective plastic and/or paper film from the acrylic.
  2. Insert M2x6mm Button Head Hex Screw into the bottom hole in the matte side of the acrylic face plate.
  3. Insert M2x8mm Button Head Hex Screws into the remaining holes in the matte side of the acrylic face plate.
  4. Hand-tighten M2 Hex Metal Nuts onto the screws, on the glossy side of the acrylic face plate.
  5. Carefully center and place the Fibonacci PCB onto the standoffs, with the LED side facing the glossy side of the acrylic face plate.
  6. Hand-tighten M2 Nylon Hex Standoffs onto the back side of the Fibonacci PCB.
  7. Center and place the acrylic back plate on the standoffs.
  8. Insert and hand-tighten M2x6mm Button Head Hex Screws through the holes in the matte side of the acrylic back plate and into the standoffs.