From e8fb3950eb482fd69d36e0f556e881deb5814ed4 Mon Sep 17 00:00:00 2001 From: Bdale Garbee Date: Wed, 11 Jun 2025 03:07:48 -0600 Subject: [PATCH] symbol and footprint for dual-color right-angle LED from Bivar --- packages/.gitignore | 2 + packages/H178.py | 77 ++++++++++++++++++++++++++++++++++ packages/Makefile | 1 + symbols/common/led-bicolor.sym | 53 +++++++++++++++++++++++ 4 files changed, 133 insertions(+) create mode 100755 packages/H178.py create mode 100644 symbols/common/led-bicolor.sym diff --git a/packages/.gitignore b/packages/.gitignore index e142040..a0d84ac 100644 --- a/packages/.gitignore +++ b/packages/.gitignore @@ -4,6 +4,7 @@ ssop-28.fp soic-16.fp soic-24.fp hssop-56.fp +H178.fp PTS815.fp s-pwson-n8.fp s-pwson-n6.fp @@ -113,6 +114,7 @@ servo.fp servo-motor.fp TDK_PS12-small.fp CAP_FC8.fp +CAP_FC10.fp fuse3568.fp ABM12.fp MD-60S.fp diff --git a/packages/H178.py b/packages/H178.py new file mode 100755 index 0000000..4030466 --- /dev/null +++ b/packages/H178.py @@ -0,0 +1,77 @@ +#!/usr/bin/python3 +# Copyright 2025 by Bdale Garbee . GPLv3 +# +# Program to emit PCB footprint for Bivar H178CBCXX and related LEDs +# + +# dimensions in mm from bivar/BIVA_S_A0003691096_1-2539024.pdf datasheet +PinSpacing = 2.5 +PinDiam = 0.8 +BodyWidth = 6.4 +BodyLength = 8.9 +Setback = 5.1 + +import sys + +# we're going to use the 1/100 of a mil fundamental unit form +def mm2mils100( mm ): + return int( mm / 25.4 * 1000.0 * 100.0 + 0.5 ) + +print('# author: Bdale Garbee') +print('# email: bdale@gag.com') +print('# dist-license: GPL 3') +print('# use-license: unlimited') + +print('Element[0x0 "H178" "" "" 0 0 0 0 0 100 0x0]') +print("(") +print(' Pin[',\ + mm2mils100(-PinSpacing/2), \ + 0, \ + mm2mils100(PinDiam * 2), \ + 1200, \ + mm2mils100(PinDiam * 2), \ + mm2mils100(PinDiam), \ + '"pin1" "1" 0x0101]') + +print(' Pin[',\ + mm2mils100(PinSpacing/2), \ + 0, \ + mm2mils100(PinDiam * 2), \ + 1200, \ + mm2mils100(PinDiam * 2), \ + mm2mils100(PinDiam), \ + '"pin2" "2" 0x0001]') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-Setback), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(-Setback), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(BodyLength-Setback), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyLength-Setback), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(BodyWidth/2), \ + mm2mils100(-Setback), \ + mm2mils100(BodyWidth/2), \ + mm2mils100(BodyLength-Setback), \ + 1000, \ + ']') + +print(' ElementLine[',\ + mm2mils100(-BodyWidth/2), \ + mm2mils100(-Setback), \ + mm2mils100(-BodyWidth/2), \ + mm2mils100(BodyLength-Setback), \ + 1000, \ + ']') + +print(")") diff --git a/packages/Makefile b/packages/Makefile index 8fab3a3..f9f505d 100644 --- a/packages/Makefile +++ b/packages/Makefile @@ -20,6 +20,7 @@ SOIC= \ FOOTPRINTS= \ $(SOIC) \ + H178.fp \ PTS815.fp \ s-pwson-n8.fp \ s-pwson-n6.fp \ diff --git a/symbols/common/led-bicolor.sym b/symbols/common/led-bicolor.sym new file mode 100644 index 0000000..ea7788b --- /dev/null +++ b/symbols/common/led-bicolor.sym @@ -0,0 +1,53 @@ +v 20220529 2 +T 100 600 8 10 0 0 0 0 1 +device=LED +P 0 400 150 400 1 0 0 +{ +T 100 450 5 8 0 1 0 0 1 +pinnumber=1 +T 100 450 5 8 0 0 0 0 1 +pinseq=1 +T 100 450 5 8 0 1 0 0 1 +pinlabel=1 +T 100 450 5 8 0 1 0 0 1 +pintype=pas +} +P 600 400 450 400 1 0 0 +{ +T 400 450 5 8 0 1 0 0 1 +pinnumber=2 +T 400 450 5 8 0 0 0 0 1 +pinseq=2 +T 400 450 5 8 0 1 0 0 1 +pinlabel=2 +T 400 450 5 8 0 1 0 0 1 +pintype=pas +} +L 250 700 350 600 3 0 0 0 -1 -1 +L 350 600 250 500 3 0 0 0 -1 -1 +L 250 700 250 500 3 0 0 0 -1 -1 +L 350 700 350 500 3 0 0 0 -1 -1 +L 280 740 380 840 3 0 0 0 -1 -1 +L 380 840 330 810 3 0 0 0 -1 -1 +L 380 840 350 790 3 0 0 0 -1 -1 +L 350 740 450 840 3 0 0 0 -1 -1 +L 450 840 400 810 3 0 0 0 -1 -1 +L 450 840 420 790 3 0 0 0 -1 -1 +T 550 600 8 10 1 1 0 0 1 +refdes=D? +L 350 100 250 200 3 0 0 0 -1 -1 +L 250 200 350 300 3 0 0 0 -1 -1 +L 350 100 350 300 3 0 0 0 -1 -1 +L 250 100 250 300 3 0 0 0 -1 -1 +L 320 60 220 -40 3 0 0 0 -1 -1 +L 220 -40 270 -10 3 0 0 0 -1 -1 +L 220 -40 250 10 3 0 0 0 -1 -1 +L 250 60 150 -40 3 0 0 0 -1 -1 +L 150 -40 200 -10 3 0 0 0 -1 -1 +L 150 -40 180 10 3 0 0 0 -1 -1 +L 250 600 150 600 3 10 1 0 -1 -1 +L 150 600 150 200 3 10 1 0 -1 -1 +L 150 200 250 200 3 10 1 0 -1 -1 +L 350 600 450 600 3 10 1 0 -1 -1 +L 450 600 450 200 3 10 1 0 -1 -1 +L 450 200 350 200 3 10 1 0 -1 -1 -- 2.47.2