diff --git a/python/pcb.py b/python/pcb.py
index 51a8f799a75bbde44c647c3c62c56ae8a1d0ab96..4ed409b59021c72dae12ec66e2bb2d079b45f12b 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -2403,6 +2403,67 @@ class ESP_WROOM_02D(part):
       self.pad.append(point((1.5/2+7.1+2-17.5/2)/25.4,(4*1.5+7.1-20+4.29+2)/25.4,0))
       self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'GND'))
 
+class V4x2(part):
+   #
+   #  4x2 vertical header
+   #    Sullins NPTC042KFMS-RC	
+   #
+   def __init__(self,value=''):
+      pad_header = cube(-.075/2,.075/2,-.04/2,.04/2,0,0)
+      d = .305/2-.07/2
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # pin 1
+      #
+      self.shape = translate(pad_header,d,.15,0)
+      self.shape = add(self.shape,cylinder(d+.061/2,.15,0,0,.039/2))
+      self.pad.append(point(d,.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'1'))
+      #
+      # pin 2
+      #
+      self.shape = add(self.shape,translate(pad_header,-d,.15,0))
+      self.pad.append(point(-d,.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'2'))
+      #
+      # pin 3
+      #
+      self.shape = add(self.shape,translate(pad_header,d,.05,0))
+      self.pad.append(point(d,.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'3'))
+      #
+      # pin 4
+      #
+      self.shape = add(self.shape,translate(pad_header,-d,.05,0))
+      self.pad.append(point(-d,.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'4'))
+      #
+      # pin 5
+      #
+      self.shape = add(self.shape,translate(pad_header,d,-.05,0))
+      self.pad.append(point(d,-.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'5'))
+      #
+      # pin 6
+      #
+      self.shape = add(self.shape,translate(pad_header,-d,-.05,0))
+      self.pad.append(point(-d,-.05,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'6'))
+      #
+      # pin 7
+      #
+      self.shape = add(self.shape,translate(pad_header,d,-.15,0))
+      self.pad.append(point(d,-.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'7'))
+      #
+      # pin 8
+      #
+      self.shape = add(self.shape,translate(pad_header,-d,-.15,0))
+      self.pad.append(point(-d,-.15,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'8'))
+
 class ESP_01(part):
    #
    # ESP-01 4x2 vertical