<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.diychristmas.org/wiki/index.php?action=history&amp;feed=atom&amp;title=ZIPP_Pixel_Controller</id>
	<title>ZIPP Pixel Controller - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.diychristmas.org/wiki/index.php?action=history&amp;feed=atom&amp;title=ZIPP_Pixel_Controller"/>
	<link rel="alternate" type="text/html" href="https://www.diychristmas.org/wiki/index.php?title=ZIPP_Pixel_Controller&amp;action=history"/>
	<updated>2026-09-23T15:28:45Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.35.11</generator>
	<entry>
		<id>https://www.diychristmas.org/wiki/index.php?title=ZIPP_Pixel_Controller&amp;diff=5916&amp;oldid=prev</id>
		<title>ErnieHorning: Created initial ZIPP Pixel Controller documentation including design goals, hardware, DDP operation, performance testing, xLights/Vixen compatibility, Wi-Fi testing, diagnostics, and development history.</title>
		<link rel="alternate" type="text/html" href="https://www.diychristmas.org/wiki/index.php?title=ZIPP_Pixel_Controller&amp;diff=5916&amp;oldid=prev"/>
		<updated>2026-09-17T22:41:28Z</updated>

		<summary type="html">&lt;p&gt;Created initial ZIPP Pixel Controller documentation including design goals, hardware, DDP operation, performance testing, xLights/Vixen compatibility, Wi-Fi testing, diagnostics, and development history.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Warning|The ZIPP Pixel Controller is currently under active development. Hardware, firmware, configuration procedures, performance limits, and specifications described on this page may change as development and testing continue.}}&lt;br /&gt;
&lt;br /&gt;
= ZIPP Pixel Controller =&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;ZIPP&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;Zero-Overhead Intelligent Pixel Protocol&amp;#039;&amp;#039;&amp;#039;) Pixel Controller is a lightweight ESP8266-based wireless pixel controller developed for DIY Christmas and animated-lighting applications.&lt;br /&gt;
&lt;br /&gt;
ZIPP was created to investigate how much pixel-control performance could be obtained from inexpensive ESP8266 hardware when unnecessary firmware overhead was removed.&lt;br /&gt;
&lt;br /&gt;
The controller receives [[DDP]] pixel data from [[xLights]] over 2.4 GHz Wi-Fi and directly generates the data stream required by WS2811-compatible addressable pixels.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Project Status:&amp;#039;&amp;#039;&amp;#039; Working prototype / active development.&lt;br /&gt;
&lt;br /&gt;
== Design Goals ==&lt;br /&gt;
&lt;br /&gt;
The original ZIPP project was developed around several basic goals:&lt;br /&gt;
&lt;br /&gt;
* Use inexpensive ESP8266 hardware.&lt;br /&gt;
* Receive pixel data directly from xLights using DDP.&lt;br /&gt;
* Maintain a 40 FPS show frame rate.&lt;br /&gt;
* Minimize firmware processing overhead.&lt;br /&gt;
* Determine the practical pixel-output limits of the ESP8266.&lt;br /&gt;
* Provide simple distributed controllers that can be located near individual props.&lt;br /&gt;
* Minimize the amount of configuration required at each controller.&lt;br /&gt;
* Measure actual performance rather than relying only on theoretical limits.&lt;br /&gt;
&lt;br /&gt;
The project subsequently became a test platform for investigating Wi-Fi loading, controller startup behavior, DDP timing, xLights output behavior, and long-distance wireless operation.&lt;br /&gt;
&lt;br /&gt;
== Hardware ==&lt;br /&gt;
&lt;br /&gt;
The primary ZIPP development hardware is an inexpensive ESP8266 D1 Mini style controller.&lt;br /&gt;
&lt;br /&gt;
Typical hardware consists of:&lt;br /&gt;
&lt;br /&gt;
* ESP8266 D1 Mini&lt;br /&gt;
* 5 V power supply&lt;br /&gt;
* WS2811-compatible pixels&lt;br /&gt;
* Wi-Fi network connection&lt;br /&gt;
* Pixel data output from the ESP8266&lt;br /&gt;
&lt;br /&gt;
The controller is intentionally simple. Pixel data is received wirelessly and generated directly by the ESP8266 without requiring an additional dedicated pixel-controller IC.&lt;br /&gt;
&lt;br /&gt;
Different ZIPP installations may use different power supplies, connectors, enclosures, and power-injection arrangements depending on the prop being controlled.&lt;br /&gt;
&lt;br /&gt;
== Basic Architecture ==&lt;br /&gt;
&lt;br /&gt;
A basic ZIPP installation operates as follows:&lt;br /&gt;
&lt;br /&gt;
 xLights&lt;br /&gt;
    |&lt;br /&gt;
   DDP&lt;br /&gt;
    |&lt;br /&gt;
 2.4 GHz Wi-Fi&lt;br /&gt;
    |&lt;br /&gt;
 ESP8266 ZIPP Controller&lt;br /&gt;
    |&lt;br /&gt;
 WS2811 Pixel Data&lt;br /&gt;
    |&lt;br /&gt;
 Addressable Pixels&lt;br /&gt;
&lt;br /&gt;
xLights performs the sequencing and rendering.&lt;br /&gt;
&lt;br /&gt;
The ZIPP controller receives the resulting DDP channel data and converts it directly into the serial waveform required by the pixels.&lt;br /&gt;
&lt;br /&gt;
The objective is to perform as little additional processing as practical between receiving a completed frame and transmitting it to the pixels.&lt;br /&gt;
&lt;br /&gt;
== Why ZIPP Was Developed ==&lt;br /&gt;
&lt;br /&gt;
General-purpose pixel-controller firmware provides many useful features, but those features consume processor time, memory, and other resources.&lt;br /&gt;
&lt;br /&gt;
ZIPP was developed to investigate a different approach:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;What happens if an ESP8266 pixel controller does little more than receive DDP data and output pixels?&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Testing showed that removing unnecessary overhead can significantly increase the number of pixels that an inexpensive ESP8266 can operate while maintaining the desired show frame rate.&lt;br /&gt;
&lt;br /&gt;
The project is not intended to replace every general-purpose pixel controller. It is intended to provide a lightweight alternative for applications where the additional features are not required.&lt;br /&gt;
&lt;br /&gt;
== WS2811 Timing ==&lt;br /&gt;
&lt;br /&gt;
WS2811-compatible pixels require approximately 30 microseconds of transmission time per RGB pixel at the standard approximately 800 kHz data rate.&lt;br /&gt;
&lt;br /&gt;
At a 40 FPS show rate:&lt;br /&gt;
&lt;br /&gt;
 1 / 40 = 25 milliseconds per frame&lt;br /&gt;
&lt;br /&gt;
or:&lt;br /&gt;
&lt;br /&gt;
 25,000 microseconds per frame&lt;br /&gt;
&lt;br /&gt;
This places a fundamental timing limit on the number of pixels that can be transmitted serially from a single output during each frame.&lt;br /&gt;
&lt;br /&gt;
Controller firmware overhead, interrupt activity, Wi-Fi processing, reset/latch timing, and other delays reduce the practical limit.&lt;br /&gt;
&lt;br /&gt;
One of the original objectives of ZIPP testing was to determine how close an ESP8266 could operate to this physical timing limit.&lt;br /&gt;
&lt;br /&gt;
== 800 Pixel / 40 FPS Test ==&lt;br /&gt;
&lt;br /&gt;
A major ZIPP development test used:&lt;br /&gt;
&lt;br /&gt;
* ESP8266 D1 Mini&lt;br /&gt;
* 800 WS2811 pixels&lt;br /&gt;
* 2,400 channels&lt;br /&gt;
* DDP input&lt;br /&gt;
* 25 ms frame interval&lt;br /&gt;
* 40 FPS target&lt;br /&gt;
* Direct asynchronous pixel output&lt;br /&gt;
&lt;br /&gt;
A long-duration test produced:&lt;br /&gt;
&lt;br /&gt;
  Pixels:                  800&lt;br /&gt;
  Channels:                2400&lt;br /&gt;
  Target frame rate:       40 FPS&lt;br /&gt;
  Target frame interval:   25,000 us&lt;br /&gt;
  Frames tested:           183,966&lt;br /&gt;
  Frame overruns:          0&lt;br /&gt;
  Average frame interval:  approximately 24,999 us&lt;br /&gt;
&lt;br /&gt;
The test demonstrated sustained operation of &amp;#039;&amp;#039;&amp;#039;800 pixels at 40 FPS&amp;#039;&amp;#039;&amp;#039; on an ESP8266.&lt;br /&gt;
&lt;br /&gt;
This result should not be interpreted as a guarantee that every ESP8266 installation can operate 800 pixels under every condition. Wi-Fi conditions, firmware changes, pixel-output method, network loading, and other factors can affect performance.&lt;br /&gt;
&lt;br /&gt;
It does demonstrate that 800-pixel/40-FPS operation is technically practical when controller overhead is kept sufficiently low.&lt;br /&gt;
&lt;br /&gt;
== Comparison With General-Purpose Firmware ==&lt;br /&gt;
&lt;br /&gt;
During development, WLED was also tested as a reference point.&lt;br /&gt;
&lt;br /&gt;
A WLED installation configured for 641 pixels reported an operating rate of approximately 33 FPS and displayed a warning related to the pixel count.&lt;br /&gt;
&lt;br /&gt;
This comparison helped motivate investigation into how much performance could be obtained when the ESP8266 was dedicated primarily to receiving DDP and generating pixel data.&lt;br /&gt;
&lt;br /&gt;
The comparison is not intended to imply that ZIPP and WLED provide equivalent features.&lt;br /&gt;
&lt;br /&gt;
WLED is a general-purpose lighting-control system with substantially more functionality. ZIPP intentionally removes much of that functionality in exchange for a smaller and more specialized workload.&lt;br /&gt;
&lt;br /&gt;
== DDP ==&lt;br /&gt;
&lt;br /&gt;
ZIPP uses [[DDP]] (Distributed Display Protocol) to receive pixel data.&lt;br /&gt;
&lt;br /&gt;
DDP is particularly suitable for this application because xLights can transmit channel data directly to network controllers without requiring the ZIPP controller to understand sequences or effects.&lt;br /&gt;
&lt;br /&gt;
The controller is concerned primarily with:&lt;br /&gt;
&lt;br /&gt;
* Receiving DDP packets&lt;br /&gt;
* Validating packet information&lt;br /&gt;
* Placing received channel data into the appropriate frame buffer&lt;br /&gt;
* Detecting complete frames&lt;br /&gt;
* Transmitting completed frames to the pixels&lt;br /&gt;
&lt;br /&gt;
The ESP8266 does not render xLights effects.&lt;br /&gt;
&lt;br /&gt;
== xLights ==&lt;br /&gt;
&lt;br /&gt;
[[xLights]] is the primary sequencing software used during ZIPP development and testing.&lt;br /&gt;
&lt;br /&gt;
xLights creates the sequences and transmits pixel data to ZIPP controllers using DDP.&lt;br /&gt;
&lt;br /&gt;
ZIPP supports xLights controller auto-discovery by emulating the discovery information expected from a WLED controller. This allows xLights to automatically discover a ZIPP controller using its existing WLED discovery mechanism rather than requiring a ZIPP-specific discovery implementation.&lt;br /&gt;
&lt;br /&gt;
Once configured, xLights sends DDP pixel data directly to the ZIPP controller.&lt;br /&gt;
&lt;br /&gt;
During ZIPP development, testing revealed that controller behavior could be affected by how xLights generated and transmitted network data.&lt;br /&gt;
&lt;br /&gt;
This resulted in investigation of xLights frame timing and DDP output behavior.&lt;br /&gt;
&lt;br /&gt;
Experimental modifications to xLights were used during development to investigate timing and packet-delivery behavior.&lt;br /&gt;
&lt;br /&gt;
A timing-related issue was reported to the xLights project during this work.&lt;br /&gt;
&lt;br /&gt;
A separate issue involving the xLights Butterfly effect was also identified and reported during the same general development period.&lt;br /&gt;
&lt;br /&gt;
These investigations became an important part of ZIPP development because controller performance cannot be evaluated independently of the software generating the incoming network traffic.&lt;br /&gt;
&lt;br /&gt;
== Vixen 3 ==&lt;br /&gt;
&lt;br /&gt;
[[Vixen 3]] should also be capable of operating a ZIPP Pixel Controller.&lt;br /&gt;
&lt;br /&gt;
Vixen 3 includes native support for DDP output. Because ZIPP receives standard DDP pixel data, no ZIPP-specific output module should be required.&lt;br /&gt;
&lt;br /&gt;
Unlike the xLights configuration described above, automatic controller discovery should not be necessary. A ZIPP controller can be manually configured in Vixen as a DDP controller using the ZIPP controller&amp;#039;s IP address and the required number of output channels.&lt;br /&gt;
&lt;br /&gt;
The expected data path is:&lt;br /&gt;
&lt;br /&gt;
 Vixen 3&lt;br /&gt;
    |&lt;br /&gt;
   DDP&lt;br /&gt;
    |&lt;br /&gt;
 2.4 GHz Wi-Fi&lt;br /&gt;
    |&lt;br /&gt;
 ESP8266 ZIPP Controller&lt;br /&gt;
    |&lt;br /&gt;
 WS2811 Pixel Data&lt;br /&gt;
&lt;br /&gt;
In principle, ZIPP should operate equally well with Vixen 3 because the controller is receiving DDP data and is not dependent on xLights for pixel-data generation.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Vixen 3 operation has not yet been tested with ZIPP.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Until actual hardware testing has been completed, Vixen 3 compatibility should be considered expected but unverified.&lt;br /&gt;
&lt;br /&gt;
Testing with Vixen 3 is planned for future development.&lt;br /&gt;
&lt;br /&gt;
== Other Sequencing Software ==&lt;br /&gt;
&lt;br /&gt;
ZIPP is not dependent on xLights or Vixen 3 for normal pixel operation.&lt;br /&gt;
&lt;br /&gt;
ZIPP is fundamentally a DDP pixel controller. Any sequencing or show-player software capable of transmitting compatible DDP pixel data should potentially be able to control a ZIPP Pixel Controller.&lt;br /&gt;
&lt;br /&gt;
The basic requirement is simply:&lt;br /&gt;
&lt;br /&gt;
 Sequencer / Show Player&lt;br /&gt;
          |&lt;br /&gt;
         DDP&lt;br /&gt;
          |&lt;br /&gt;
   2.4 GHz Wi-Fi&lt;br /&gt;
          |&lt;br /&gt;
 ESP8266 ZIPP Controller&lt;br /&gt;
          |&lt;br /&gt;
   WS2811 Pixel Data&lt;br /&gt;
&lt;br /&gt;
xLights has been used extensively during ZIPP development and testing.&lt;br /&gt;
&lt;br /&gt;
Vixen 3 includes native DDP support and is expected to operate with ZIPP, although this combination has not yet been tested.&lt;br /&gt;
&lt;br /&gt;
Other sequencing and show-player applications that support DDP may also be compatible. Unless specifically identified as tested on this page, compatibility with other software should be considered expected but unverified.&lt;br /&gt;
&lt;br /&gt;
Because ZIPP receives standard DDP channel data rather than sequence files or software-specific effects, the ZIPP controller does not need to know which sequencing application generated the data.&lt;br /&gt;
&lt;br /&gt;
== Wi-Fi Controller Loading ==&lt;br /&gt;
&lt;br /&gt;
An unexpected result of ZIPP development involved Wi-Fi startup and association behavior when many ESP8266 controllers were used simultaneously.&lt;br /&gt;
&lt;br /&gt;
Individual controllers could associate with the access point quickly when little or no show traffic was present.&lt;br /&gt;
&lt;br /&gt;
When xLights was already transmitting substantial amounts of DDP traffic, newly powered ESP8266 controllers could require much longer to successfully associate with the Wi-Fi network.&lt;br /&gt;
&lt;br /&gt;
Testing included groups of ESP8266 controllers powered simultaneously under different network conditions.&lt;br /&gt;
&lt;br /&gt;
This behavior led to experiments involving:&lt;br /&gt;
&lt;br /&gt;
* Randomized startup delays&lt;br /&gt;
* Wi-Fi association retries&lt;br /&gt;
* Watchdog recovery&lt;br /&gt;
* Controller reset timing&lt;br /&gt;
* Wi-Fi signal strength&lt;br /&gt;
* DDP traffic during startup&lt;br /&gt;
* Access-point loading&lt;br /&gt;
* Staggered controller startup&lt;br /&gt;
* Reducing the total number of Wi-Fi controllers&lt;br /&gt;
&lt;br /&gt;
The results helped motivate later ZIPP-family work involving master/satellite architectures and ESP-NOW for devices that do not require full DDP bandwidth.&lt;br /&gt;
&lt;br /&gt;
== Distributed Controllers ==&lt;br /&gt;
&lt;br /&gt;
One of the advantages of inexpensive ESP8266 controllers is that controllers can be distributed throughout a display.&lt;br /&gt;
&lt;br /&gt;
Instead of one large controller operating many unrelated props, an individual prop or small group of props can have its own controller.&lt;br /&gt;
&lt;br /&gt;
Advantages can include:&lt;br /&gt;
&lt;br /&gt;
* Shorter pixel data wiring&lt;br /&gt;
* Simplified power distribution&lt;br /&gt;
* Fewer long pixel-data extensions&lt;br /&gt;
* Easy prop replacement&lt;br /&gt;
* Low controller cost&lt;br /&gt;
* Flexible display layout&lt;br /&gt;
&lt;br /&gt;
The disadvantage is that a sufficiently large display may contain many independent Wi-Fi devices.&lt;br /&gt;
&lt;br /&gt;
ZIPP development therefore includes investigation of both controller performance and overall network behavior.&lt;br /&gt;
&lt;br /&gt;
== Long-Range Testing ==&lt;br /&gt;
&lt;br /&gt;
ZIPP has also been used for long-distance wireless testing.&lt;br /&gt;
&lt;br /&gt;
During one field test, a 28-pixel candy cane controlled by ZIPP successfully operated at approximately &amp;#039;&amp;#039;&amp;#039;1,800 feet&amp;#039;&amp;#039;&amp;#039; from the transmitting system.&lt;br /&gt;
&lt;br /&gt;
This was substantially farther than the approximately 300-foot distance commonly associated with ordinary 2.4 GHz Wi-Fi expectations.&lt;br /&gt;
&lt;br /&gt;
The test demonstrated that useful communication distance can be considerably greater under favorable line-of-sight and RF conditions.&lt;br /&gt;
&lt;br /&gt;
The result should not be treated as a guaranteed ZIPP operating range. Actual range depends heavily on antennas, access points, interference, terrain, obstructions, orientation, and other RF conditions.&lt;br /&gt;
&lt;br /&gt;
== Pixel Output Development ==&lt;br /&gt;
&lt;br /&gt;
Several methods of generating the WS2811 data stream were investigated during development.&lt;br /&gt;
&lt;br /&gt;
Testing included conventional and asynchronous output techniques.&lt;br /&gt;
&lt;br /&gt;
One asynchronous UART-based method successfully supported the 800-pixel/40-FPS test.&lt;br /&gt;
&lt;br /&gt;
A DMA-based experiment was also attempted but did not produce satisfactory results in the tested configuration.&lt;br /&gt;
&lt;br /&gt;
Unsuccessful experiments are considered useful parts of the ZIPP development record because they help identify approaches that may not be worth repeating.&lt;br /&gt;
&lt;br /&gt;
== Diagnostics ==&lt;br /&gt;
&lt;br /&gt;
Development firmware has included extensive diagnostic information to help distinguish pixel-output problems from DDP, Wi-Fi, and timing problems.&lt;br /&gt;
&lt;br /&gt;
Diagnostics have included measurements or counters for:&lt;br /&gt;
&lt;br /&gt;
* DDP packets received&lt;br /&gt;
* DDP packets accepted&lt;br /&gt;
* Rejected packets&lt;br /&gt;
* Complete frames&lt;br /&gt;
* Incomplete frames&lt;br /&gt;
* Bad offsets&lt;br /&gt;
* Bad packet lengths&lt;br /&gt;
* Invalid packet versions&lt;br /&gt;
* Frame timing&lt;br /&gt;
* Pixel-output timing&lt;br /&gt;
* Frame overruns&lt;br /&gt;
* Wi-Fi RSSI&lt;br /&gt;
* Wi-Fi channel&lt;br /&gt;
* Startup timing&lt;br /&gt;
&lt;br /&gt;
Diagnostic firmware versions may contain substantially more instrumentation than a future production ZIPP firmware release.&lt;br /&gt;
&lt;br /&gt;
== Startup Behavior ==&lt;br /&gt;
&lt;br /&gt;
Reliable startup became an important ZIPP development objective.&lt;br /&gt;
&lt;br /&gt;
A display controller should not require manual intervention simply because it was powered while show data was already being transmitted.&lt;br /&gt;
&lt;br /&gt;
Development firmware has therefore investigated methods of recovering automatically when initial Wi-Fi association is unsuccessful.&lt;br /&gt;
&lt;br /&gt;
Another requirement is that pixels should remain off until valid show data has been received. Watchdog or recovery operations should not cause visible unwanted pixel flashes during startup.&lt;br /&gt;
&lt;br /&gt;
These requirements remain areas of active development.&lt;br /&gt;
&lt;br /&gt;
== Relationship to the ZIPP Family ==&lt;br /&gt;
&lt;br /&gt;
The original ZIPP pixel controller led to several related projects.&lt;br /&gt;
&lt;br /&gt;
* [[ZIPP-R]] - Distributed relay control using ESP-NOW.&lt;br /&gt;
* [[ZIPP-I]] - Distributed incandescent-light control and dimming.&lt;br /&gt;
* [[ZIPP-M]] - Distributed motion sensing and interactive control.&lt;br /&gt;
* [[ZIPP-A]] - Experimental network audio distribution.&lt;br /&gt;
&lt;br /&gt;
The later projects do not necessarily use the original pixel protocol directly. They share the ZIPP philosophy of inexpensive distributed hardware and efficient communications appropriate to the task.&lt;br /&gt;
&lt;br /&gt;
See the main [[ZIPP]] page for an overview of the complete project family.&lt;br /&gt;
&lt;br /&gt;
== Future Development ==&lt;br /&gt;
&lt;br /&gt;
Possible future ZIPP Pixel Controller development includes:&lt;br /&gt;
&lt;br /&gt;
* Continued reduction of controller overhead&lt;br /&gt;
* Improved automatic Wi-Fi recovery&lt;br /&gt;
* Improved startup behavior&lt;br /&gt;
* Additional controller consolidation&lt;br /&gt;
* ESP32 and ESP32-S3 performance testing&lt;br /&gt;
* Multiple parallel pixel outputs&lt;br /&gt;
* Higher-throughput DDP testing&lt;br /&gt;
* Improved diagnostics&lt;br /&gt;
* Easier configuration&lt;br /&gt;
* Integration with other ZIPP-family devices&lt;br /&gt;
&lt;br /&gt;
An ESP32-S3 high-throughput pixel-controller benchmark has also been proposed to investigate how many parallel WS2811 outputs can be supported when general-purpose firmware overhead is removed.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
ZIPP firmware is currently under development.&lt;br /&gt;
&lt;br /&gt;
Development versions should not be assumed to be final releases.&lt;br /&gt;
&lt;br /&gt;
Firmware downloads, source code, installation instructions, and configuration information will be added when suitable versions are available for general use.&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
Pixel installations may involve high current even when operating at low voltage.&lt;br /&gt;
&lt;br /&gt;
Appropriate wire sizes, fusing, connectors, power supplies, power injection, weather protection, and electrical construction practices should be used.&lt;br /&gt;
&lt;br /&gt;
The ZIPP controller does not eliminate the electrical requirements associated with safely powering large numbers of pixels.&lt;br /&gt;
&lt;br /&gt;
== Project Author ==&lt;br /&gt;
&lt;br /&gt;
The ZIPP Pixel Controller is a DIY Christmas member project developed by &amp;#039;&amp;#039;&amp;#039;Ernest Horning&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
The project is being documented during development so that test results, design decisions, successful approaches, and unsuccessful experiments can be preserved for future reference.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ZIPP]]&lt;br /&gt;
* [[ZIPP-R]]&lt;br /&gt;
* [[ZIPP-I]]&lt;br /&gt;
* [[ZIPP-M]]&lt;br /&gt;
* [[ZIPP-A]]&lt;br /&gt;
* [[Controllers]]&lt;br /&gt;
* [[Pixel Controllers]]&lt;br /&gt;
* [[DDP]]&lt;br /&gt;
* [[ESP8266]]&lt;br /&gt;
* [[ESP32]]&lt;br /&gt;
* [[xLights]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Controllers]]&lt;br /&gt;
[[Category:Pixels]]&lt;/div&gt;</summary>
		<author><name>ErnieHorning</name></author>
	</entry>
</feed>