I drafted some schematics and PCB artwork for relay boards using KiCad standard footprints. The board light up an LED when closing a Reed relay, which are compact, low amperage SPST relays. After an order for 45 PCBS to OSH Park and two weeks I was ready to assemble. On first test there was no relay click, no LED glow and smoke rose up from the board.
Before I received the boards I looked at the artwork again and realized the Q1 transistor emitter and base were swapped. An exhaustive search for SOT23 transistors compatible with the PCB as is revealed nil. So the work around was to bend the pins on the SOT23 transistor backwards, thus swapping the emitter and base terminals on the transistor itself. At this point I had thought all errors were found.
After checking and double checking the schematic and PCB artwork, I finally determined that the diode silkscreen showed the OPPOSITE polarity of what I intended. KiCad had matched the pins on my schematic drawing to the wrong terminals on the PCB footprints. Therefore I had placed the diodes in backwards. I replaced D1 and D2 in the correct orientation and although I got a glowing LED, the relay board still didn't function properly. If the CLOSE net was in HiZ (unconnected), the relay would be open. Shorting CLOSE to power would close the relay, but shorting CLOSE to GND also closed the relay. The LED was noticeably dimmer in the closed state as well. Then I remembered smoke had been coming from the board.
A look at the schematic tells why the board started smoking. D1 is a kickback protection diode from the relay coil; it is meant to reduce the voltage spikes that occur when a closed relay is suddenly opened. However, placed backwards it actually shorts the relay terminals; thus closing and opening the relay becomes impossible. Consequently, D1 shorted 12V directly to the Q1 transistor without the coil resistance, which at 12V puts a LOT of current through Q1. Lots of current causes lots of heat, which means the smoke came from Q1. Replacing Q1 (not easy when they are SMD and parts are already populated) resulted in a properly functioning part.