Evil Genius Labs
Custom Electronic Art
Custom Electronic Art
Fibonacci256 75mm is a beautiful PCB 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 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
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.
[[39.06,37.6],[47.62,36.24],[51.35,33.81],[53.66,30.75],[54.92,27.28],[55.26,23.57],[54.72,19.79],[53.36,16.06],[51.23,12.52],[48.39,9.3],[44.89,6.5],[40.83,4.25],[36.31,2.61],[29.05,4.57],[33.71,5.26],[38.03,6.65],[41.9,8.67],[45.21,11.23],[47.88,14.25],[49.81,17.62],[50.92,21.2],[51.11,24.89],[50.26,28.54],[48.09,32.04],[43.53,35.4],[44.34,31.84],[46.56,27.61],[47.06,23.72],[46.38,20.08],[44.77,16.75],[42.37,13.81],[39.29,11.36],[35.65,9.49],[31.57,8.27],[27.17,7.76],[22.58,7.99],[17.91,9.01],[8.84,17.14],[12.9,14.51],[17.18,12.64],[21.53,11.54],[25.85,11.21],[29.98,11.64],[33.79,12.81],[37.16,14.66],[39.95,17.14],[41.99,20.21],[43.1,23.84],[42.92,28.14],[40.01,34.33],[39.74,30.47],[39.63,25.22],[38.09,21.5],[35.65,18.68],[32.57,16.64],[29.02,15.39],[25.15,14.91],[21.11,15.23],[17.04,16.33],[13.07,18.2],[9.33,20.82],[5.95,24.13],[2.68,35.74],[4.71,31.39],[7.31,27.57],[10.4,24.35],[13.85,21.82],[17.56,20.04],[21.39,19.04],[25.19,18.87],[28.84,19.56],[32.17,21.17],[34.99,23.81],[37.05,27.88],[36.04,32.18],[33.04,26.94],[29.74,24.37],[26.18,23.14],[22.5,22.96],[18.83,23.72],[15.31,25.32],[12.07,27.68],[9.22,30.73],[6.86,34.39],[5.1,38.55],[4,43.11],[7.43,54.55],[6.84,49.83],[7.01,45.24],[7.92,40.93],[9.51,36.99],[11.7,33.56],[14.42,30.73],[17.56,28.63],[21.03,27.35],[24.73,27.05],[28.59,27.97],[32.68,30.74],[35.51,35.78],[28.92,31.63],[24.57,30.97],[20.82,31.7],[17.56,33.42],[14.82,35.95],[12.67,39.11],[11.16,42.79],[10.35,46.85],[10.28,51.16],[10.98,55.58],[12.46,59.99],[14.7,64.26],[21.39,67.73],[18.4,64.07],[16.15,60.13],[14.65,56.02],[13.93,51.88],[13.99,47.85],[14.83,44.05],[16.42,40.65],[18.74,37.79],[21.81,35.65],[25.73,34.5],[31.22,35.01],[28.29,37.22],[23.89,38.86],[20.94,41.41],[19,44.56],[17.95,48.12],[17.76,51.92],[18.39,55.81],[19.82,59.65],[22.02,63.31],[24.93,66.66],[28.49,69.59],[32.62,71.99],[40.05,71.32],[35.62,69.81],[31.65,67.69],[28.24,65.02],[25.47,61.91],[23.43,58.47],[22.18,54.83],[21.78,51.11],[22.32,47.47],[23.92,44.04],[26.9,40.98],[32.9,38.42],[30.76,41.51],[27.42,45.41],[26.08,49.19],[26,52.91],[26.92,56.48],[28.71,59.81],[31.26,62.77],[34.46,65.26],[38.22,67.19],[42.42,68.49],[46.95,69.08],[51.69,68.92],[61.97,62.55],[57.53,64.39],[53.02,65.46],[48.57,65.75],[44.3,65.29],[40.35,64.12],[36.84,62.27],[33.9,59.83],[31.66,56.87],[30.27,53.45],[29.94,49.61],[31.11,45.26],[34.72,42.96],[33.52,48.67],[34.25,52.76],[36.06,56.05],[38.68,58.64],[41.91,60.55],[45.59,61.74],[49.59,62.17],[53.76,61.84],[57.97,60.73],[62.09,58.84],[65.98,56.21],[71.19,45.44],[68.44,49.33],[65.21,52.6],[61.62,55.18],[57.79,57.02],[53.85,58.09],[49.93,58.35],[46.18,57.79],[42.75,56.4],[39.81,54.15],[37.56,50.91],[36.39,46.2],[37.8,41.07],[39.84,48.02],[42.61,51.38],[45.87,53.35],[49.45,54.25],[53.17,54.22],[56.91,53.32],[60.51,51.62],[63.84,49.16],[66.8,46.02],[69.27,42.27],[71.16,38.01],[72.39,33.34],[69.8,26.25],[69.53,30.97],[68.54,35.41],[66.88,39.46],[64.61,43.01],[61.85,45.96],[58.67,48.21],[55.2,49.66],[51.55,50.22],[47.85,49.76],[44.19,48],[40.53,44.07],[44.22,44.29],[48.53,45.97],[52.41,46.05],[55.96,45.01],[59.12,43.08],[61.82,40.39],[63.98,37.09],[65.51,33.28],[66.36,29.09],[66.47,24.64],[65.81,20.07],[64.38,15.5],[58.44,10.97],[60.7,15.07],[62.2,19.33],[62.92,23.6],[62.87,27.77],[62.06,31.7],[60.54,35.24],[58.33,38.26],[55.49,40.6],[52.01,42.08],[47.8,42.36],[41.86,40.38],[45.41,39.34],[50.4,38.67],[53.89,36.76],[56.44,34.06],[58.16,30.79],[59.07,27.12],[59.18,23.21],[58.49,19.2],[57.01,15.23],[54.77,11.44],[51.82,7.94],[48.21,4.86]]
#define NUM_LEDS 256 byte coordsX[NUM_LEDS] = { 133, 164, 178, 186, 191, 192, 190, 185, 178, 167, 154, 140, 123, 96, 114, 129, 143, 156, 165, 172, 176, 177, 174, 166, 149, 152, 161, 162, 160, 154, 145, 134, 121, 106, 90, 73, 56, 23, 37, 53, 69, 85, 100, 114, 126, 136, 144, 148, 147, 137, 136, 135, 130, 121, 109, 96, 82, 67, 53, 38, 24, 12, 0, 7, 17, 28, 41, 54, 68, 82, 96, 108, 118, 126, 122, 111, 99, 86, 73, 59, 46, 34, 24, 15, 9, 5, 17, 15, 16, 19, 25, 33, 43, 54, 67, 81, 95, 110, 120, 96, 80, 66, 54, 44, 37, 31, 28, 28, 30, 36, 44, 68, 58, 49, 44, 41, 41, 44, 50, 59, 70, 84, 104, 94, 78, 67, 60, 56, 55, 57, 63, 71, 81, 94, 110, 137, 120, 106, 93, 83, 76, 71, 70, 72, 78, 89, 111, 103, 90, 86, 85, 89, 95, 105, 116, 130, 145, 162, 179, 217, 201, 184, 168, 152, 138, 125, 114, 106, 101, 100, 104, 117, 113, 115, 122, 132, 144, 157, 172, 187, 202, 217, 232, 251, 241, 229, 216, 202, 187, 173, 159, 147, 136, 128, 123, 128, 136, 146, 158, 171, 185, 198, 212, 224, 235, 244, 251, 255, 246, 245, 241, 235, 227, 216, 205, 192, 179, 165, 152, 138, 152, 168, 182, 195, 206, 216, 224, 230, 233, 233, 231, 226, 204, 212, 218, 220, 220, 217, 212, 204, 193, 180, 165, 143, 156, 175, 187, 197, 203, 206, 207, 204, 199, 191, 180, 167 }; byte coordsY[NUM_LEDS] = { 129, 124, 115, 103, 91, 77, 63, 49, 36, 25, 14, 6, 0, 7, 10, 15, 22, 32, 43, 55, 68, 82, 95, 108, 121, 107, 92, 78, 64, 52, 41, 32, 25, 21, 19, 20, 24, 53, 44, 37, 33, 32, 33, 37, 44, 53, 65, 78, 94, 117, 102, 83, 69, 59, 52, 47, 45, 46, 50, 57, 67, 79, 122, 106, 92, 80, 71, 64, 60, 60, 62, 68, 78, 93, 109, 89, 80, 75, 75, 78, 83, 92, 103, 117, 132, 149, 191, 174, 157, 141, 126, 114, 103, 96, 91, 90, 93, 103, 122, 107, 104, 107, 113, 123, 134, 148, 163, 178, 195, 211, 227, 239, 226, 211, 196, 181, 166, 152, 140, 129, 121, 117, 119, 127, 133, 143, 154, 167, 181, 196, 210, 223, 235, 246, 255, 253, 247, 239, 229, 218, 205, 192, 178, 165, 152, 141, 132, 143, 157, 171, 185, 198, 210, 221, 230, 237, 242, 244, 244, 220, 227, 231, 232, 230, 226, 219, 210, 199, 187, 173, 157, 148, 169, 184, 196, 206, 213, 217, 219, 218, 214, 207, 197, 157, 172, 184, 193, 200, 204, 205, 203, 198, 189, 178, 160, 141, 167, 179, 186, 190, 190, 186, 180, 171, 160, 146, 130, 113, 87, 104, 121, 135, 148, 159, 168, 173, 175, 173, 167, 152, 153, 159, 160, 156, 149, 139, 127, 113, 97, 81, 64, 47, 31, 46, 61, 77, 92, 107, 120, 131, 140, 145, 146, 139, 135, 133, 126, 116, 104, 90, 76, 61, 46, 32, 20, 8 }; byte angles[NUM_LEDS] = { 147, 128, 122, 116, 110, 104, 99, 93, 87, 81, 76, 70, 64, 55, 61, 67, 72, 78, 84, 90, 96, 102, 108, 115, 124, 109, 100, 94, 87, 81, 75, 69, 63, 57, 51, 46, 40, 25, 30, 36, 42, 48, 54, 60, 66, 72, 78, 85, 93, 111, 88, 77, 70, 63, 57, 50, 44, 39, 33, 27, 21, 15, 0, 6, 12, 17, 23, 29, 35, 41, 47, 53, 60, 69, 64, 51, 44, 37, 31, 25, 19, 14, 8, 2, 252, 246, 232, 237, 242, 248, 253, 4, 10, 15, 21, 27, 34, 41, 17, 22, 17, 11, 6, 0, 250, 244, 239, 233, 228, 223, 217, 209, 214, 219, 224, 230, 235, 240, 246, 251, 1, 6, 8, 249, 246, 241, 236, 231, 226, 221, 216, 210, 205, 200, 195, 187, 192, 197, 202, 207, 212, 217, 222, 227, 231, 235, 228, 222, 221, 217, 213, 208, 203, 198, 193, 188, 183, 178, 173, 160, 165, 170, 175, 180, 185, 190, 195, 200, 204, 208, 211, 199, 199, 195, 191, 186, 182, 177, 172, 167, 162, 157, 152, 138, 143, 148, 154, 159, 164, 169, 174, 178, 183, 187, 190, 177, 179, 175, 170, 165, 161, 156, 151, 145, 140, 135, 130, 125, 116, 121, 127, 132, 137, 142, 148, 153, 158, 162, 167, 170, 160, 155, 150, 145, 140, 134, 129, 124, 118, 113, 108, 102, 93, 99, 105, 110, 115, 121, 126, 132, 137, 142, 148, 154, 141, 135, 129, 124, 118, 113, 107, 101, 96, 90, 85, 79 }; byte radii[NUM_LEDS] = { 24, 80, 106, 126, 143, 157, 170, 182, 192, 202, 212, 221, 229, 221, 212, 202, 192, 181, 170, 158, 144, 129, 110, 87, 52, 64, 93, 113, 130, 145, 159, 171, 182, 193, 203, 213, 223, 227, 217, 206, 195, 184, 172, 160, 147, 132, 116, 97, 72, 30, 46, 78, 101, 119, 135, 149, 163, 175, 188, 199, 211, 222, 229, 217, 205, 193, 181, 167, 154, 139, 123, 105, 84, 56, 26, 65, 91, 111, 129, 145, 160, 174, 187, 200, 213, 225, 234, 222, 209, 196, 182, 168, 153, 136, 119, 99, 75, 43, 4, 57, 86, 108, 128, 145, 162, 177, 191, 205, 218, 231, 243, 240, 227, 215, 201, 187, 172, 156, 138, 119, 97, 71, 34, 54, 85, 110, 131, 149, 166, 182, 197, 211, 224, 236, 248, 244, 232, 220, 206, 192, 177, 160, 142, 123, 100, 71, 27, 52, 87, 113, 135, 154, 171, 187, 201, 215, 227, 239, 250, 255, 245, 234, 222, 209, 195, 180, 164, 146, 126, 102, 72, 49, 89, 116, 138, 157, 173, 189, 202, 215, 227, 238, 248, 250, 241, 231, 220, 208, 195, 181, 165, 148, 127, 103, 70, 37, 87, 115, 137, 156, 172, 186, 200, 211, 222, 232, 242, 251, 242, 233, 223, 213, 202, 190, 177, 162, 145, 125, 100, 64, 80, 110, 132, 150, 166, 180, 192, 203, 214, 223, 232, 240, 231, 222, 213, 203, 193, 181, 169, 154, 137, 118, 92, 50, 69, 101, 123, 141, 156, 170, 182, 193, 203, 212, 221, 230 };