
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.

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.
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.
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 panel | Back, mirrored: as you see it from behind |
|---|---|
![]() | ![]() |
| Size | 22 × 29 mm, 2 layers, 1.6 mm FR4, 2 mm corners |
| Holes | Four 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 |
| Switch | SW1, on the front, centred 11 mm from each long side and 14 mm below the top edge |
| Connector | J1, 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 pads | J2, six 2 mm-pitch plated holes (0.8 mm) along the bottom, to solder wires to instead of J1 |
| Ground | Pours on both sides, joined by eight vias |
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:
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.
| Signal | Switch pin | J1 pin | J2 pad | HeliSR J2 pin | HeliSR input |
|---|---|---|---|---|---|
| R (right) | D | 1 | 1 | 5 | IN12 |
| GND | PUSH ×3, GND | 2 (and the mounting tabs) | 3 | 1 or 10 | |
| RETR (down) | C | 3 | 2 | 3 | IN10 |
| CTR (centre push) | COM | 4 | 5 | 8 | IN15 (spare; leave it off if you don't want a centre button) |
| EXT (up) | A | 5 | 4 | 2 | IN9 |
| L (left) | B | 6 | 6 | 4 | IN11 |
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:
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.
Fitting it to the panel and the cap: hat Rev 4.
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:
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.Nothing is ordered or built yet. Still to check on a real part:
| File | What it is |
|---|---|
SearchHat_Rev1.0.kicad_pcb, .kicad_pro, .kicad_dru | The board, its project and its rules (KiCad 9) |
SearchHat.pretty/ | The switch's footprint |
SearchHat_Rev1.0_Gerbers.zip | Gerbers 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.png | The pictures above |
SearchHat_Rev1.0_mech.json | The 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.py | Builds the board from scratch: parts, hand-placed tracks, pours, silkscreen, rules and the JSON |
tools/export_searchhat.py | Writes the Gerbers and the pictures (the HeliSR's export script, sized for this board) |
From this folder:
"$LOCALAPPDATA/Programs/KiCad/9.0/bin/python.exe" tools/gen_searchhat.py ."$LOCALAPPDATA/Programs/KiCad/9.0/bin/kicad-cli.exe" pcb drc --severity-all --format json -o drc.json SearchHat_Rev1.0.kicad_pcbpython 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.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 2.2k | R_1206_3216Metric | R1, R2, R3, R4, R5, R6, R7, R8 |
| 4 | M3 | MountingHole_3.2mm_M3 | H1, H2, H3, H4 |
| 3 | 100nF | C_1206_3216Metric | C1, C2, C4 |
| 3 | 10k | R_1206_3216Metric | R9, R10, R11 |
| 2 | 10k x8 bussed | R_Array_SIP9 | RN1, RN2 |
| 2 | 74HC165 | SOIC-16_3.9x9.9mm_P1.27mm | U1, U2 |
| 1 | 22uF | C_1206_3216Metric | C3 |
| 1 | AX1 (I2C) | JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_Vertical | J11 |
| 1 | AX2 (I2C) | JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_Vertical | J12 |
| 1 | AX3 (I2C) | JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_Vertical | J13 |
| 1 | AX4 (I2C) | JST_SH_BM04B-SRSS-TB_1x04-1MP_P1.00mm_Vertical | J14 |
| 1 | Inputs 1-8 | JST_SH_BM10B-SRSS-TB_1x10-1MP_P1.00mm_Vertical | J1 |
| 1 | Inputs 9-16 | JST_SH_BM10B-SRSS-TB_1x10-1MP_P1.00mm_Vertical | J2 |
| 1 | PCA9546A | SOIC-16_3.9x9.9mm_P1.27mm | U3 |
| 1 | Pro Micro pins 1-12 | PinSocket_1x12_P2.54mm_Vertical | J7 |
| 1 | Pro Micro pins 13-24 | PinSocket_1x12_P2.54mm_Vertical | J8 |
| 1 | TL1015AF160QG | SW_TL1015AF160QG | SW1 |

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.

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.

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

EmielV2002/HaptiCAD
A PC peripheral based on the smartknob project by scottbez1.

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




owhite/balancing-robot-notes
A control theory and software development repo for a balancing robot.

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.
It measures 39.3 × 33.6 mm and has 2 copper layers, 1.6 mm thick.
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.
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.
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).