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 symbol</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>Schematic symbol</span><span class=sp></span></div>
<div class=stage id=stage><svg xmlns='http://www.w3.org/2000/svg' viewBox='-450 -600 900 1200' style='width:100%;height:100%'><polyline points='-180.0,-350.0 -140.0,-350.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-140.0,-390.0 -140.0,-310.0 -80.0,-350.0 -140.0,-390.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-60.0,-350.0 160.0,-350.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='-20.0,-350.0 -20.0,-450.0 90.0,-450.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='0.0,-415.0 -40.0,-415.0' fill='none' stroke='#e35d5d' stroke-width='4'/><polyline points='0.0,-385.0 -40.0,-385.0 -20.0,-415.0 0.0,-385.0' fill='none' stroke='#e35d5d' stroke-width='4'/><rect x='-300.0' y='-550.0' width='600.0' height='1000.0' fill='#e35d5d22' stroke='#e35d5d' stroke-width='4'/><circle cx='-70.0' cy='-350.0' r='10.0' fill='none' stroke='#e35d5d' stroke-width='4'/><circle cx='-50.0' cy='-250.0' r='10.0' fill='none' stroke='#e35d5d' stroke-width='4'/><circle cx='-50.0' cy='-150.0' r='10.0' fill='none' stroke='#e35d5d' stroke-width='4'/><circle cx='-50.0' cy='-60.0' r='10.0' fill='none' stroke='#e35d5d' stroke-width='4'/><circle cx='-20.0' cy='-350.0' r='10.0' fill='none' stroke='#e35d5d' stroke-width='4'/><g class='pingroup' data-num='1' data-name='I1'><line class='pinvis' x1='-400.0' y1='-350.0' x2='-300.0' y2='-350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='-350.0' x2='-300.0' y2='-350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='-312.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>1</text><text x='-275.0' y='-350.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I1</text><g class='pingroup' data-num='2' data-name='I2'><line class='pinvis' x1='-400.0' y1='-250.0' x2='-300.0' y2='-250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='-250.0' x2='-300.0' y2='-250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='-212.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>2</text><text x='-275.0' y='-250.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I2</text><g class='pingroup' data-num='3' data-name='I3'><line class='pinvis' x1='-400.0' y1='-150.0' x2='-300.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='-150.0' x2='-300.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='-112.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>3</text><text x='-275.0' y='-150.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I3</text><g class='pingroup' data-num='4' data-name='I4'><line class='pinvis' x1='-400.0' y1='-50.0' x2='-300.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='-50.0' x2='-300.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='-12.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>4</text><text x='-275.0' y='-50.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I4</text><g class='pingroup' data-num='5' data-name='I5'><line class='pinvis' x1='-400.0' y1='50.0' x2='-300.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='50.0' x2='-300.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='87.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>5</text><text x='-275.0' y='50.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I5</text><g class='pingroup' data-num='6' data-name='I6'><line class='pinvis' x1='-400.0' y1='150.0' x2='-300.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='150.0' x2='-300.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='187.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>6</text><text x='-275.0' y='150.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I6</text><g class='pingroup' data-num='7' data-name='I7'><line class='pinvis' x1='-400.0' y1='250.0' x2='-300.0' y2='250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='250.0' x2='-300.0' y2='250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='287.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>7</text><text x='-275.0' y='250.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I7</text><g class='pingroup' data-num='8' data-name='I8'><line class='pinvis' x1='-400.0' y1='350.0' x2='-300.0' y2='350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='-400.0' y1='350.0' x2='-300.0' y2='350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='-350.0' y='387.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>8</text><text x='-275.0' y='350.0' font-size='50' fill='#e6e9ef' text-anchor='start' dominant-baseline='central'>I8</text><g class='pingroup' data-num='9' data-name='GND'><line class='pinvis' x1='0.0' y1='550.0' x2='0.0' y2='450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='0.0' y1='550.0' x2='0.0' y2='450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='37.5' y='500.0' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>9</text><text x='0.0' y='425.0' font-size='50' fill='#e6e9ef' text-anchor='middle' dominant-baseline='central'>GND</text><g class='pingroup' data-num='10' data-name='COM'><line class='pinvis' x1='400.0' y1='-450.0' x2='300.0' y2='-450.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='-450.0' x2='300.0' y2='-450.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='-487.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>10</text><text x='275.0' y='-450.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>COM</text><g class='pingroup' data-num='11' data-name='O8'><line class='pinvis' x1='400.0' y1='350.0' x2='300.0' y2='350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='350.0' x2='300.0' y2='350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='312.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>11</text><text x='275.0' y='350.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O8</text><g class='pingroup' data-num='12' data-name='O7'><line class='pinvis' x1='400.0' y1='250.0' x2='300.0' y2='250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='250.0' x2='300.0' y2='250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='212.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>12</text><text x='275.0' y='250.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O7</text><g class='pingroup' data-num='13' data-name='O6'><line class='pinvis' x1='400.0' y1='150.0' x2='300.0' y2='150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='150.0' x2='300.0' y2='150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='112.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>13</text><text x='275.0' y='150.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O6</text><g class='pingroup' data-num='14' data-name='O5'><line class='pinvis' x1='400.0' y1='50.0' x2='300.0' y2='50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='50.0' x2='300.0' y2='50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='12.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>14</text><text x='275.0' y='50.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O5</text><g class='pingroup' data-num='15' data-name='O4'><line class='pinvis' x1='400.0' y1='-50.0' x2='300.0' y2='-50.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='-50.0' x2='300.0' y2='-50.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='-87.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>15</text><text x='275.0' y='-50.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O4</text><g class='pingroup' data-num='16' data-name='O3'><line class='pinvis' x1='400.0' y1='-150.0' x2='300.0' y2='-150.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='-150.0' x2='300.0' y2='-150.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='-187.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>16</text><text x='275.0' y='-150.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O3</text><g class='pingroup' data-num='17' data-name='O2'><line class='pinvis' x1='400.0' y1='-250.0' x2='300.0' y2='-250.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='-250.0' x2='300.0' y2='-250.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='-287.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>17</text><text x='275.0' y='-250.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O2</text><g class='pingroup' data-num='18' data-name='O1'><line class='pinvis' x1='400.0' y1='-350.0' x2='300.0' y2='-350.0' stroke='#dfe4ec' stroke-width='4'/><line x1='400.0' y1='-350.0' x2='300.0' y2='-350.0' stroke='transparent' stroke-width='26' pointer-events='stroke'/></g><text x='350.0' y='-387.5' font-size='50' fill='#9fb0c8' text-anchor='middle' dominant-baseline='central'>18</text><text x='275.0' y='-350.0' font-size='50' fill='#e6e9ef' text-anchor='end' dominant-baseline='central'>O1</text></svg></div>
<div id=tip></div>
<script>
var KIND="symbol", 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>