<?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-I</id>
	<title>ZIPP-I - 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-I"/>
	<link rel="alternate" type="text/html" href="https://www.diychristmas.org/wiki/index.php?title=ZIPP-I&amp;action=history"/>
	<updated>2026-09-23T22:21:44Z</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-I&amp;diff=5919&amp;oldid=prev</id>
		<title>ErnieHorning: Added the Eliminating the Zero-Crossing Problem section.</title>
		<link rel="alternate" type="text/html" href="https://www.diychristmas.org/wiki/index.php?title=ZIPP-I&amp;diff=5919&amp;oldid=prev"/>
		<updated>2026-09-17T23:26:26Z</updated>

		<summary type="html">&lt;p&gt;Added the Eliminating the Zero-Crossing Problem section.&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 23:26, 17 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Line 28:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 28:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This can potentially reduce control wiring and allow traditional incandescent props to participate in a modern distributed display architecture.&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This can potentially reduce control wiring and allow traditional incandescent props to participate in a modern distributed display architecture.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Eliminating the Zero-Crossing Problem ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;One of the traditional limitations when designing an electronic controller for incandescent Christmas lights is the assumption that the controller must operate directly from the 120 VAC power line.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;A conventional solid-state incandescent dimmer commonly uses a TRIAC. The TRIAC must be synchronized with the AC waveform, requiring zero-crossing detection and carefully timed phase-angle control.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This adds circuitry and also ties the operation of the dimmer directly to the incoming AC waveform.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;ZIPP-I approaches the problem differently:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;#039;&amp;#039;&amp;#039;Instead of synchronizing the controller to the available AC power, ZIPP-I generates the lamp power itself.&amp;#039;&amp;#039;&amp;#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Conceptually:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Conventional AC Dimmer:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 120 VAC&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Zero-Cross Detection&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; TRIAC / Phase Control&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Incandescent String&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; ZIPP-I:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Low-Voltage DC&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Electronic Power Converter&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Controlled High-Voltage Output&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;     |&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; Incandescent String&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Because ZIPP-I controls the generation of the output power, it does not have to determine when an externally supplied AC waveform crosses zero before deciding how much power to deliver to the lamps.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The controller can instead directly regulate the generated output according to the requested brightness.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;This opens the possibility of implementing features such as:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Firmware-controlled dimming&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Soft-start&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Current limiting&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Controlled output ramping&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Fault shutdown&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Periodic output-polarity reversal&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;It also allows the high-voltage lamp power to be electrically isolated from the low-voltage input and controller electronics through the power-conversion transformer.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The final ZIPP-I power-conversion and dimming topology has not yet been selected or tested, but generating the lamp power locally removes the traditional requirement that the controller be built around a line-synchronized TRIAC dimmer.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Design Goals ==&lt;/div&gt;&lt;/td&gt;&lt;td class=&#039;diff-marker&#039;&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Design Goals ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>ErnieHorning</name></author>
	</entry>
	<entry>
		<id>https://www.diychristmas.org/wiki/index.php?title=ZIPP-I&amp;diff=5918&amp;oldid=prev</id>
		<title>ErnieHorning: Initial ZIPP-I documentation – incandescent controller concept, isolated power conversion, dimming, soft-start, polarity reversal, communications, and planned development.</title>
		<link rel="alternate" type="text/html" href="https://www.diychristmas.org/wiki/index.php?title=ZIPP-I&amp;diff=5918&amp;oldid=prev"/>
		<updated>2026-09-17T23:17:59Z</updated>

		<summary type="html">&lt;p&gt;Initial ZIPP-I documentation – incandescent controller concept, isolated power conversion, dimming, soft-start, polarity reversal, communications, and planned development.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Warning|ZIPP-I is currently in the design and experimental-development stage. The power-conversion circuitry described on this page has not yet been finalized or tested as a complete controller. Component values, circuit topology, operating voltages, firmware, and specifications may change substantially during development.}}&lt;br /&gt;
&lt;br /&gt;
= ZIPP-I Incandescent Controller =&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ZIPP-I&amp;#039;&amp;#039;&amp;#039; (pronounced &amp;#039;&amp;#039;&amp;#039;&amp;quot;zippy&amp;quot;&amp;#039;&amp;#039;&amp;#039;) is the incandescent-light control branch of the [[ZIPP]] project family.&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is intended to provide inexpensive distributed dimming and control of traditional incandescent Christmas-light strings.&lt;br /&gt;
&lt;br /&gt;
Unlike the [[ZIPP Pixel Controller]], which directly generates digital pixel data, or [[ZIPP-R]], which provides simple relay ON/OFF control, ZIPP-I must generate and regulate the electrical power delivered to an incandescent light string.&lt;br /&gt;
&lt;br /&gt;
The initial design target is a conventional approximately 120 V incandescent Christmas-light string drawing approximately 100 mA, or about 12 watts.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Project Status:&amp;#039;&amp;#039;&amp;#039; Design / experimental development.&lt;br /&gt;
&lt;br /&gt;
== Why ZIPP-I? ==&lt;br /&gt;
&lt;br /&gt;
Large Christmas displays traditionally used centralized AC dimmer controllers such as Renard controllers and external solid-state relay boards.&lt;br /&gt;
&lt;br /&gt;
These systems work very well, but they require line-voltage power and control wiring to be distributed between centralized controllers and the individual light strings.&lt;br /&gt;
&lt;br /&gt;
ZIPP-I investigates a different approach.&lt;br /&gt;
&lt;br /&gt;
Instead of placing many dimmer channels in one centralized controller, a small inexpensive electronic dimmer could be located directly at or near each incandescent light string.&lt;br /&gt;
&lt;br /&gt;
The objective is similar to the distributed-controller philosophy used throughout the ZIPP project family:&lt;br /&gt;
&lt;br /&gt;
 Put the controller where the load is.&lt;br /&gt;
&lt;br /&gt;
This can potentially reduce control wiring and allow traditional incandescent props to participate in a modern distributed display architecture.&lt;br /&gt;
&lt;br /&gt;
== Design Goals ==&lt;br /&gt;
&lt;br /&gt;
Initial ZIPP-I design goals include:&lt;br /&gt;
&lt;br /&gt;
* Control traditional incandescent Christmas-light strings&lt;br /&gt;
* Approximately 120 V output&lt;br /&gt;
* Approximately 100 mA / 12 W initial design load&lt;br /&gt;
* Full-range electronic dimming&lt;br /&gt;
* Low-voltage power distribution to the remote controller&lt;br /&gt;
* Electrical isolation between the low-voltage electronics and high-voltage output&lt;br /&gt;
* Soft-start for incandescent filament protection&lt;br /&gt;
* Compact physical size&lt;br /&gt;
* Low-cost construction&lt;br /&gt;
* ESP-based communications&lt;br /&gt;
* Integration with the ZIPP master/satellite architecture&lt;br /&gt;
* Predictable failsafe behavior&lt;br /&gt;
* Automatic device addressing and commissioning&lt;br /&gt;
* Future wireless-channel selection and roaming&lt;br /&gt;
&lt;br /&gt;
The final electrical specifications have not yet been established.&lt;br /&gt;
&lt;br /&gt;
== Basic Concept ==&lt;br /&gt;
&lt;br /&gt;
The current ZIPP-I concept uses a low-voltage DC supply at the remote controller.&lt;br /&gt;
&lt;br /&gt;
A simplified conceptual architecture is:&lt;br /&gt;
&lt;br /&gt;
 Sequencer / Show Player&lt;br /&gt;
          |&lt;br /&gt;
         DDP&lt;br /&gt;
          |&lt;br /&gt;
      Wi-Fi&lt;br /&gt;
          |&lt;br /&gt;
   ESP32 ZIPP Master&lt;br /&gt;
          |&lt;br /&gt;
       ESP-NOW&lt;br /&gt;
          |&lt;br /&gt;
     ZIPP-I Controller&lt;br /&gt;
          |&lt;br /&gt;
   Low-Voltage DC Input&lt;br /&gt;
          |&lt;br /&gt;
 High-Frequency Switching&lt;br /&gt;
          |&lt;br /&gt;
 Isolation Transformer&lt;br /&gt;
          |&lt;br /&gt;
 High-Voltage Output Stage&lt;br /&gt;
          |&lt;br /&gt;
 Incandescent Light String&lt;br /&gt;
&lt;br /&gt;
The remote controller would therefore receive both low-voltage power and wireless control information.&lt;br /&gt;
&lt;br /&gt;
The ZIPP-I electronics would generate the higher voltage required by the incandescent lamps locally.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The exact power-conversion topology has not yet been finalized.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Why Low-Voltage Distribution? ==&lt;br /&gt;
&lt;br /&gt;
One objective of ZIPP-I is to investigate whether conventional incandescent strings can be controlled without distributing a conventional line-voltage dimmer channel to every location.&lt;br /&gt;
&lt;br /&gt;
A low-voltage DC distribution system could power small isolated converters located near individual props or light strings.&lt;br /&gt;
&lt;br /&gt;
Potential advantages include:&lt;br /&gt;
&lt;br /&gt;
* Distributed control&lt;br /&gt;
* Small remote controllers&lt;br /&gt;
* Reduced dependence on centralized AC dimmer hardware&lt;br /&gt;
* Wireless control&lt;br /&gt;
* Flexible controller placement&lt;br /&gt;
* Integration with other ZIPP devices&lt;br /&gt;
&lt;br /&gt;
The practicality, efficiency, cost, wiring requirements, and maximum useful distance of this approach still require testing.&lt;br /&gt;
&lt;br /&gt;
== High-Frequency Power Conversion ==&lt;br /&gt;
&lt;br /&gt;
The current design concept uses a high-frequency switching converter and ferrite transformer.&lt;br /&gt;
&lt;br /&gt;
Rather than using a conventional 50/60 Hz transformer, the input DC would be switched at a substantially higher frequency.&lt;br /&gt;
&lt;br /&gt;
A conceptual power path is:&lt;br /&gt;
&lt;br /&gt;
 12 VDC&lt;br /&gt;
    |&lt;br /&gt;
 Switching Stage&lt;br /&gt;
    |&lt;br /&gt;
 High-Frequency Ferrite Transformer&lt;br /&gt;
    |&lt;br /&gt;
 Approximately 100-120 V&lt;br /&gt;
    |&lt;br /&gt;
 Output Control&lt;br /&gt;
    |&lt;br /&gt;
 Incandescent String&lt;br /&gt;
&lt;br /&gt;
Operating at higher frequency allows a much smaller transformer to be considered for the approximately 12 W power level required by the initial target load.&lt;br /&gt;
&lt;br /&gt;
Ferrite transformers in approximately the EF20/EF21 size range have been considered during early investigation.&lt;br /&gt;
&lt;br /&gt;
Candidate operating frequencies in approximately the tens to low hundreds of kilohertz range have also been discussed.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;No transformer or switching frequency has yet been selected as the final ZIPP-I design.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Transformer Investigation ==&lt;br /&gt;
&lt;br /&gt;
Early development has included investigation of inexpensive commercially available ferrite transformers.&lt;br /&gt;
&lt;br /&gt;
One candidate approximately EF21-sized transformer was identified with an approximately 18 W rating.&lt;br /&gt;
&lt;br /&gt;
However, its published configuration appeared to be intended for converting a higher primary voltage to a lower secondary voltage, and sufficient winding information was not available to establish whether it could be used appropriately in the ZIPP-I application.&lt;br /&gt;
&lt;br /&gt;
ZIPP-I may ultimately require:&lt;br /&gt;
&lt;br /&gt;
* A commercially available transformer used in reverse&lt;br /&gt;
* A transformer intended specifically for low-voltage inverter operation&lt;br /&gt;
* A custom-wound transformer&lt;br /&gt;
* A different converter topology&lt;br /&gt;
&lt;br /&gt;
Transformer selection remains an active design issue.&lt;br /&gt;
&lt;br /&gt;
== Dimming ==&lt;br /&gt;
&lt;br /&gt;
Traditional AC incandescent controllers commonly use phase-angle dimming synchronized to the AC line frequency.&lt;br /&gt;
&lt;br /&gt;
ZIPP-I does not necessarily need to duplicate that method.&lt;br /&gt;
&lt;br /&gt;
Because the controller is intended to generate the lamp power locally, the output power can potentially be controlled directly by the electronic converter.&lt;br /&gt;
&lt;br /&gt;
A conceptual dimming path is:&lt;br /&gt;
&lt;br /&gt;
 Desired intensity&lt;br /&gt;
       |&lt;br /&gt;
 ZIPP command&lt;br /&gt;
       |&lt;br /&gt;
 PWM / Power Regulation&lt;br /&gt;
       |&lt;br /&gt;
 Output power&lt;br /&gt;
       |&lt;br /&gt;
 Lamp brightness&lt;br /&gt;
&lt;br /&gt;
This could eliminate the need for conventional line-frequency zero-crossing detection and phase-angle control.&lt;br /&gt;
&lt;br /&gt;
The exact relationship between commanded intensity, switching operation, output voltage, and perceived lamp brightness will need to be established experimentally.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;The ZIPP-I dimming method has not yet been finalized or tested.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Soft-Start ==&lt;br /&gt;
&lt;br /&gt;
Incandescent lamps have a relatively low filament resistance when cold.&lt;br /&gt;
&lt;br /&gt;
The resulting turn-on current can be substantially higher than the normal operating current.&lt;br /&gt;
&lt;br /&gt;
This is one reason incandescent lamps frequently fail at turn-on.&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is intended to provide an electronic soft-start function.&lt;br /&gt;
&lt;br /&gt;
Instead of immediately applying full power, the controller can ramp the output from zero to the requested intensity over a short period.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 OFF&lt;br /&gt;
  |&lt;br /&gt;
  +--&amp;gt; Low initial power&lt;br /&gt;
          |&lt;br /&gt;
          +--&amp;gt; Increasing power&lt;br /&gt;
                  |&lt;br /&gt;
                  +--&amp;gt; Requested intensity&lt;br /&gt;
&lt;br /&gt;
Because the ramp is controlled in firmware, the soft-start characteristics could potentially be adjusted without changing the power hardware.&lt;br /&gt;
&lt;br /&gt;
Soft-start may reduce electrical and thermal stress on both the lamp filament and the converter.&lt;br /&gt;
&lt;br /&gt;
== DC Operation and Polarity Reversal ==&lt;br /&gt;
&lt;br /&gt;
One design issue being considered is the long-term operation of tungsten incandescent filaments from DC.&lt;br /&gt;
&lt;br /&gt;
Continuous DC operation in one polarity can contribute to directional tungsten migration and filament notching over extended operating periods.&lt;br /&gt;
&lt;br /&gt;
For that reason, the current ZIPP-I concept includes the possibility of periodically reversing the polarity applied to the incandescent string.&lt;br /&gt;
&lt;br /&gt;
The polarity reversal would occur relatively slowly and would not be used as the primary dimming mechanism.&lt;br /&gt;
&lt;br /&gt;
Conceptually:&lt;br /&gt;
&lt;br /&gt;
 Operating Period A:&lt;br /&gt;
&lt;br /&gt;
 +  Lamp String  -&lt;br /&gt;
&lt;br /&gt;
       then&lt;br /&gt;
&lt;br /&gt;
 Operating Period B:&lt;br /&gt;
&lt;br /&gt;
 -  Lamp String  +&lt;br /&gt;
&lt;br /&gt;
The average long-term electrical stress on the filament would therefore not remain continuously biased in one direction.&lt;br /&gt;
&lt;br /&gt;
The required reversal interval and practical benefit will need to be determined experimentally.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Polarity-reversal circuitry has not yet been designed or tested.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Possible Output Architecture ==&lt;br /&gt;
&lt;br /&gt;
One possible ZIPP-I architecture is:&lt;br /&gt;
&lt;br /&gt;
 12 VDC&lt;br /&gt;
    |&lt;br /&gt;
 High-Frequency Converter&lt;br /&gt;
    |&lt;br /&gt;
 Isolation Transformer&lt;br /&gt;
    |&lt;br /&gt;
 High-Voltage DC Bus&lt;br /&gt;
    |&lt;br /&gt;
 Polarity-Reversing Output Stage&lt;br /&gt;
    |&lt;br /&gt;
 Incandescent String&lt;br /&gt;
&lt;br /&gt;
The converter would regulate the amount of power delivered to the lamps.&lt;br /&gt;
&lt;br /&gt;
A high-voltage polarity-reversing stage could periodically reverse the direction of current through the string.&lt;br /&gt;
&lt;br /&gt;
Another possibility is to incorporate polarity reversal into the transformer switching topology itself.&lt;br /&gt;
&lt;br /&gt;
The final architecture will depend on component count, efficiency, transformer availability, cost, electrical stress, and safety.&lt;br /&gt;
&lt;br /&gt;
== Communications ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is expected to use the same general master/satellite communications architecture being developed for [[ZIPP-R]].&lt;br /&gt;
&lt;br /&gt;
A possible system is:&lt;br /&gt;
&lt;br /&gt;
 xLights / Sequencer&lt;br /&gt;
        |&lt;br /&gt;
       DDP&lt;br /&gt;
        |&lt;br /&gt;
 ESP32 ZIPP Master&lt;br /&gt;
        |&lt;br /&gt;
     ESP-NOW&lt;br /&gt;
        |&lt;br /&gt;
   ZIPP-I #1&lt;br /&gt;
   ZIPP-I #2&lt;br /&gt;
   ZIPP-I #3&lt;br /&gt;
&lt;br /&gt;
Incandescent intensity changes require very little communications bandwidth compared with pixel data.&lt;br /&gt;
&lt;br /&gt;
ESP-NOW is therefore being considered as a more appropriate remote communications method than maintaining an independent conventional Wi-Fi/DDP connection at every ZIPP-I controller.&lt;br /&gt;
&lt;br /&gt;
== Logical Addressing ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is expected to use logical device addressing similar to the system planned for ZIPP-R.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
 ZIPP-I #1&lt;br /&gt;
 ZIPP-I #2&lt;br /&gt;
 ZIPP-I #3&lt;br /&gt;
&lt;br /&gt;
The user should not need to manually maintain MAC-address lists.&lt;br /&gt;
&lt;br /&gt;
An unconfigured ZIPP-I controller could identify itself to the ZIPP master using its factory MAC address during commissioning.&lt;br /&gt;
&lt;br /&gt;
The master could then assign a logical ZIPP-I device number, which the controller stores in nonvolatile memory.&lt;br /&gt;
&lt;br /&gt;
This would allow identical firmware to be installed in multiple controllers.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Automatic commissioning has not yet been implemented.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Intensity Commands ==&lt;br /&gt;
&lt;br /&gt;
Unlike ZIPP-R, which requires only ON and OFF states, ZIPP-I requires an intensity value.&lt;br /&gt;
&lt;br /&gt;
A future ZIPP-I command could therefore contain:&lt;br /&gt;
&lt;br /&gt;
 Device ID&lt;br /&gt;
 Intensity&lt;br /&gt;
 Sequence Number&lt;br /&gt;
 Status / Control Information&lt;br /&gt;
&lt;br /&gt;
An 8-bit intensity value would naturally correspond to the conventional lighting range:&lt;br /&gt;
&lt;br /&gt;
 0   = OFF&lt;br /&gt;
 255 = Full intensity&lt;br /&gt;
&lt;br /&gt;
Intermediate values would control the desired lamp brightness.&lt;br /&gt;
&lt;br /&gt;
The final ZIPP-I communications packet has not yet been defined.&lt;br /&gt;
&lt;br /&gt;
== Heartbeat and Failsafe ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is expected to use heartbeat and failsafe concepts similar to ZIPP-R.&lt;br /&gt;
&lt;br /&gt;
The master can periodically transmit the desired intensity.&lt;br /&gt;
&lt;br /&gt;
If a remote controller stops receiving valid commands for a defined period, it can automatically transition to a predetermined safe condition.&lt;br /&gt;
&lt;br /&gt;
The expected default failsafe state is:&lt;br /&gt;
&lt;br /&gt;
 Output OFF&lt;br /&gt;
&lt;br /&gt;
This prevents a communication failure from leaving an incandescent load energized indefinitely.&lt;br /&gt;
&lt;br /&gt;
The exact timeout and recovery behavior have not yet been determined.&lt;br /&gt;
&lt;br /&gt;
== Wireless Channel Selection and Roaming ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I may eventually use the same automatic channel-selection and roaming system being developed for other low-bandwidth ZIPP devices.&lt;br /&gt;
&lt;br /&gt;
A controller could:&lt;br /&gt;
&lt;br /&gt;
* Start on its last known operating channel&lt;br /&gt;
* Search for the ZIPP master if necessary&lt;br /&gt;
* Detect loss of the master heartbeat&lt;br /&gt;
* Search permitted channels for the master&lt;br /&gt;
* Follow master-directed channel changes&lt;br /&gt;
* Store a newly selected channel for future startup&lt;br /&gt;
&lt;br /&gt;
This functionality will likely be developed and tested first using [[ZIPP-R]], where the power hardware is much simpler.&lt;br /&gt;
&lt;br /&gt;
If successful, the communications and roaming architecture could then be reused by ZIPP-I.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Automatic channel selection and roaming have not yet been implemented.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
== Relationship to Traditional AC Dimmers ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is not intended simply to reproduce a conventional TRIAC/SSR AC dimmer in a smaller enclosure.&lt;br /&gt;
&lt;br /&gt;
Traditional controllers typically operate from the AC line and regulate the load using line-frequency phase-angle control.&lt;br /&gt;
&lt;br /&gt;
The ZIPP-I concept instead investigates local electronic generation and control of the power required by the incandescent string.&lt;br /&gt;
&lt;br /&gt;
This distinction is important because it may allow features such as:&lt;br /&gt;
&lt;br /&gt;
* Low-voltage input distribution&lt;br /&gt;
* Electronic current limiting&lt;br /&gt;
* Controlled soft-start&lt;br /&gt;
* Direct power regulation&lt;br /&gt;
* Polarity reversal&lt;br /&gt;
* Firmware-defined output behavior&lt;br /&gt;
* Electrical isolation&lt;br /&gt;
&lt;br /&gt;
Whether these advantages justify the additional power-conversion electronics will be determined through prototype testing.&lt;br /&gt;
&lt;br /&gt;
== Efficiency ==&lt;br /&gt;
&lt;br /&gt;
Converter efficiency will be an important consideration.&lt;br /&gt;
&lt;br /&gt;
For an approximately 12 W lamp load, the low-voltage input current will necessarily be higher than the high-voltage lamp current.&lt;br /&gt;
&lt;br /&gt;
For example, even with an ideal converter:&lt;br /&gt;
&lt;br /&gt;
 12 W / 12 V = 1 A&lt;br /&gt;
&lt;br /&gt;
A real converter will require somewhat more input power because of switching, transformer, wiring, and other losses.&lt;br /&gt;
&lt;br /&gt;
This means that ZIPP-I does not eliminate power-distribution requirements. It changes the voltage and current at which power is distributed.&lt;br /&gt;
&lt;br /&gt;
Efficiency, wire size, voltage drop, and power-supply requirements will therefore be important parts of future testing.&lt;br /&gt;
&lt;br /&gt;
== Current Limiting and Protection ==&lt;br /&gt;
&lt;br /&gt;
Because ZIPP-I contains an electronic power converter, future prototypes may include protection features that are difficult to provide with a simple conventional dimmer.&lt;br /&gt;
&lt;br /&gt;
Possible features include:&lt;br /&gt;
&lt;br /&gt;
* Input current limiting&lt;br /&gt;
* Output current limiting&lt;br /&gt;
* Short-circuit protection&lt;br /&gt;
* Over-temperature protection&lt;br /&gt;
* Controlled startup&lt;br /&gt;
* Communication-loss shutdown&lt;br /&gt;
* Converter fault detection&lt;br /&gt;
&lt;br /&gt;
The exact protection features will depend on the final topology.&lt;br /&gt;
&lt;br /&gt;
== Hardware Size ==&lt;br /&gt;
&lt;br /&gt;
The intended ZIPP-I controller is small enough to be located near an individual incandescent string or prop.&lt;br /&gt;
&lt;br /&gt;
An early physical target of approximately:&lt;br /&gt;
&lt;br /&gt;
 1.5 x 2.5 inches&lt;br /&gt;
&lt;br /&gt;
has been discussed for the controller electronics.&lt;br /&gt;
&lt;br /&gt;
An ESP-01 or similarly small ESP-based module may be suitable for the communications and control portion of the design.&lt;br /&gt;
&lt;br /&gt;
The power-conversion components, transformer, switching devices, isolation requirements, heat dissipation, and required electrical spacing will ultimately determine the practical board and enclosure dimensions.&lt;br /&gt;
&lt;br /&gt;
== Prototype Development ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I development is expected to proceed in stages.&lt;br /&gt;
&lt;br /&gt;
Possible development steps include:&lt;br /&gt;
&lt;br /&gt;
* Select converter topology&lt;br /&gt;
* Determine input voltage&lt;br /&gt;
* Select or design transformer&lt;br /&gt;
* Build low-power converter prototype&lt;br /&gt;
* Verify isolation and output regulation&lt;br /&gt;
* Test incandescent load&lt;br /&gt;
* Measure efficiency and heating&lt;br /&gt;
* Implement dimming&lt;br /&gt;
* Implement soft-start&lt;br /&gt;
* Investigate polarity reversal&lt;br /&gt;
* Add ESP control&lt;br /&gt;
* Add ZIPP communications&lt;br /&gt;
* Add failsafe behavior&lt;br /&gt;
* Perform extended lamp-life testing&lt;br /&gt;
&lt;br /&gt;
The high-voltage power stage should be proven independently before integration with the complete wireless controller.&lt;br /&gt;
&lt;br /&gt;
== Firmware ==&lt;br /&gt;
&lt;br /&gt;
No production ZIPP-I firmware currently exists.&lt;br /&gt;
&lt;br /&gt;
Some communications and addressing concepts are expected to be derived from [[ZIPP-R]] development.&lt;br /&gt;
&lt;br /&gt;
Future firmware is expected to provide functions including:&lt;br /&gt;
&lt;br /&gt;
* ESP-NOW communications&lt;br /&gt;
* Logical device addressing&lt;br /&gt;
* Intensity control&lt;br /&gt;
* Soft-start&lt;br /&gt;
* Output regulation&lt;br /&gt;
* Polarity-reversal management&lt;br /&gt;
* Heartbeat monitoring&lt;br /&gt;
* Failsafe shutdown&lt;br /&gt;
* Diagnostics&lt;br /&gt;
* Fault handling&lt;br /&gt;
* Automatic channel discovery and roaming&lt;br /&gt;
&lt;br /&gt;
Firmware will be documented when working prototype hardware is available.&lt;br /&gt;
&lt;br /&gt;
== Safety ==&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;ZIPP-I generates potentially lethal voltage.&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Although the proposed controller receives low-voltage DC power, the output is intended to operate approximately 120 V incandescent lighting.&lt;br /&gt;
&lt;br /&gt;
The generated output must therefore be treated with the same respect as other hazardous-voltage circuits.&lt;br /&gt;
&lt;br /&gt;
Development and construction require appropriate:&lt;br /&gt;
&lt;br /&gt;
* Electrical isolation&lt;br /&gt;
* Creepage and clearance&lt;br /&gt;
* Insulation&lt;br /&gt;
* Fusing&lt;br /&gt;
* Wire ratings&lt;br /&gt;
* Connector ratings&lt;br /&gt;
* Enclosure design&lt;br /&gt;
* Strain relief&lt;br /&gt;
* Component voltage ratings&lt;br /&gt;
* Weather protection&lt;br /&gt;
* Safe test procedures&lt;br /&gt;
&lt;br /&gt;
An isolated low-voltage input does not make the generated high-voltage output safe to touch.&lt;br /&gt;
&lt;br /&gt;
Prototype testing should use appropriate current-limited supplies, isolation, measurement equipment, and protective practices.&lt;br /&gt;
&lt;br /&gt;
== Relationship to Other ZIPP Projects ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is part of the larger [[ZIPP]] project family.&lt;br /&gt;
&lt;br /&gt;
Related projects include:&lt;br /&gt;
&lt;br /&gt;
* [[ZIPP Pixel Controller|ZIPP]] - DDP pixel control&lt;br /&gt;
* [[ZIPP-R]] - Distributed relay control&lt;br /&gt;
* [[ZIPP-M]] - Motion sensing and interactive control&lt;br /&gt;
* [[ZIPP-A]] - Experimental audio distribution&lt;br /&gt;
&lt;br /&gt;
The communications, logical addressing, commissioning, heartbeat, and roaming systems developed for ZIPP-R may eventually provide much of the communications infrastructure required by ZIPP-I.&lt;br /&gt;
&lt;br /&gt;
This allows ZIPP-I development to concentrate primarily on the more difficult problem of safely and efficiently controlling incandescent power.&lt;br /&gt;
&lt;br /&gt;
== Future Development ==&lt;br /&gt;
&lt;br /&gt;
Major areas of future ZIPP-I development include:&lt;br /&gt;
&lt;br /&gt;
* Final converter topology&lt;br /&gt;
* Transformer selection or design&lt;br /&gt;
* Switching frequency&lt;br /&gt;
* Power regulation&lt;br /&gt;
* Dimming characteristics&lt;br /&gt;
* Soft-start characteristics&lt;br /&gt;
* Polarity-reversal implementation&lt;br /&gt;
* Converter efficiency&lt;br /&gt;
* Thermal performance&lt;br /&gt;
* Current limiting&lt;br /&gt;
* Fault protection&lt;br /&gt;
* ESP communications&lt;br /&gt;
* Logical addressing&lt;br /&gt;
* Automatic commissioning&lt;br /&gt;
* Heartbeat and failsafe&lt;br /&gt;
* Wireless channel roaming&lt;br /&gt;
* Long-duration reliability testing&lt;br /&gt;
* Incandescent filament-life testing&lt;br /&gt;
* PCB design&lt;br /&gt;
* Enclosure design&lt;br /&gt;
&lt;br /&gt;
== Project Author ==&lt;br /&gt;
&lt;br /&gt;
ZIPP-I is a DIY Christmas member project developed by &amp;#039;&amp;#039;&amp;#039;Ernest Horning&amp;#039;&amp;#039;&amp;#039; as part of the [[ZIPP]] project family.&lt;br /&gt;
&lt;br /&gt;
The project is being documented during development so that design concepts, experiments, component investigations, test results, and design decisions can be preserved as the controller evolves.&lt;br /&gt;
&lt;br /&gt;
== See Also ==&lt;br /&gt;
&lt;br /&gt;
* [[ZIPP]]&lt;br /&gt;
* [[ZIPP Pixel Controller]]&lt;br /&gt;
* [[ZIPP-R]]&lt;br /&gt;
* [[ZIPP-M]]&lt;br /&gt;
* [[ZIPP-A]]&lt;br /&gt;
* [[Controllers]]&lt;br /&gt;
* [[ESP8266]]&lt;br /&gt;
* [[ESP32]]&lt;br /&gt;
* [[DDP]]&lt;br /&gt;
* [[xLights]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Controllers]]&lt;/div&gt;</summary>
		<author><name>ErnieHorning</name></author>
	</entry>
</feed>