The PCB puzzle

We made a few major modifications in our design : it turns out flex PCBs aren’t possible. Even though everything isn’t quite decided yet, here is a summary to clarify the situation. I will keep you updated of any major modification 🙂

General design

A Phyllo is composed of three parts:

  • a fixed base,
  • a rotating half sphere placed on this fixed base serving as support for the lighting of the sculpture,
  • a hull made of petals that covers this sphere.

A Phyllo has 78 petals that can be illuminated individually (8 spirals with 6 petals lit by spiral arms, or 13 spirals in the other direction). The remaining petals are the tiny petals at the top, and they will all share a common illumination.

The diameter of the inner sphere measures about 15 cm, the base is about 20 cm.

From there, when one is interested in the projection of the petals on the inner half sphere:

  • the smallest petal that can be illuminated measures 0.83 * 0.79 * 1.04 * 1.14 cm.
  • the centers of the petals are at least 0.97cm apart.

Organisation of the PCBs

Each Phyllo will have:

  • 1 fixed PCB in its base,
  • 1 rotating PCB near the equator of the inner half-sphere,
  • 62 PCB-petals to illuminate the 62 largest petals,
  • 1 PCB, called “Top PCB” to illuminate the remaining 16 petals as well as the top of the structure.

The PCBs-petals are therefore placed inside the half-sphere as in the picture below:

The top PCB will have a star-like shape as in the image above. 

The PCB-petal shape is yet to be found. If we use the shape of the image, we will have to make a bigger Phyllo in order to have enough room on the PCB for all the components. We had the idea of ​​T-shaped PCBs as in the picture below, but according to Alexis, it will be too complicated to wire.

We also had the idea of overlapping PCBs for small petals and using printed tubes to conduct the light, like in the picture below. But the possibility of wiring is still under discussion.

Any comment or suggestion will be much welcome !

Functional architecture

The following diagram summarizes the functional architecture of a Phyllo:


Fixed part

The fixed part of the Phyllo will contain the motor, the ESC, the battery, the power transmission device and the fixed PCB. The fixed PCB will include:

  • an IrDA transceiver to be able to communicate with the rotating part of the Phyllo,
  • a connector for the battery,
  • a charging circuit of the battery,
  • a 3.3V regulator,
  • a USB port to recharge the battery (and the circuit that goes with it to feed the Phyllo while the battery),
  • an electromagnet to be detected by other Phyllos
  • a CPU,
  • a SWD port for debugging.
Power transmission

To clarify a previous post, here is a shema of the device for power supply transmission from the fixed part to the moving part is based on the use of ball bearings as follows:

The idea is to transmit one terminal of the battery through the motor ball bearing by soldering a wire to the motor and another to the axis. To pass the other terminal, use two other ball bearings, electrically isolated from the shaft by a rubber sheath.

Detection of other Phyllos

We are still discussing how exactly to go about detecting other Phyllos. We discussed several possibilities in [this previous post]. Our favorite lead then included using IR emissions to determine the direction of a neighbouring Phyllo, but it has since then become apparent that IR reflections would be a serious problem. More on this in the following post.

Rotating part

Rotating PCB

The rotating PCB is the one where all the logic of the Phyllo is happening. It includes :

  • an IrDA transceiver for communications with the fixed part,
  • a hall effect sensor (and an optical sensor just in case) to detect the angular position of the motor and to be able to play animations in a chosen direction,
  • a module wifi to be able to communicate between the Phyllos and with a Phyllo,
  • an SD card connector to be able to store complex animations on the Phyllo,
  • a 3.3 V regulator,
  • a 5V regulator,
  • a CPU,
  • a magnetometer to detect other Phyllos,
  • a BLE/radio module for fast communication between Phyllos (WIP).


The PCBs of the petals are fed in parallel and receive their information by SPI bus.

On each PCB, there is:

  • a big powerful RGB LED,
  • transistors, drivers, capacitors and resistors,
  • a small CPU,
  • 5 * 2 pads for soldering SPI bus wires, ground, power supply,
  • 3 pads to debug in SWD.

We don’t really know the luminosity we will need : these LEDs are really powerful and consume a lot (1,4A per color) but they are turned on only for about 100us, 30 times per second and will be inside the petals. We have ordered these LEDs and the next ones in order to run tests this week.

SPI protocol

All PCB-petals are connected in parallel on the same SPI bus. We will still prepare 4 SPI buses (in case we need to multiplex the spirals: 4 spirals per bus and the upper PCB only).

On this SPI bus, 16-bit frames are transmitted. The first 8 bits specify the number of the LED being caused, with 0 being “all” (and other particular commands to be set). The next 8 bits determine the color of the LED so the address has been sent.

With this method, we need to be able to transmit 16378 + 2 * 16 (a different color for each petal + top and stop signals) in 1/30 s (duration of a motor revolution), so we need a transfer frequency on the SPI bus of at least 0.12 MHz, which isn’t difficult to obtain.


It allows to light the remaining petals, too small to be lit by PCB-petals.

The top PCB contains:

  • 16 RGB LEDs,
  • 2 CPUs driving 8 LEDs each,
  • the necessary transistors, drivers and resistors,
  • a SWD port for debug,
  • 5 pads for the arrival of the SPI bus, power supply and ground.

That’s all for now. You will be updated about the Phyllos detection, the petals generation, the alimentation issue, the communication between phyllos and other topics in the following posts !

Leave a Reply

Your email address will not be published. Required fields are marked *