component
ULN2803A Darlington Array
Public Made by Adomby adom
Eight NPN Darlington pairs with 50 V, 500 mA outputs and clamp diodes for inductive loads.
main
Ray
interactive viewers
5252e9d
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
<!doctype html><html lang=en><head><meta charset=utf-8>
<meta name=viewport content="width=device-width,initial-scale=1"><title>ULN2803A footprint</title>
<style>
:root{--bg:#0d1117;--panel:#161b22;--edge:#30363d;--ink:#e6edf3;--mut:#8b949e;--acc:#00b8b0;--accb:#00e6dc;--hi:#6ea8fe}
*{box-sizing:border-box;margin:0}html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:'Satoshi',system-ui,sans-serif;display:flex;flex-direction:column}
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 11px;border-bottom:1px solid var(--edge);flex:none}
.bar .h{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);font-weight:700}
.bar .sp{flex:1}
.lyrtog{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--mut);background:#1a2130;border:1px solid var(--edge);border-radius:999px;padding:3px 9px;cursor:pointer;user-select:none}
.lyrtog.on{color:var(--ink);border-color:#485162}.lyrtog:not(.on){opacity:.5}
.lyrtog .d{width:8px;height:8px;border-radius:50%;background:#485162}
.stage{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--bg);cursor:grab;touch-action:none}
.stage.drag{cursor:grabbing}
.stage svg{position:absolute;inset:0;width:100%;height:100%}
.pingroup,.pad{cursor:pointer}
.pingroup.hi .pinvis{stroke:var(--hi)!important;stroke-width:7}
rect.pad.hi{stroke:var(--hi);stroke-width:.15;paint-order:stroke}
.lyr-off{display:none}
#tip{position:fixed;z-index:99;pointer-events:none;display:none;max-width:250px;background:#0d1117;border:1px solid var(--acc);border-radius:8px;padding:7px 10px;box-shadow:0 8px 26px #000a}
#tip .tn{font:700 12px ui-monospace,monospace;color:var(--accb)}
#tip .tt{font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--mut);margin-top:1px}
#tip .td{font-size:11px;color:var(--ink);margin-top:5px;line-height:1.4}
</style></head><body>
<div class=bar><span class=h>PCB footprint</span><span class=sp></span><button class="lyrtog on" data-lyr="copper"><span class="d" style="background:#e35d5d"></span>Copper</button><button class="lyrtog on" data-lyr="silk"><span class="d" style="background:#e6edf3"></span>Silkscreen</button><button class="lyrtog" data-lyr="fab"><span class="d" style="background:#8b949e"></span>Fab</button><button class="lyrtog" data-lyr="courtyard"><span class="d" style="background:#bc8cff"></span>Courtyard</button></div>
<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-6.330 -6.430 12.660 12.860' style='width:100%;height:100%'><line class='ly-silk' x1='-3.860' y1='-5.885' x2='3.860' y2='-5.885' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-3.860' y1='-5.640' x2='-3.860' y2='-5.885' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='-3.860' y1='5.885' x2='-3.860' y2='5.640' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='3.860' y1='-5.885' x2='3.860' y2='-5.640' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='3.860' y1='5.640' x2='3.860' y2='5.885' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-silk' x1='3.860' y1='5.885' x2='-3.860' y2='5.885' stroke='#d8b4fe' stroke-width='0.120'/><line class='ly-courtyard' x1='-5.930' y1='-5.630' x2='-4.000' y2='-5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-5.930' y1='5.630' x2='-5.930' y2='-5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-4.000' y1='-6.030' x2='4.000' y2='-6.030' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-4.000' y1='-5.630' x2='-4.000' y2='-6.030' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-4.000' y1='5.630' x2='-5.930' y2='5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='-4.000' y1='6.030' x2='-4.000' y2='5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='4.000' y1='-6.030' x2='4.000' y2='-5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='4.000' y1='-5.630' x2='5.930' y2='-5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='4.000' y1='5.630' x2='4.000' y2='6.030' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='4.000' y1='6.030' x2='-4.000' y2='6.030' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='5.930' y1='-5.630' x2='5.930' y2='5.630' stroke='#4ade80' stroke-width='0.050'/><line class='ly-courtyard' x1='5.930' y1='5.630' x2='4.000' y2='5.630' stroke='#4ade80' stroke-width='0.050'/><rect class='ly-copper pad' data-num='1' data-name='I1' x='-5.675' y='-5.380' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='-5.080' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>1</text><rect class='ly-copper pad' data-num='2' data-name='I2' x='-5.675' y='-4.110' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>2</text><rect class='ly-copper pad' data-num='3' data-name='I3' x='-5.675' y='-2.840' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>3</text><rect class='ly-copper pad' data-num='4' data-name='I4' x='-5.675' y='-1.570' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>4</text><rect class='ly-copper pad' data-num='5' data-name='I5' x='-5.675' y='-0.300' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>5</text><rect class='ly-copper pad' data-num='6' data-name='I6' x='-5.675' y='0.970' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>6</text><rect class='ly-copper pad' data-num='7' data-name='I7' x='-5.675' y='2.240' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>7</text><rect class='ly-copper pad' data-num='8' data-name='I8' x='-5.675' y='3.510' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>8</text><rect class='ly-copper pad' data-num='9' data-name='GND' x='-5.675' y='4.780' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='-4.650' y='5.080' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>9</text><rect class='ly-copper pad' data-num='10' data-name='COM' x='3.625' y='4.780' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='5.080' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>10</text><rect class='ly-copper pad' data-num='11' data-name='O8' x='3.625' y='3.510' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>11</text><rect class='ly-copper pad' data-num='12' data-name='O7' x='3.625' y='2.240' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>12</text><rect class='ly-copper pad' data-num='13' data-name='O6' x='3.625' y='0.970' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>13</text><rect class='ly-copper pad' data-num='14' data-name='O5' x='3.625' y='-0.300' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='0.000' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>14</text><rect class='ly-copper pad' data-num='15' data-name='O4' x='3.625' y='-1.570' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='-1.270' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>15</text><rect class='ly-copper pad' data-num='16' data-name='O3' x='3.625' y='-2.840' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='-2.540' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>16</text><rect class='ly-copper pad' data-num='17' data-name='O2' x='3.625' y='-4.110' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='-3.810' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>17</text><rect class='ly-copper pad' data-num='18' data-name='O1' x='3.625' y='-5.380' width='2.050' height='0.600' rx='0.150' fill='#f59e0b' stroke='#00000033' stroke-width='0.03' opacity='0.94'/><text class='padnum' x='4.650' y='-5.080' font-size='0.360' fill='#1c1206' text-anchor='middle' dominant-baseline='central' pointer-events='none' font-family='ui-monospace,monospace' font-weight='700'>18</text></svg></div>
<div id=tip></div>
<script>
var KIND="footprint", MPN="ULN2803A", PINS=[{"desc":"Channel 1 Darlington base input.","name":"I1","number":"1","type":"Input"},{"desc":"Channel 2 Darlington base input.","name":"I2","number":"2","type":"Input"},{"desc":"Channel 3 Darlington base input.","name":"I3","number":"3","type":"Input"},{"desc":"Channel 4 Darlington base input.","name":"I4","number":"4","type":"Input"},{"desc":"Channel 5 Darlington base input.","name":"I5","number":"5","type":"Input"},{"desc":"Channel 6 Darlington base input.","name":"I6","number":"6","type":"Input"},{"desc":"Channel 7 Darlington base input.","name":"I7","number":"7","type":"Input"},{"desc":"Channel 8 Darlington base input.","name":"I8","number":"8","type":"Input"},{"desc":"Common emitter of all eight Darlington pairs.","name":"GND","number":"9","type":"Power"},{"desc":"Common cathode of the internal free-wheeling clamp diodes.","name":"COM","number":"10","type":"Power"},{"desc":"Channel 8 Darlington open-collector output.","name":"O8","number":"11","type":"Output"},{"desc":"Channel 7 Darlington open-collector output.","name":"O7","number":"12","type":"Output"},{"desc":"Channel 6 Darlington open-collector output.","name":"O6","number":"13","type":"Output"},{"desc":"Channel 5 Darlington open-collector output.","name":"O5","number":"14","type":"Output"},{"desc":"Channel 4 Darlington open-collector output.","name":"O4","number":"15","type":"Output"},{"desc":"Channel 3 Darlington open-collector output.","name":"O3","number":"16","type":"Output"},{"desc":"Channel 2 Darlington open-collector output.","name":"O2","number":"17","type":"Output"},{"desc":"Channel 1 Darlington open-collector output.","name":"O1","number":"18","type":"Output"}];
var byNum={}; PINS.forEach(function(p){byNum[String(p.number)]=p;});
var stage=document.getElementById('stage'), svg=stage.querySelector('svg'), tip=document.getElementById('tip');
// ---- pan/zoom ----
var vb=(svg.getAttribute('viewBox')||'0 0 100 100').split(/\s+/).map(Number), base=vb.slice();
function setVB(){svg.setAttribute('viewBox',vb.join(' '));}
stage.addEventListener('wheel',function(e){e.preventDefault();var r=stage.getBoundingClientRect();var mx=(e.clientX-r.left)/r.width,my=(e.clientY-r.top)/r.height;var f=e.deltaY<0?0.88:1.14;var nw=vb[2]*f,nh=vb[3]*f;vb[0]+=(vb[2]-nw)*mx;vb[1]+=(vb[3]-nh)*my;vb[2]=nw;vb[3]=nh;setVB();},{passive:false});
var pan=null;
stage.addEventListener('pointerdown',function(e){pan={x:e.clientX,y:e.clientY};stage.classList.add('drag');stage.setPointerCapture(e.pointerId);});
stage.addEventListener('pointermove',function(e){if(!pan)return;var r=stage.getBoundingClientRect();vb[0]-=(e.clientX-pan.x)/r.width*vb[2];vb[1]-=(e.clientY-pan.y)/r.height*vb[3];pan={x:e.clientX,y:e.clientY};setVB();});
function endPan(){pan=null;stage.classList.remove('drag');}
stage.addEventListener('pointerup',endPan);stage.addEventListener('pointerleave',endPan);
stage.addEventListener('dblclick',function(){vb=base.slice();setVB();});
// ---- cross-highlight bus ----
function els(n){return [].slice.call(document.querySelectorAll('[data-num="'+n+'"]'));}
function clearHi(){[].slice.call(document.querySelectorAll('.hi')).forEach(function(e){e.classList.remove('hi');});}
function hi(n){els(n).forEach(function(e){e.classList.add('hi');});}
function post(n){try{parent.postMessage({type:'lbr-hover',pin:n===null?null:String(n),mpn:MPN},'*');}catch(_){}}
function showTip(n,x,y){var p=byNum[String(n)];if(!p)return;tip.innerHTML='<span class=tn></span><div class=tt></div><div class=td></div>';tip.querySelector('.tn').textContent=n+' '+(p.name||'');tip.querySelector('.tt').textContent=p.type||'';var d=p.desc||'';if(d)tip.querySelector('.td').textContent=d;else tip.querySelector('.td').style.display='none';tip.style.display='block';tip.style.left=(x+14)+'px';tip.style.top=(y+12)+'px';}
[].slice.call(document.querySelectorAll('.pingroup,.pad')).forEach(function(g){
var n=g.getAttribute('data-num');
g.addEventListener('mouseenter',function(e){clearHi();hi(n);post(n);showTip(n,e.clientX,e.clientY);});
g.addEventListener('mousemove',function(e){tip.style.left=(e.clientX+14)+'px';tip.style.top=(e.clientY+12)+'px';});
g.addEventListener('mouseleave',function(){clearHi();post(null);tip.style.display='none';});
});
window.addEventListener('message',function(e){var d=e.data||{};if(d.type!=='lbr-hover')return;clearHi();if(d.pin!=null)hi(d.pin);});
// ---- footprint layer toggles ----
[].slice.call(document.querySelectorAll('.lyrtog')).forEach(function(b){
function apply(on){[].slice.call(document.querySelectorAll('.ly-'+b.getAttribute('data-lyr'))).forEach(function(el){el.classList.toggle('lyr-off',!on);});}
apply(b.classList.contains('on'));
b.addEventListener('click',function(){apply(b.classList.toggle('on'));});
});
// ---- auto-grow the host readme iframe ----
function ph(){var h=Math.max(360,Math.min(16000,document.body.scrollHeight||420));parent.postMessage({type:'readme-height',height:h},'*');}
window.addEventListener('load',ph);setTimeout(ph,300);
</script>
</body></html>