Skip to the content
PCBKitNew board
2 layers50 × 50 mmFoxmox, the printed circuit board in 3D

A fox transmitter controller

Size
50 × 50 mm
Copper layers
2
Thickness
1.6 mm
Parts
25
Nets
23
Pads
69
Tracks, vias
79, 3
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
7 Jul 2026
Updated
10 Oct 2026

Overview

Foxmox is an open-source printed circuit board by k0swe, from the k0swe/foxmox repository on GitHub. It is a 2-layer board of 50 × 50 mm with 25 parts on 23 nets, routed with 79 tracks and 3 vias.

It is built around the PIC16F84-10/P and 2N2222A. Its parts include 5 resistors, 4 capacitors, 3 switches, 1 IC and 1 diode. It belongs with the radio and wireless boards and the PIC boards of this library.

Main components

2

README

Hardware/README.md

FoxMox hardware

This directory contains the complete hardware design and its source references for Larry Benko W0QE's Low Power FoxMOX Controller V2.6 (December 2004), transcribed by Chris Keller K0SWE.

PathPurpose
foxmox.kicad_proKiCad project entry point.
foxmox.kicad_schReconstructed schematic.
foxmox.kicad_pcbPCB layout.
foxmox.pdfPDF export of the reconstructed schematic.
W0QE FoxMox scanned.pdfScan of Larry Benko W0QE's original schematic; source of truth for transcription.
fp-lib-table, sym-lib-tableProject-local KiCad library tables.
Libraries/Project-local symbols, footprints, and 3D models.
Datasheets/Component datasheets.

Open foxmox.kicad_pro from this directory. Library references use ${KIPRJMOD}/Libraries/..., so moving the project and Libraries/ together preserves their relative paths.

The target radio in this build is the Alinco DJ-S11, connected through its 2.5 mm microphone jack.

How the controller keys the radio

The DJ-S11 microphone jack has ground, a bias rail, and audio, but no separate PTT contact. The microphone tip serves as both the audio input and PTT sense. The radio biases that contact to power an electret microphone and watches its DC level: pulling it toward ground through a resistor keys the transmitter; releasing it returns the radio to receive. Transmit audio is AC-coupled onto the same contact.

This resistive keying arrangement is common on Alinco, Icom, and Yaesu handheld microphone interfaces. It does not depend on a VOX setting in the radio; VOX accessories for these radios implement their own resistive pull-down. Kenwood accessory wiring is a notable exception because it commonly provides a separate PTT contact.

Audio path — PIC RA0, pin 17

text
RA0 ── R1 20k ── R2 5k pot ──(wiper)── C4 1 µF ── P1 tip
                      └── bottom ── GND

RA0 generates the square-wave tone. R1 and R2 attenuate it, while C4 blocks DC so the tone does not disturb the keying level.

W0QE annotated the original drawing:

Adjust for 20 to 40 mV peak to peak. Or set R2 for ~300 ohms from wiper to ground.

That setting is internally consistent: 3.0 V × 300 / 25000 ≈ 36 mV. Avoid excessive drive; the source waveform is already square and harmonic-rich.

PTT path — PIC RA1, pin 18

text
RA1 ── R3 20k ── Q1 base (2N2222A, emitter → GND)
                 Q1 collector ── R4 2.7k ── P1 tip

RA1 high saturates Q1 and pulls the microphone tip toward ground through R4. R4, 2.7 kΩ, is the radio's keying resistor. RA1 low turns Q1 off and allows the microphone contact to return to its bias voltage.

Both paths meet at the microphone tip. In the PCB netlist, Net-(C4-Pad2) contains C4.2, P1.T, and R4.2.

Power source and current budget

The controller has no battery of its own. It is parasitically powered by the radio's microphone-bias rail:

text
P1 ring ── S3 (SPDT power switch) ── VDD ── U1.14, U1.4 (MCLR), C3, D1, TP1
P1 sleeve ── GND

W0QE recorded:

Measured current draw @ 3.0 V from Ring to Sleeve = 0.5 mA idle, 0.9 mA transmitting

This sub-milliamp supply is a binding design constraint. It explains the PIC16F84, resistively attenuated square-wave audio, and absence of more power-hungry circuitry. Before substituting another MCU, verify that its complete idle and transmit current does not collapse the microphone-bias rail or false-key the radio.

D1 is a 6.2 V zener used for overvoltage protection. It is not regulating the normal approximately 3 V supply.

R5 is the boot/service-mode strap

R5, 10 kΩ, is intentionally connected between RA2 (PIC pin 1) and RA3 (PIC pin 2). RA4/T0CKI (PIC pin 3) is unconnected. Do not move R5 to RA4.

The original scan is easy to misread:

  1. The R5 10k text is printed below its resistor body, placing the label near the RA4 row even though the component itself connects RA2 to RA3. Component label placement in this drawing is not a reliable indication of connectivity.

  2. The X on the RA4 row is a printed no-connect mark. The pin stub ends at that mark; it is not a wire crossed out by hand. Pixel measurements support that reading: its darkness matches printed material rather than the lighter pencil handwriting elsewhere on the scan.

    Scan featureMean gray
    Printed wire73
    RA4 X mark81
    Printed text89
    Pencil handwriting at top margin140

The reconstructed schematic has an explicit RA4 no-connect at (97.79, 105.41); with U1 placed at (80.01, 110.49), that location resolves to PIC pin 3. The PCB independently names the pad unconnected-(U1-TOCKI{slash}RA4-Pad3). The reconstructed schematic and PCB therefore agree.

The firmware also proves R5's purpose: at reset RA3 is driven high while RA2 is an input, so R5 pulls RA2 high for normal startup. Holding RA2 low during startup enters the clock-calibration service mode; the firmware waits for RA2 to be released before continuing. Moving R5 to RA4 would break that boot test.

The service-mode procedure is documented in ../Firmware/README.md.

Bench checks with an Alinco DJ-S11

Before relying on a rebuilt controller in the field, check it with the actual radio and cable:

  1. Bias supply: measure approximately 3 V from ring to sleeve and confirm it can source at least 1 mA without excessive sag.
  2. PTT keying: confirm that the 2.7 kΩ pull-down keys reliably with both a fresh radio battery and a nearly discharged one. The microphone-bias voltage can move with battery condition.
  3. Audio level: begin with R2 adjusted to approximately 300 Ω from wiper to ground, then verify 20–40 mV peak-to-peak or check deviation on a service monitor or trusted receiver.

Verifying the transcription

The scanned schematic is lossy and its geometry is easy to misread. Use these sources in descending order of confidence:

  1. Treat W0QE FoxMox scanned.pdf as the source of truth for the original design.

  2. Use the resolved nets in foxmox.kicad_pcb when checking the reconstructed connectivity. Footprint pad records carry their net names and avoid visual wire-tracing mistakes.

  3. Cross-check hardware-dependent behavior against ../Firmware/foxmox-v2.6.asm.

  4. For close inspection of the scan, render it at high resolution:

    sh
    pdftoppm -r 300 -png "Hardware/W0QE FoxMox scanned.pdf" out

Hardware/.history/ and *.kicad_prl are intentionally ignored by the outer repository. They are local KiCad state, not versioned design artifacts.

Parts

25
QtyValueFootprintReferences
4MountingHoleMountingHole:MountingHole_2.5mm_PadH1, H2, H3, H4
220kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P15.24mm_HorizontalR1, R3
227pFCapacitor_THT:C_Disc_D4.3mm_W1.9mm_P5.00mmC1, C2
2MountingHoleMountingHole:MountingHole_2mmH5, H6
2SW Hex-4RDS5_16S_1065_D_67:SW_RDS5-16S-1065-D-67S1, S2
1.1uFCapacitor_THT:C_Disc_D7.5mm_W5.0mm_P7.50mmC3
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P15.24mm_HorizontalR5
11uFCapacitor_THT:C_Disc_D7.5mm_W5.0mm_P7.50mmC4
12.5mm plugTerminalBlock:TerminalBlock_Xinya_XY308-2.54-3P_1x03_P2.54mm_HorizontalP1
12.7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P15.24mm_HorizontalR4
12N2222APackage_TO_SOT_THT:TO-92_Inline_WideQ1
13.579MHzCrystal:Crystal_HC49-4H_VerticalY1
15kPotentiometer_THT:Potentiometer_Bourns_3266W_VerticalR2
16.2VDiode_THT:D_DO-35_SOD27_P7.62mm_HorizontalD1
1Logo_Open_Hardware_SmallSymbol:OSHW-Logo2_7.3x6mm_SilkScreenSYM1
1PIC16F84Package_DIP:CERDIP-18_W7.62mm_SideBrazedU1
1SPDTEG1218:SW_1218_EWIS3
1VDDTestPoint:TestPoint_Pad_D2.0mmTP1

Questions

How big is the Foxmox PCB?

It measures 50 × 50 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Foxmox use?

25 parts, built around the PIC16F84-10/P and 2N2222A. 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 Foxmox KiCad files?

From the k0swe/foxmox repository on GitHub, at the commit this page was made from: the board is Hardware/foxmox.kicad_pcb and its schematic Hardware/foxmox.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Foxmox design in my own project?

Its repository states no licence, so its author keeps all rights: ask k0swe before reusing the design.

Similar boards

  • 2 layers66.7 × 60.3 mmKeyface, the printed circuit board in 3D

    Keyface

    z00m128/pcb-resources

    A set of printed circuit boards created by me.

    41 parts9
  • 2 layers101.5 × 83 mmSd2snes, the printed circuit board in 3D

    Sd2snes

    mrehkopf/sd2snes

    SD card based multi-purpose cartridge for the SNES

    154 parts722GPL-2.0
  • 2 layers279.4 × 203.2 mmZ180GDC, the printed circuit board in 3D

    Z180GDC

    lynchaj/rhyophyre

    Single Board Computer featuring Zilog Z180 processor and NEC µPD7220 Graphics Display Controller

    249 parts12
  • 2 layers99.1 × 99.1 mmQL Qsound10x10, the printed circuit board in 3D

    QL Qsound10x10

    alvaroalea/QL_QsoundQprint_clone

    A clone board of the Sound card for the Sinclair QL Computer.

    23 parts11
  • 2 layers156.5 × 67.5 mmNixieScanDisplay, the printed circuit board in 3D

    NixieScanDisplay

    profdc9/NixieClock

    A Nixie clock that uses IN-14 tubes and very generic components that can be easily sourced.

    106 parts10
  • 2 layers89.3 × 50 mmMM58167-ISA RTC, the printed circuit board in 3D

    MM58167-ISA RTC

    jensma-de/MM58167-ISA-RTC

    RTC module for the ISA slot. With schematics, project files in kicad and open source software to drive the clock.

    29 parts9
  • 2 layers97.6 × 76.8 mm12f675-mppt, the printed circuit board in 3D

    12f675-mppt

    rasberryrabbit/PIC12F675MPPT

    Solar MPPT circuit.

    45 parts9GPL-3.0
  • 2 layers14.6 × 13.6 mmChip and transistor, the printed circuit board in 3D

    Chip and transistor

    gidim/e61-gauge

    An analog temperature gauge for E61 espresso machines. A custom PCB drives a VID6606 stepper motor gauge needle, reading temperature from an NTC thermistor.

    15 parts8