Skip to content

Instantly share code, notes, and snippets.

@ericfont
Created January 28, 2025 06:43
Show Gist options
  • Save ericfont/1149fe9b636d057ec0a67c43cfef0758 to your computer and use it in GitHub Desktop.
Save ericfont/1149fe9b636d057ec0a67c43cfef0758 to your computer and use it in GitHub Desktop.
simple cheap (power-wasting) voltage step-down regulator from 3.3V to 1.2V using zener & led
Display the source blob
Display the rendered blob
Raw
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="412" height="292"><defs><linearGradient id="iBObEuOKuAZe" x1="0px" x2="32px" y1="0px" y2="0px" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#639c63"/><stop offset="1" stop-color="#57a757"/></linearGradient><linearGradient id="PmLRqlFWwvNP" x1="0px" x2="32px" y1="0px" y2="0px" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#639c63"/><stop offset="1" stop-color="#807f7f"/></linearGradient></defs><g><rect fill="#000000" stroke="none" x="0" y="0" width="412" height="292"/><g transform="scale(1,1) translate(-906,-334)"><path fill="none" stroke="#2cd22c" paint-order="fill stroke markers" d=" M 1072 384 L 993 384" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><g><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="10px" font-style="normal" font-weight="normal" text-decoration="normal" x="962" y="384" text-anchor="start" dominant-baseline="central">+3.3V</text></g><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1072 560 L 1072 520" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1072 504 L 1072 464" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="#807f7f" stroke="none" paint-order="stroke fill markers" d=" M 1064 520 L 1080 520 L 1072 504 Z"/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1064 504 L 1080 504" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1061 512 L 1064 504" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1083 496 L 1080 504" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1072 464 L 1072 464" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#57a757" paint-order="fill stroke markers" d=" M 1072 432 L 1072 432" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><g transform="matrix(0,-1,1,0,1072,464)"><path fill="none" stroke="url(#iBObEuOKuAZe)" paint-order="fill stroke markers" d=" M 0 0 L 2 6 L 6 -6 L 10 6 L 14 -6 L 18 6 L 22 -6 L 26 6 L 30 -6 L 32 0" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/></g><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="12px" font-style="normal" font-weight="normal" text-decoration="normal" x="1082" y="454" text-anchor="start" dominant-baseline="alphabetic">100</text><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1072 560 L 1072 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1082 576 L 1062 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1078 581 L 1066 581" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1074 586 L 1070 586" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><g><g><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="14px" font-style="normal" font-weight="normal" text-decoration="normal" x="1248" y="464" text-anchor="middle" dominant-baseline="central">1.195 V</text></g><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1152 464 L 1215 464" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/></g><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1008 464 L 1008 508" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1020 508 L 996 508" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1008 560 L 1008 516" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1020 516 L 996 516" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="12px" font-style="normal" font-weight="normal" text-decoration="normal" x="1022" y="518" text-anchor="start" dominant-baseline="alphabetic">470μF</text><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1008 560 L 1008 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1018 576 L 998 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1014 581 L 1002 581" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1010 586 L 1006 586" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1008 464 L 1072 464" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="12px" font-style="normal" font-weight="normal" text-decoration="normal" x="1040" y="458" text-anchor="start" dominant-baseline="alphabetic"></text><path fill="none" stroke="#2cd22c" paint-order="fill stroke markers" d=" M 1072 384 L 1072 396" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#57a757" paint-order="fill stroke markers" d=" M 1072 420 L 1072 432" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#808080" paint-order="fill stroke markers" d=" M 1083.76 408 A 11.76 11.76 0 1 1 1083.7599941200006 407.98824000196" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="#d10000" stroke="none" paint-order="stroke fill markers" d=" M 1080 408 A 8 8 0 1 1 1079.9999999998872 407.9999575425633 Z"/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1152 464 L 1152 496" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1152 528 L 1152 560" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><g transform="matrix(0,1,-1,0,1152,496)"><path fill="none" stroke="url(#PmLRqlFWwvNP)" paint-order="fill stroke markers" d=" M 0 0 L 2 6 L 6 -6 L 10 6 L 14 -6 L 18 6 L 22 -6 L 26 6 L 30 -6 L 32 0" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/></g><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="12px" font-style="normal" font-weight="normal" text-decoration="normal" x="1162" y="518" text-anchor="start" dominant-baseline="alphabetic">50k</text><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1152 560 L 1152 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1162 576 L 1142 576" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1158 581 L 1146 581" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#807f7f" paint-order="fill stroke markers" d=" M 1154 586 L 1150 586" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><path fill="none" stroke="#639c63" paint-order="fill stroke markers" d=" M 1152 464 L 1072 464" stroke-linecap="round" stroke-miterlimit="10" stroke-width="3" stroke-dasharray=""/><text fill="#ffffff" stroke="none" font-family="sans-serif" font-size="12px" font-style="normal" font-weight="normal" text-decoration="normal" x="1112" y="458" text-anchor="start" dominant-baseline="alphabetic"></text><path fill="#ffffff" stroke="none" paint-order="stroke fill markers" d=" M 1075 464 A 3 3 0 1 1 1074.9999999999577 463.99998407846124 Z"/><path fill="#ffffff" stroke="none" paint-order="stroke fill markers" d=" M 1155 464 A 3 3 0 1 1 1154.9999999999577 463.99998407846124 Z"/></g></g></svg>
@ericfont
Copy link
Author

sim

@ericfont
Copy link
Author

Instead could use two 7660 ICs two divide a 5.0 V supply twice to produce a 2.5 V supply and a 1.25 V supply. Note that 1.25 V is within the ice40's 1.2 V core supply tolerance range of 1.14 V to 1.26 V.

@ericfont
Copy link
Author

regarding the very first image, turns out 1.2V zeners don't really exist...seems lower limit is 2.0V zeners. So an alternative could be to use a 2.1V zener to subtract 2.0V from 3.3V:

circuit-20250129-0449

@ericfont
Copy link
Author

assuming that don't already have a stable high voltage to start with, then could drop down to the lowest zener (lowest I can find cheaply are 2.0V) and then from that 2.0V do a simple resistor-divider:

circuit-20250221-0320

Takes about 5us for the 1.2V level to get close enough to be considered "on", since just needs to charge up the 1nF and 10nF capacitors through the somewhat low-valued resistors:

sim

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment