

Controller
Beverage antenna switch for 6 antenna's
- Size
- 104 × 99 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 68
- Nets
- 86
- Pads
- 238
- Tracks, vias
- 611, 143
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 14 Sep 2026
- Updated
- 16 Sep 2026
Overview
Controller is an open-source printed circuit board by PA1ASB, from the PA1ASB/BAS6 repository on GitHub. It is a 2-layer board of 104 × 99 mm with 68 parts on 86 nets, routed with 611 tracks and 143 vias.
It is built around the TLP291-4, ULN2003A and SMAJ18CA-TR, with the 1N4148W among its other parts. Its parts include 27 resistors, 14 diodes, 11 capacitors, 7 ICs and 6 connectors. It belongs with the radio and wireless boards and the PIC boards of this library.
Main components
4TLP291-4
SOIC16Quad Channel Optocoupler, Phototransistor OutputToshibaUncategorisedULN2003A
SOP-16-40℃~+85℃ 0.93mA 100uA 15pF 20uA 30V 50V Seven channels SOP-16 Darlington Transistor Arrays ROHSUMWDarlington Transistor ArraysSMAJ18CA-TR
SMA(DO-214AC)-55℃~+150℃ 18V 200nA 20V 39.3V 400W 59A@8/20us Bidirectional IEC 61000-4-2、IEC 61000-4-5 TVS SMA(DO-214AC) ESD and Surge Protection (TVS/ESD) ROHSSTMicroelectronicsESD And Surge Protection (TVS/ESD)1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching Diodes
README
README.mdBAS6 - Remote controlled receive antenna switch for 6 beverage antennas
This project describes a 6-way receive antenna switch I built for a fellow radio amateur that allows to select one of six beverage wire antennas remotely and producing as little as possible noise around the connection to his receive amplifier. Using bi-stable relays makes it possible to completely disconnect power to the relays once an antenna has been selected. Switching is controlled by a small circuit, built in a tiny aluminium extrusion desktop enclosure, using two UP/DOWN tactile switches. Bi-colour LED’s on the from panel indicate the currently connected antenna and, when using the selection buttons, the next antenna to be switched on. Connection between the control station in the shack and the actual relay box requires 4 wires; using cheap UTP/FTP is therefore possible. The circuit should work over distances in excess of 200 meters as communication between the stations is done through two current loops (receive and transmit).

Control unit and relay box communicate “digitally” by sending some pulses to and fro, the number of which determine what the relaybox should actually do. After executing a command, the circuit measures which relay is actually switched on / off and reports this back to the control unit again as a series of pulses. If for whatever reason the reported switch state differs from what has been commanded, an error is indicated so that the user knows there’s something wrong. This will prevent unnecessary walks from the shack to the antenna connections: what is indicated on the control unit is the actual state.

The antennas are connected to the switch on the PVC junction box. I have made quite some effort in making the box and connections that are located outside of the box as watertight as possible but I guess that it is still advisable to make some additional protection to prevent direct exposure to the environment.


You can find the schematics of both units both as PDF and KiCAD v10 files as well as the C sources. I have also included BOM files for the PCB’s. There’s some additional hardware required such as stainless steel hardware for the antenna connections and switches to control the relays; these are not mentioned in these files. I have built the software in MPLAB IDE with the XC8 1.33 compiler. The C source should also compile in the newer MPLAB X IDE with the newer compiler versions but I believe that there are some minor syntax changes between the old and new versions which obviously need to be resolved. Google will be your friend for that, I guess.

Parts
68| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | 200R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R4, R5, R8, R9, R10, R11, R12, R13, R14, R16, R18, R20 |
| 6 | 100n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C1, C2, C4, C7, C9, C10 |
| 6 | LED_Dual_KAK | LED_THT:LED_D5.0mm-3_Horizontal_O3.81mm_Z3.0mm | D2, D3, D4, D5, D6, D7 |
| 5 | 4k7 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R2, R3, R6, R7, R17 |
| 4 | 330R | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R1, R15, R21, R27 |
| 3 | 10R/1W | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R22, R24, R25 |
| 3 | SMAJ18CA-TR | Diode_SMD:D_SMA | D9, D11, D13 |
| 2 | 10n | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C3, C8 |
| 2 | 470u/35V | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C5, C6 |
| 2 | Fuse | Fuse:Fuseholder_Cylinder-5x20mm_Stelvio-Kontek_PTF78_Horizontal_Open | F1, F2 |
| 2 | POWER SWITCH | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | J2, J6 |
| 2 | TLP291 | Package_SO:SOIC-4_4.55x2.6mm_P1.27mm | U5, U6 |
| 2 | ULN2003A | Package_SO:SOIC-16_3.9x9.9mm_P1.27mm | U2, U4 |
| 1 | 100u/12V | Capacitor_THT:CP_Radial_D8.0mm_P3.50mm | C11 |
| 1 | 10k | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R26 |
| 1 | 13V DC IN | Connector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_Horizontal | J1 |
| 1 | 1N4007 | Diode_THT:D_DO-41_SOD81_P10.16mm_Horizontal | D8 |
| 1 | 1N4148W | Diode_SMD:D_SOD-123 | D10 |
| 1 | 1k2 | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | R19 |
| 1 | 4x 10R/1W | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R23 |
| 1 | 4x SMAJ18CA-TR | Diode_SMD:D_SMA | D14 |
| 1 | AZ1117-5.0 | Package_TO_SOT_SMD:SOT-223-3_TabPin2 | U7 |
| 1 | MCP23017x-x-SO | Package_SO:SOIC-28W_7.5x17.9mm_P1.27mm | U3 |
| 1 | MountingHole_Pad | MountingHole:MountingHole_2.2mm_M2_DIN965_Pad_TopBottom | GROUND1 |
| 1 | OFF/FAIL | LED_THT:LED_D5.0mm-3_Horizontal_O3.81mm_Z3.0mm | D15 |
| 1 | PIC16F1829-IP | Package_SO:SOIC-20W_7.5x12.8mm_P1.27mm | U1 |
| 1 | PROG | Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical | J4 |
| 1 | PWR ON | LED_THT:LED_D5.0mm_Horizontal_O6.35mm_Z15.0mm | D12 |
| 1 | RJ45_Shielded | Connector_RJ:RJ45_Amphenol_RJHSE5380 | J3 |
| 1 | UP/DN BUTTONS | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J5 |
Questions
How big is the Controller PCB?
It measures 104 × 99 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Controller use?
68 parts, built around the TLP291-4, ULN2003A, SMAJ18CA-TR and 1N4148W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Controller KiCad files?
From the PA1ASB/BAS6 repository on GitHub, at the commit this page was made from: the board is hardware/controller/controller.kicad_pcb and its schematic hardware/controller/controller.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Controller design in my own project?
Its repository states no licence, so its author keeps all rights: ask PA1ASB before reusing the design.
More from PA1ASB/BAS6
1- 2 layers130 × 100 mm

Similar boards
- 2 layers60 × 70 mm

- 2 layers112.7 × 110.8 mm

- 2 layers100.3 × 60.3 mm

- 2 layers64.3 × 34.3 mm

12V relay-5v drive
LuCy4n3/SmartPotProject
This are all the apps required, except Programmer I didn't code that, for the SmartPot PCB too work with the app GreenGrowApp.
4 parts - 2 layers89.5 × 62.2 mm

Module do
andreili/STM32-PLC
The project is open source and open hardware, the purpose of which is to create a PLC based on STM32 MCU's.
139 parts69GPL-3.0 - 2 layers67.5 × 21.5 mm

- 2 layers

- 2 layers
