BC548A orientation confusion

I’m trying to create an Arduino shield for J1850 VPW communication, based on the schematic posted here: GitHub - matafonoff/J1850-VPW-Arduino-Transceiver-Library: J1850VPW Transceiver Library for Arduino

All of the transistors are BC548A.
All of them are correct in the schematic.
All of them are backward on the silkscreen.

This is a screen-capture with the mouse hovering over the top pin of the transistor, which (in the schematic) is the collector:


Note that the flat side of the transistor is to the right.

This is an image of the BC548A symbol package:

(I’d include the image in the post, but as a new user I’m only allowed one image.)

Note that in order to get pin 1, the collector, oriented to the top, the flat side of the package would be facing left.

Also note that the shield did not work when I first put it together, but it does work after flipping all of the transistors 180 degrees.

The transistors are all correct in the schematic, and the PCB layout screen shows the base / collector / emitter pins in the right places. But the silkscreen is backward.

How can I fix this? I’d like update the silkscreen and have another batch of PCBs made.

Again, just to be 100% clear, I only want to change the silkscreen. The schematic and PCB traces are 100% correct.


Looks like you need this part from sparkfun which has the right order in pcb. Click on the sparkfun discrete semi parts bin then select the npn with the correct layout in pcb. It doesn’t appear the default transistor has this layout.

you would need to delete the current ones in the sketch and replace them. If you select delete minus it will delete the transistor but leave the traces. Place the new part then move each wire in each view to reconnect them.


Thanks for the suggestion, I’ll give that a try.

If the silkscreen can’t be re-oriented, then is this something that should be fixed in the parts database?

In other words, should I file a bug?

You could put in an enhancement request for a to92 transistor with pcb in ebc format in pcb (it isn’t one of the options at present). I could have also made a custom part which is what is needed, but there is an available part that will do in the Sparkfun bin so this is low priority. In general you need to check the pcb footprint matches the part you are using, because they don’t always match.