Skip to the content
2 layers39.3 × 33.6 mmHeliSR Rev4.0, the printed circuit board in 3D

A small board for hat Rev 4 in the Huey head Rev 5 (Head/Rev5/Hat). It carries an ALPS RKJXM1015004 8-direction stick switch with a centre push, and screws to four bosses printed on the back of the lower panel.

Size
39.3 × 33.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
33
Nets
34
Pads
174
Tracks, vias
661, 78
Pours
6
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
25 Oct 2026
Updated
7 Nov 2026

Overview

HeliSR Rev4.0 is an open-source printed circuit board by genbean, from the genbean/UH1-Collective repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 39.3 × 33.6 mm with 33 parts on 34 nets, routed with 661 tracks and 78 vias.

It is built around the PCA9546AD, 74HC165D and TL1015AF160QG. Its parts include 11 resistors, 8 connectors, 4 capacitors, 3 ICs and 1 switch.

Main components

3

README

PCB/SearchHat_Rev1.0/README.md

SearchHat Rev 1.0: breakout board for the SEARCH CONT hat

A small board for hat Rev 4 in the Huey head Rev 5 (Head/Rev5/Hat). It carries an ALPS RKJXM1015004 8-direction stick switch with a centre push, and screws to four bosses printed on the back of the lower panel. The switch's body comes through the panel's 13.5 mm hole and the cap goes on its stick.

Front: faces the panelBack, mirrored: as you see it from behind
FrontBack
Size22 × 29 mm, 2 layers, 1.6 mm FR4, 2 mm corners
HolesFour 2.2 mm holes for M2 × 8 countersunk screws, 8.5 mm from the switch's centre each way (17 mm apart). Every track and both ground pours stop 2.2 mm from each hole's centre, clear of the 3.8 mm screw head
SwitchSW1, on the front, centred 11 mm from each long side and 14 mm below the top edge
ConnectorJ1, a 6-pin JST SH 1.0 mm side-entry header (SM06B-SRSS-TB), on the back at the top. The plug goes in from the top edge and the cable leaves upward
Wire padsJ2, six 2 mm-pitch plated holes (0.8 mm) along the bottom, to solder wires to instead of J1
GroundPours on both sides, joined by eight vias

The switch

The RKJXM1015004 has nine pins on two circles (9.9 and 10.7 mm) and a 1.1 mm locating peg. The footprint (SearchHat.pretty/SW_ALPS_RKJXM1015004) takes its pin centres from JLCPCB/EasyEDA's footprint for the part (LCSC C97432), which match the ALPS catalog's mounting-hole drawing: 1.0 mm holes for the pins, here with 1.6 mm pads, and a 1.2 mm unplated hole for the peg.

How it's wired inside, from the catalog's circuit diagram:

  • PUSH (three pins, joined inside) is the common of the four directions. Tilting the stick joins PUSH to A, B, C or D; a diagonal joins two neighbours, so it's an 8-way switch.
  • The centre push joins COM to PUSH.
  • GND is the metal frame.

So the board ties PUSH and GND to ground. A–D are the four directions and COM is the centre push. Seen from the front (as you look at the panel), and going by the catalog's lever drawing: A is up (EXT), C down (RETR), B left (L) and D right (R). The silkscreen on the front has an arrow marked EXT pointing up.

Pinout

SignalSwitch pinJ1 pinJ2 padHeliSR J2 pinHeliSR input
R (right)D115IN12
GNDPUSH ×3, GND2 (and the mounting tabs)31 or 10
RETR (down)C323IN10
CTR (centre push)COM458IN15 (spare; leave it off if you don't want a centre button)
EXT (up)A542IN9
L (left)B664IN11

These are the inputs the tact-switch hats used (IN9–IN12 as EXT, RETR, L, R), so the existing profiles work as they are. The centre push is new. IN15 is spare, so bind it in a profile if you want it.

The pin order isn't GND first. On J1 the signals follow the order their switch pins come round the ring, so every track on the back runs without a crossing; on J2 the same goes for the front. The silkscreen names them:

  • J1: "1" and "6" mark its ends on the back. Up the long edges, "J1: 1R 2GND 3RETR" and "J1: 4CTR 5EXT 6L". Seen from behind, pin 1 is on the right.
  • J2: each pad's name is under it, on both sides.

The lead: cut a 6-pin JST SH jumper (A06SR06SR30K152A) in half, as for the HeliSR's ports. Plug one end into J1 and splice its wires into the HeliSR's J2 loom as in the table. Check pin 1 with a meter: cut jumpers come in both "same side" and "reversed" versions. Or leave J1 off and solder five or six wires to J2.

Building it

  1. J1 first, on the back, while the board is flat. Line its pins up on the pads, then tack and solder the two mounting tabs.
  2. SW1 on the front: its peg goes in the 1.2 mm hole, so it only fits one way. Hold it flat against the board and solder its nine pins on the back. It must sit flat: it is what places the stick in the panel's hole.
  3. Check with a meter, with nothing pressed: no direction or CTR is joined to GND. Tilt each way and press the middle: each joins its own signal to GND, and each diagonal joins two.

Fitting it to the panel and the cap: hat Rev 4.

Checks

  • DRC: kicad-cli pcb drc reports no violations and nothing unconnected. The rules are the HeliSR boards' cheap-fab rules: 0.127 mm minimum track and clearance, with this board's net class at 0.3 mm tracks and 0.2 mm clearance. Two exceptions are written into SearchHat_Rev1.0.kicad_dru, each limited to the parts it names:
    • The lower M2 holes' library courtyards overlap J2's by about 0.5 mm. The screw head itself is 0.9 mm from the nearest pad.
    • The left PUSH pin gets one thermal spoke on the back, where R runs past it. A ground track on the back and the front pour join it as well.
  • Fit in the head: Head/Rev5/check_r5.py places the board, the switch, J1 and a plug with its wires against the body, the toggles and the HeliSR board: all clear. The tightest spot is the end of J1's plug, 2.2 mm below the lower box's top wall. From about 12 mm behind the panel the slot up to the upper box is open, so the wires turn straight back and go up to the HeliSR.

Not checked

Nothing is ordered or built yet. Still to check on a real part:

  • the footprint, against the switch itself: the pin centres come from two sources that agree, but neither is ALPS's own PCB drawing;
  • that A is really up, as the catalog's lever drawing reads. If a direction comes out wrong, swap its inputs in the profile, or swap the wires;
  • whether a countersunk M2 head sits well on the board's plain 2.2 mm hole. A small washer under each head is fine if it doesn't.

Files

FileWhat it is
SearchHat_Rev1.0.kicad_pcb, .kicad_pro, .kicad_druThe board, its project and its rules (KiCad 9)
SearchHat.pretty/The switch's footprint
SearchHat_Rev1.0_Gerbers.zipGerbers with Protel extensions and a job file, plus the PTH and NPTH drill files: send it to any PCB maker
SearchHat_Rev1.0_Top.png, _Bottom_mirrored.pngThe pictures above
SearchHat_Rev1.0_mech.jsonThe outline, holes and parts' places, measured from the switch's centre. Head/Rev5/Hat/hat4_r5.py reads it, so the panel's bosses always match the board
tools/gen_searchhat.pyBuilds the board from scratch: parts, hand-placed tracks, pours, silkscreen, rules and the JSON
tools/export_searchhat.pyWrites the Gerbers and the pictures (the HeliSR's export script, sized for this board)

Rebuilding

From this folder:

bash
"$LOCALAPPDATA/Programs/KiCad/9.0/bin/python.exe" tools/gen_searchhat.py .
bash
"$LOCALAPPDATA/Programs/KiCad/9.0/bin/kicad-cli.exe" pcb drc --severity-all --format json -o drc.json SearchHat_Rev1.0.kicad_pcb
bash
python tools/export_searchhat.py SearchHat_Rev1.0.kicad_pcb .

Then, in Head/Rev5/Hat, run python hat4_r5.py ../stl so the panel's bosses follow any change.

Parts

33
QtyValueFootprintReferences
82.2kR_1206_3216MetricR1, R2, R3, R4, R5, R6, R7, R8
4M3MountingHole_3.2mm_M3H1, H2, H3, H4
3100nFC_1206_3216MetricC1, C2, C4
310kR_1206_3216MetricR9, R10, R11
210k x8 bussedR_Array_SIP9RN1, RN2
274HC165SOIC-16_3.9x9.9mm_P1.27mmU1, U2
122uFC_1206_3216MetricC3
1AX1 (I2C)JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ11
1AX2 (I2C)JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ12
1AX3 (I2C)JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ13
1AX4 (I2C)JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_VerticalJ14
1Inputs 1-8JST_SH_BM10B-SRSS-TB_1x10-1MP_P1.00mm_VerticalJ1
1Inputs 9-16JST_SH_BM10B-SRSS-TB_1x10-1MP_P1.00mm_VerticalJ2
1PCA9546ASOIC-16_3.9x9.9mm_P1.27mmU3
1Pro Micro pins 1-12PinSocket_1x12_P2.54mm_VerticalJ7
1Pro Micro pins 13-24PinSocket_1x12_P2.54mm_VerticalJ8
1TL1015AF160QGSW_TL1015AF160QGSW1

More from genbean/UH1-Collective

2
  • 2 layers39.3 × 33.6 mmHeliSR Rev3.0, the printed circuit board in 3D

    HeliSR Rev3.0

    genbean/UH1-Collective

    A small board for hat Rev 4 in the Huey head Rev 5 (Head/Rev5/Hat). It carries an ALPS RKJXM1015004 8-direction stick switch with a centre push, and screws to four bosses printed on the back of the lower panel.

    24 partsGPL-3.0
  • 2 layers22 × 29 mmSearchHat Rev1.0, the printed circuit board in 3D

    SearchHat Rev1.0

    genbean/UH1-Collective

    A small board for hat Rev 4 in the Huey head Rev 5 (Head/Rev5/Hat). It carries an ALPS RKJXM1015004 8-direction stick switch with a centre push, and screws to four bosses printed on the back of the lower panel.

    7 partsGPL-3.0

Similar boards

  • 2 layers304.8 × 125.7 mmKeyboard cherry mx pcb mounted, the printed circuit board in 3D

    Keyboard cherry mx pcb mounted

    SijWoo/custom-keyboard

    Holds the electronic pcb files and src code for my custom keyboard

    218 parts2
  • 4 layers90 × 90.1 mmHaptiCAD base, the printed circuit board in 3D

    HaptiCAD base

    EmielV2002/HaptiCAD

    A PC peripheral based on the smartknob project by scottbez1.

    108 parts1Apache-2.0
  • 4 layers56 × 65.6 mmMain pcb 2025, the printed circuit board in 3D

    Main pcb 2025

    matthieuvigne/MiAM_robotics

    Generic repo for robotic projects with the former MiAM Eurobot team !

    71 parts5GPL-3.0
  • 2 layers18.5 × 21.3 mmRing base3, the printed circuit board in 3D

    Ring base3

    sophia-08/ergo-pcb

    28 parts1
  • 4 layers60 × 80 mmDigitalPCB, the printed circuit board in 3D

    DigitalPCB

    dwynnychuk/SmartSmoker

    Upgrades for Traeger to add smart capability

    111 parts
  • 4 layers84.5 × 64 mmMESC brain board, the printed circuit board in 3D

    MESC brain board

    owhite/balancing-robot-notes

    A control theory and software development repo for a balancing robot.

    59 partsMIT
  • 4 layers86.2 × 56.2 mmTeacup t41, the printed circuit board in 3D

    Teacup t41

    thingino/teacup-neo

    Universal Ingenic SoC development platform: one carrier + per-SoC interposer modules (T10 through A1, any package) on a DDR4 card edge, with an ESP32-S3 BMC for autonomous LLM-driven development.

    123 parts1GPL-3.0

Questions

How big is the HeliSR Rev4.0 PCB?

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

What parts does the HeliSR Rev4.0 use?

33 parts, built around the PCA9546AD, 74HC165D and TL1015AF160QG. 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 HeliSR Rev4.0 KiCad files?

From the genbean/UH1-Collective repository on GitHub, at the commit this page was made from: the board is PCB/HeliSR_Rev4.0/HeliSR_Rev4.0.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the HeliSR Rev4.0 design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).