For lack of any good reason, I have a bunch of the MC33887 5Amp H bridge chips. The only annoyance with them is they don’t see a logic 1 if the input is less than 4.5v which means I have to level shift to use with a 3v processor, so maybe I’ll just use 5v processors. Like I don’t have a few of those laying around.
So I made a footprint for it:
There are 50 .3mm vias under the pack to conduct heat to the 9 sq cm heatsink on the bottom. The bottom heat sink is actually bigger than described in the data sheet and there are more vias.
Is 3mm a good size for the vias?
I built it partly with the footprint editor and partly with a programming editor.
(module MC33887 (layer F.Cu) (tedit 57E92394)
(fp_text reference U* (at 0 9) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_text value MC33887 (at 0 -9) (layer F.Fab)
(effects (font (size 1 1) (thickness 0.15)))
)
(fp_line (start -6 7) (end -6 8) (layer F.SilkS) (width 0.15))
(fp_line (start -6 8) (end 6 8) (layer F.SilkS) (width 0.15))
(fp_line (start 6 8) (end 6 7) (layer F.SilkS) (width 0.15))
(fp_line (start -6 -7) (end -5 -8) (layer F.SilkS) (width 0.15))
(fp_line (start -5 -8) (end -1 -8) (layer F.SilkS) (width 0.15))
(fp_line (start -1 -8) (end -1 -7) (layer F.SilkS) (width 0.15))
(fp_line (start -1 -7) (end 1 -7) (layer F.SilkS) (width 0.15))
(fp_line (start 1 -7) (end 1 -8) (layer F.SilkS) (width 0.15))
(fp_line (start 1 -8) (end 5 -8) (layer F.SilkS) (width 0.15))
(fp_line (start 5 -8) (end 6 -7) (layer F.SilkS) (width 0.15))
(fp_text user 1 (at -8 -7) (layer F.SilkS)
(effects (font (size 1 1) (thickness 0.15)))
)
(pad 5 smd rect (at -6 -0.635) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 4 smd rect (at -6 -1.905) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 3 smd rect (at -6 -3.175) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 2 smd rect (at -6 -4.445) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 1 smd rect (at -6 -5.715) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 6 smd rect (at -6 0.635) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 7 smd rect (at -6 1.905) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 8 smd rect (at -6 3.175) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 9 smd rect (at -6 4.445) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 10 smd rect (at -6 5.715) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 16 smd rect (at 6 -0.635) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 17 smd rect (at 6 -1.905) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 18 smd rect (at 6 -3.175) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 19 smd rect (at 6 -4.445) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 20 smd rect (at 6 -5.715) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 15 smd rect (at 6 0.635) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 14 smd rect (at 6 1.905) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 13 smd rect (at 6 3.175) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 12 smd rect (at 6 4.445) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 11 smd rect (at 6 5.715) (size 2.5 1) (layers F.Cu F.Paste F.Mask))
(pad 21 smd rect (at 0 0) (size 7.2 17.6) (layers F.Cu F.Paste F.Mask))
(pad 21 smd rect (at 0 -12) (size 14 10) (layers F.Cu F.Paste F.Mask))
(pad 21 smd rect (at 0 12) (size 14 10) (layers F.Cu F.Paste F.Mask))
(pad 21 thru_hole circle (at -2.8 -6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 -6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 -6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 -6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 -6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 -4.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 -4.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 -4.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 -4.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 -4.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 -3.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 -3.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 -3.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 -3.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 -3.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 -1.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 -1.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 -1.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 -1.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 -1.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 -0.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 -0.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 -0.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 -0.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 -0.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 1) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 1) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 1) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 1) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 1) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 2.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 2.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 2.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 2.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 2.4) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 3.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 3.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 3.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 3.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 3.8) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 5.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 5.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 5.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 5.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 5.2) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -2.8 6.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at -1.4 6.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 2.8 6.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 1.4 6.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole circle (at 0 6.6) (size 1.524 1.524) (drill 0.3) (layers *.Cu *.Mask F.SilkS))
(pad 21 smd rect (at 0 0) (size 30 30) (layers B.Cu B.Mask))
)
Next step is to put it on a board and print it to see if it comes anywhere close to fitting the chip.
Posted from a friend’s house where barefooted brats are allowed to use internet