The brain of the GECE controller is an Arduino microcontroller. One Arduino can control up to eight GECE strings of 50-bulbs each. An network board is connected to the Arduino, allowing it to communicate on an Ethernet network.
A program is installed on the Arduino (in Arduino lingo, a "sketch") that allows the Arduino to listen for DMX commands coming from xLights on a laptop computer (or from Falcon Player running on a Raspberry Pi). These DMX commands originate from xLights or Falcon Player, travel through Ethernet, then enter the Arduino through it's network board. The Arduino then changes the GECE lights that are connected to it.
My particular controller uses two Arduino microcontrollers, allowing 16 strings of GECE lights to be controlled (eight strings per controller). There are two network boards, one board connected to each Arduino. Therefore two Ethernet cables are needed to control the lights. The Arduino, network boards, and GECE strings are powered from a dedicated 5V power supply. I also integrated an eight-port Ethernet switch into the controller, just as a convenience. This way, everything plugged into the switch can "see" each other through Ethernet.