

Gap dipole
Gap Dipole antenna tuner firmware
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 32
- Nets
- 84
- Pads
- 161
- Tracks, vias
- 0, 0
- Routed
- Not yet
- KiCad
- KiCad 9.0 (file 20241229)
- Created
- 6 Feb 2025
- Updated
- 1 Apr 2026
Overview
Gap dipole is an open-source printed circuit board by billschell, from the billschell/gap_tuner repository on GitHub. It is a 2-layer board with 32 parts on 84 nets.
It is built around the ESP32-S3-DEVKITC-1-N8, 1N4148WS and EE2-3NU, with the EE2-3SNUH among its other parts. Its parts include 9 switches, 8 diodes, 7 capacitors, 3 inductors and 2 resistors. It belongs with the radio and wireless boards and the ESP32 boards of this library.
Main components
4ESP32-S3-DEVKITC-1-N8
-- WiFi Modules ROHSEspressif SystemsWiFi Modules1N4148WS
SOD-3231.25V@150mA 100V 150mA 1uA@75V 200mW 2A 4ns Independent SOD-323 Switching Diodes ROHSJiangsu Changjing Electronics Technology (CJ)Switching DiodesEE2-3NU
SMD,7.5x15mmSMD,7.5x15mm Signal Relays ROHSKEMETSignal RelaysEE2-3SNUH
SMD,7.5x15mm-40℃~+85℃ 15mm 1ms 2 Form C: 2C (DPDT-CO) 220V@DC、250V@AC 2A 2ms 3V 7.5mm 9mm Silver Alloy Single Coil SMD,7.5x15mm Signal Relays ROHSKEMETMagnetic Latching Relays
README
README.mdGap Dipole antenna tuner firmware
(work in progress)
The Gap Dipole is an antenna and remote tuner that allows both changing the length of the dipole in real time, via switched relays, and remote tuning. The tuner hardware sits at the antenna feed point and is controlled over WiFi. The ESP32 in the tuner provides a web server which supplies the control page for the tuner. The control web page (accessed via phone,table, computer, etc.), provides a UI to operate the tuner functions.
A unique feature of the Gap dipole is that it is characterized once with a VNA, and that characterization is uploaded to the tuner over WiFi. After that, when the user switches frequency that freqency is given to the tuner and it tunes the antenna to the best possible match based on the VNA characterizaton, without the traditional need to transmit a signal while the tuner tries various tuning network combinations.
We are currently using the ESP32-S3-DevKitC-1U-N8 from Espressif (with the ipex antenna connector), as we have experienced reliability issues with some clones.
📡 GAPTuner Wi-Fi Setup Guide
This guide will help you connect your GAPTuner to your local Wi-Fi network using a browser-based setup. Once connected, you'll be able to access the control interface from any device on your network.
🛠️ Getting Started
When powered on for the first time, GAPTuner creates its own Wi-Fi network so you can configure it.
✅ Step 1: Power On the GAPTuner
- Plug in your GAPTuner.
- It will boot into Access Point (AP) mode, broadcasting its own Wi-Fi network.
✅ Step 2: Connect to the GAPTuner's Wi-Fi
-
Open the Wi-Fi settings on your phone, tablet, or computer.
-
Look for a network named: GAP Tuner AP - XXXX (where
XXXXis a unique ID for your device) -
Connect to it.
-
Password: (if applicable – depends on your device's configuration)
✅ Step 3: Open the Setup Page
- Your device may automatically open a configuration page.
- If not, open a browser and go to: http://192.168.4.1
✅ Step 4: Enter Your Wi-Fi Information
- Select your home Wi-Fi network from the list.
- Enter your Wi-Fi password.
- Click Connect.
✅ Step 5: Wait for Reboot
- GAPTuner will save your Wi-Fi credentials and reboot.
- It will now attempt to connect to your Wi-Fi network as a regular device using DHCP.
✅ Step 6: Reconnect Your Device to Wi-Fi
- Return to your device's Wi-Fi settings.
- Reconnect to your normal home Wi-Fi network.
✅ Step 7: Access GAPTuner on Your Network
Once the GAPTuner connects to your network, you can access its control interface.
- Open a browser and go to: http://gaptuner.local
💡 Note: This uses multicast DNS (mDNS). It works on:
- macOS and iOS (built-in)
- Windows 10+ (modern versions)
- Android (with certain apps)
- Linux with
avahi-daemon
If this doesn’t work, use a network scanner app to find the device’s IP address.
🔄 What If Something Goes Wrong?
If GAPTuner fails to connect to your Wi-Fi (wrong password, signal issue, etc.):
- It will automatically return to AP mode.
- Just repeat the setup process from Step 2.
Current Web UI image:
Parts
32| Qty | Value | Footprint | References |
|---|---|---|---|
| 7 | 1N4148WS | Diode_SMD:D_SOD-323 | D7, D8, D9, D10, D11, D12, D13 |
| 7 | EE2-3NU | Relay_SMD:Relay_DPDT_Kemet_EE2_NU | K1, K2, K3, K4, K5, K6, K7 |
| 4 | C | Capacitor_THT:C_Axial_L3.8mm_D2.6mm_P7.50mm_Horizontal | C4, C5, C6, C7 |
| 2 | 100Ω | Resistor_SMD:R_0805_2012Metric | R1, R2 |
| 2 | C | Capacitor_SMD:C_1206_3216Metric_Pad1.33x1.80mm_HandSolder | C2, C3 |
| 2 | EE2-3SNUH | Relay_SMD:Relay_DPDT_Kemet_EE2_NUH | K8, K9 |
| 2 | L | Inductor_THT:L_Toroid_Horizontal_D3.2mm_P6.40mm_Diameter3-5mm_Amidon-T12 | L2, L3 |
| 1 | .47K100P (470 pF) | Capacitor_THT:C_Rect_L18.0mm_W5.0mm_P15.00mm_FKS3_FKP3 | C1 |
| 1 | D | Diode_THT:D_A-405_P5.08mm_Vertical_KathodeUp | D1 |
| 1 | ESP32-S3-DevKitC | Espressif:ESP32-S3-DevKitC | U2 |
| 1 | L - bias tee | Inductor_SMD:L_0805_2012Metric_Pad1.05x1.20mm_HandSolder | L1 |
| 1 | REG | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
| 1 | toroidal core (fix connections) | Inductor_THT:L_Toroid_Horizontal_D25.4mm_P22.90mm_Vishay_TJ5 | Balun1 |
Questions
What parts does the Gap dipole use?
32 parts, built around the ESP32-S3-DEVKITC-1-N8, 1N4148WS, EE2-3NU and EE2-3SNUH. 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 Gap dipole KiCad files?
From the billschell/gap_tuner repository on GitHub, at the commit this page was made from: the board is board/Gap_dipole.kicad_pcb and its schematic board/Gap_dipole.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Gap dipole design in my own project?
Its repository states no licence, so its author keeps all rights: ask billschell before reusing the design.
More from billschell/gap_tuner
1- 2 layers125 × 125 mm

Similar boards
- 2 layers16.8 × 13.6 mm

- 2 layers38.1 × 16.5 mm

Relays
alvarop/ostur
This is a work in progress for a cheese cave controller system. The goal is to be able to control a mini fridge to get the right conditions for cheesemaking.
8 parts8MIT - 4 layers100 × 50 mm

Pcm5102a mux board
cbaurtx/RetroBox
RetroBox is an internet radio using an ESP32-S3 system on a chip
86 parts - 4 layers95 × 95 mm

Cube motherboard
willem-pennings/balancing-cube
A cube that balances itself in a corner or edge using reaction wheels
52 parts1.1kGPL-3.0 - 2 layers129.9 × 63.6 mm

Traeger rev 2.3.0.kicad pro
jazzmonger/Traeger-PID-Controller
Traeger Smoker/Grill Controller based on an
45 parts36 - 2 layers168.8 × 78.9 mm

Gameboy3
ohasanov-hbrw/tribit32-advanced
A tri-microcontroller, overengineered GameBoy Advance clone. More value was given to the controls and the exterior look, which is cool!
61 parts8 - 2 layers134.6 × 49.5 mm

- 2 layers90 × 102 mm
