Introduce an editable KiCad 10 schematic and routed two-layer 82 × 80 mm layout with local provisional footprints, validation tooling, and component research. Keep the RS-232 male-module mapping and mechanical clearances explicitly provisional pending hardware verification.
8.4 KiB
Button selection: Omron B3F-1000
Verified 2026-09-20 against the Omron datasheet and installed KiCad libraries. This research covers three active-low GPIO-to-GND buttons.
Integration decision: the A0 schematic now implements B3F-1000 switches with one 2.2 kΩ, 1%, at least 0.125 W external pull-up per input. The lower-current/internal-pull-up-only discussion below records the selection rationale, not an unselected schematic option. Firmware is unchanged. Exact resistor MPN, supply tolerance/budget and stock remain release checks.
Schematic-ready recommendation
B3F-1000 fits the installed footprint mechanically and its normally-open contact topology matches the circuit. Low-current operation with internal pull-ups needs the qualification below.
For each of the three buttons:
- Value / manufacturer part number: B3F-1000, Omron; standard silver-plated contacts, ivory flat plunger, no separate ground terminal.
- Symbol:
Switch:SW_Push(normally open, two passive pins). - Explicitly assign footprint:
Button_Switch_THT:SW_TH_Tactile_Omron_B3F-100x. The installed symbol's default footprint field is empty. - Symbol pin 1 → GPIO, symbol pin 2 → GND. The switch is nonpolar; swapping these two nets is electrically equivalent.
| Function | Pin 1 net | Pin 2 net |
|---|---|---|
| Previous/back | GPIO10 | GND |
| Select/confirm | GPIO13 | GND |
| Next | GPIO14 | GND |
GPIO assignments verified in src/board_pins.h. The PCB README specifies normally-open buttons to GND with internal pull-ups. Released = high; pressed = low. No voltage source connects directly through the switch: any external pull-up goes through a resistor to 3.3 V.
Exact terminal and pad mapping
The installed footprint has four physical holes but only two distinct electrical pad numbers: 1,1,2,2, not four uniquely numbered pads. The installed SW_Push symbol has pin 1 at the left and pin 2 at the right in its default orientation; pin numbers are hidden by the symbol.
Unrotated footprint, front/top view; local coordinates in mm, positive Y downward:
6.5 mm
KiCad pad 1 (0,0) ----------- KiCad pad 1 (6.5,0)
Omron terminal 4 Omron terminal 3
NO
contact 4.5 mm
Omron terminal 2 Omron terminal 1
KiCad pad 2 (0,4.5) --------- KiCad pad 2 (6.5,4.5)
The horizontal connections above are permanent internal connections; pressing joins the two rows. Omron datasheet page 4, upper-left “Terminal Arrangement/Internal Connections (Top View)”, explicitly shows terminals 4–3 common and 2–1 common. This maps to KiCad's upper pair numbered 1 and lower pair numbered 2 when aligned as shown. Omron terminal 1 is not KiCad pad 1 in this orientation. The manufacturer's separate bottom-view numbering sketch must not be mistaken for a top view. Omron states terminal numbers are not marked on the switches. A 180° insertion swaps the two electrical sides without affecting this nonpolar circuit.
Both pads numbered 1 receive the symbol pin-1 net; both pads numbered 2 receive pin-2's net. Do not attach a four-unique-pin symbol to this footprint without an explicit remapping. Connecting GPIO and GND to two terminals within the same common pair would permanently ground the GPIO.
The footprint sets duplicate_pad_numbers_are_jumpers no; do not assume PCB routing software will treat the internal metal as a routing jumper. Route/check the duplicate-pad nets normally.
Manufacturer dimensions and ratings
Source: Omron B3F datasheet, ordering table p. 1, ratings/operating characteristics p. 3, B3F-1000 drawing p. 4. Dimensions below are mm.
| Item | Datasheet specification |
|---|---|
| Body | 6 ±0.2 × 6 ±0.2 |
| Overall height above seating plane | 4.3 ±0.2 |
| Plunger diameter | 3.5 |
| Terminal row spacing | 4.5 ±0.2 |
| Formed terminal span at hole-entry region | 6.5 ±0.5 |
| Maximum-width dimension shown across formed leads | 7.7 ±0.5 |
| Lead projection below seating plane | 3.5 |
| Lead thickness / width callouts | 0.3 / 0.7 |
| Recommended PCB hole-centre grid | 6.5 ±0.1 × 4.5 ±0.1 |
| Recommended PCB holes | Four, diameter 1 ±0.1; reference drawing for PCB thickness 1.6 |
| General dimensional tolerance | ±0.4 unless otherwise specified |
| Contact form | SPST-NO |
| Rated resistive load, standard silver version | 1–50 mA at 3–24 VDC |
| Minimum applicable load | 10 µA at 1 VDC, reference value |
| Initial contact resistance | 100 mΩ maximum |
| Bounce | 5 ms maximum |
| Operating force | 0.98 ±0.29 N (100 ±30 gf) |
| Release force | 0.2 N minimum |
| Pretravel | 0.25 +0.2/−0.1 |
| Durability for B3F-1000, 0.98 N | 1,000,000 operations minimum |
| Protection / washing | IP00 / washing not possible |
Installed footprint comparison
Inspected /usr/share/kicad/footprints/Button_Switch_THT.pretty/SW_TH_Tactile_Omron_B3F-100x.kicad_mod (file format version 20260206, generator version 10.0) and /usr/share/kicad/symbols/Switch.kicad_sym.
- Hole centres:
(0,0),(6.5,0),(0,4.5),(6.5,4.5)— match Omron's nominal PCB grid. - All four plated through-hole pads: circular copper diameter 1.7, drill 1.0, front/back copper and mask — nominal drill matches Omron's reference hole diameter. Confirm the fabricator's finished-hole tolerance when ordering.
- Fab body:
(0.25,-0.75)to(6.25,5.25), 6 × 6, matching nominal body dimensions. - Courtyard:
(-1.1,-1.1)to(7.6,5.6), 8.7 × 6.7. This is a library placement boundary, not an enclosure or finger-access clearance specification. - Footprint description specifies H4.3 mm. No physical sample fit, enclosure-height check, or independent 3D-model measurement was performed.
Low-current qualification / selection decision
Do not claim internal-pull-up operation meets the standard part's full rated-load range. At 3.3 V, pull-up resistance greater than 3.3 kΩ gives less than 1 mA contact current. For illustration only, 45 kΩ would give about 73 µA; that is not a verified resistance specification for this board's GPIOs.
Omron's 10 µA / 1 V minimum is explicitly a reference value, not an unconditional low-current reliability guarantee. B3F-1000 is a reasonable prototype choice, but internal-pull-up-only contact reliability should be qualified in the intended environment and over life.
For a conservative silver-contact design within the stated rated load, consider one external 2.2 kΩ pull-up to 3.3 V per button (about 1.5 mA while pressed); verify supply/resistor tolerances and GPIO limits before adopting. This recommendation was subsequently adopted in the A0 carrier schematic; see the integration decision above. If low current is important, the datasheet also lists B3F-1002-G with gold contacts in the same p. 4 dimensional group, rated 100 µA–50 mA at 3–24 VDC, but with a different operating force (1.76 ±0.49 N); weak internal pull-ups are not automatically within that rated range either. It has not been selected or stock-checked here.
Retain firmware debouncing; a mechanical switch is not bounce-free. The device is unsealed (IP00), and the datasheet prohibits washing.
Supply evidence
Live stock not verified; no supply assurance. On 2026-09-20 a request to the DigiKey B3F-1000 product URL returned HTTP 403 / an anti-bot challenge. No quantity, price, lead time, or lifecycle status could be established from that response. Confirm the exact MPN and available quantity with a distributor before BOM release; datasheet availability is not stock evidence.
Evidence and remaining checks
- Authoritative Omron datasheet, retrieved 2026-09-20.
- Local PDF.
- Extracted text for searching; use the PDF for drawing interpretation.
- Rendered page 4, visually checked for the internal connections and dimensions.
Before manufacturing: validate the selected pull-up strategy against supply tolerances/budget; check ERC/net assignment and PCB DRC in the actual design; confirm finished holes, enclosure/actuator access and a sample's fit/continuity; confirm procurement. This review verifies datasheet-to-library compatibility, not a completed-board electrical or mechanical test.