diff --git a/python/pcb.py b/python/pcb.py
index b98ddac3b744bf33e65a8d4fa8f35f101e211644..05eb0a3450126f490de00a42ad0b2f4080c2c4f1 100755
--- a/python/pcb.py
+++ b/python/pcb.py
@@ -10622,6 +10622,58 @@ class fab(part):
       self.shape = add(self.shape,circle(l,0,r))
       self.shape = add(self.shape,circle(-l,0,r))
 
+############################################################
+# modules, breakouts
+############################################################
+
+class PD_Shutao(part):
+   #
+   # Shutao 13578-1 ASIN B0BCW2LQP8 PD decoy
+   #
+   def __init__(self,value,zb,zt):
+      width = 1.169
+      height = 0.763
+      #
+      pad_header = cylinder(0,0,zb,zt,.04)
+      pad_hole = cylinder(0,0,zb,zt,.018)
+      self.value = value
+      self.pad = [point(0,0,0)]
+      self.labels = []
+      #
+      # V
+      #
+      self.shape = translate(pad_header,width-0.070,-height/2+.036,0)
+      self.holes = translate(pad_hole,width-0.070,-height/2+.036,0)
+      self.pad.append(point(width-0.070,-height/2+.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.165,-height/2+.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.165,-height/2+.036,0))
+      self.pad.append(point(width-0.165,-height/2+.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.088,-height/2+.284,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.088,-height/2+.284,0))
+      self.pad.append(point(width-0.088,-height/2+.284,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'V'))
+      #
+      # G
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.070,height/2-.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.070,height/2-.036,0))
+      self.pad.append(point(width-0.070,height/2-.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.165,height/2-.036,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.165,height/2-.036,0))
+      self.pad.append(point(width-0.165,height/2-.036,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+      #
+      self.shape = add(self.shape,translate(pad_header,width-0.088,height/2-.284,0))
+      self.holes = add(self.holes,translate(pad_hole,width-0.088,height/2-.284,0))
+      self.pad.append(point(width-0.088,height/2-.284,0))
+      self.labels.append(self.text(self.pad[-1].x,self.pad[-1].y,self.pad[-1].z,'G'))
+
 ############################################################
 # define board
 ############################################################