diff --git a/python/pcb.py b/python/pcb.py
index 4e138623f902b813c00e7739b6a29889e11f144c..4754db8b5c60e7d6c76e7c9bb67af2cb5d2fe1f9 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -6095,6 +6095,65 @@ class regulator_SOT223(part):
       self.pad.append(point(0,.12,0))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'out'))
 
+class TB67H451A(part):
+   def __init__(self,value=''):
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # pin 1: GND
+      #
+      self.shape = translate(pad_SOIC,-.11,.075,0)
+      self.shape = add(self.shape,cylinder(-.153,.075,0,0,.015))
+      self.pad.append(point(-.11,.075,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND.'))
+      #
+      # pin 2: IN2
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,-.11,.025,0))
+      self.pad.append(point(-.11,.025,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'IN2'))
+      #
+      # pin 3: IN1
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,-.11,-.025,0))
+      self.pad.append(point(-.11,-.025,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'IN1'))
+      #
+      # pin 4: VREF
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,-.11,-.075,0))
+      self.pad.append(point(-.11,-.075,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VREF'))
+      #
+      # pin 5: VBB
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,.11,-.075,0))
+      self.pad.append(point(.11,-.075,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'VBB'))
+      #
+      # pin 6: OUT1
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,.11,-.025,0))
+      self.pad.append(point(.11,-.025,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'OUT1'))
+      #
+      # pin 7: LSS
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,.11,.025,0))
+      self.pad.append(point(.11,.025,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'LSS'))
+      #
+      # pin 8: OUT2
+      #
+      self.shape = add(self.shape,translate(pad_SOIC,.11,.075,0))
+      self.pad.append(point(.11,.075,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'OUT2'))
+      #
+      # thermal pad
+      #
+      self.shape = add(self.shape,rectangle(-.04,.04,-.075,.075))
+
 class A4953_SOICN(part):
    def __init__(self,value=''):
       self.value = value