Simpson: a release build, its schematic and keypad in the docs

The env is Simpson_companion_solo_dual, the suffix the release workflow
builds, and keeps the variant's build_unflags (they were overridden, so the
GPS pins were defined twice and the sensor drivers came back). Hardware
gets a Simpson section with sim1988son's schematic and the keypad's modes;
README lists the board.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-10-16 00:05:16 +02:00
co-authored by Claude Opus 5.5
parent 4b0780208f
commit 31b8c3fbb0
5 changed files with 9552 additions and 5 deletions
+3 -2
View File
@@ -44,10 +44,11 @@
| M5Stack Cardputer ADV *(experimental)* | ESP32-S3 | ST7789 TFT 240 × 135 | `solo-<version>-M5Stack-Cardputer-ADV-merged.bin` |
| LilyGO T-Echo Lite + KeyShield *(experimental)* | nRF52840 | GxEPD2 250 × 122 | `solo-<version>-LilyGo-T-Echo-Lite-keyshield.uf2` |
| ProMicro *(experimental)* | nRF52840 | SSD1306 128 × 64 | `solo-<version>-ProMicro.uf2` |
| Simpson (DIY, [schematic](./docs/solo/hardware.md#simpson)) *(experimental)* | nRF52840 | SH1106 128 × 64 | `solo-<version>-Simpson.uf2` |
Firmware files are on the [releases page](https://github.com/MarekZegare4/MeshCore-Solo/releases). Every binary serves the companion app over Bluetooth and USB serial at the same time.
Heltec V3/V4 need [a keyboard or joystick wired up](./docs/solo/hardware.md#wiring-on-the-heltec-v3--v4); ProMicro needs a CardKB; the T-Echo Lite needs the KeyShield. The rest work out of the box.
Heltec V3/V4 need [a keyboard or joystick wired up](./docs/solo/hardware.md#wiring-on-the-heltec-v3--v4); ProMicro needs a CardKB; the T-Echo Lite needs the KeyShield; Simpson has its own keypad. The rest work out of the box.
---
@@ -91,6 +92,6 @@ Questions and feedback: the [Solo firmware thread](https://discord.com/channels/
## Contributors
Big thanks to [vanous](https://github.com/vanous), [marczykm](https://github.com/marczykm), [tchellow](https://github.com/tchellow), [3urobeat](https://github.com/3urobeat) and [pmow](https://github.com/pmow).
Big thanks to [vanous](https://github.com/vanous), [marczykm](https://github.com/marczykm), [tchellow](https://github.com/tchellow), [3urobeat](https://github.com/3urobeat), [pmow](https://github.com/pmow) and [sim1988son](https://github.com/sim1988son).
Built on upstream [MeshCore](https://github.com/meshcore-dev/MeshCore) and its [community](https://github.com/meshcore-dev/MeshCore/graphs/contributors).
+41 -1
View File
@@ -11,7 +11,7 @@ same with nothing plugged in.
| GAT562 30S Mesh Kit | — | built in |
| Heltec V3 / V4 | soldered (below) | soldered (below) |
| ProMicro | on the main I2C bus (required: it has no buttons) | — |
| Cardputer ADV, T-Echo Lite + KeyShield | built-in keyboard instead | — |
| Cardputer ADV, T-Echo Lite + KeyShield, Simpson | built-in keyboard instead | — |
### CardKB
@@ -108,6 +108,46 @@ Settings › Display has a few settings of its own:
The panel refreshes only when what it shows changes. Times are shown to the
minute (no seconds counting up), and clock seconds are hidden by default.
## Simpson
A DIY board by [sim1988son](https://github.com/sim1988son), an extended
FakeTec: a ProMicro nRF52840 with a RA-01S (SX1262) radio, an ATGM336H GPS,
a 1.3" SH1106 OLED, a 4×4 keypad on a PCF8574 I2C expander (address 0x20),
a buzzer and a vibration motor. The GPS, the buzzer and the motor are each
switched by a MOSFET.
[![Simpson schematic](./hardware/simpson-schematic.png)](./hardware/simpson-schematic.pdf)
The schematic as a PDF: [simpson-schematic.pdf](./hardware/simpson-schematic.pdf).
The build is `solo-<version>-Simpson.uf2`; pins are in
[`variants/simpson`](../../variants/simpson).
### The keypad
**Fn** steps through four modes, shown in the corner of a text field and as
an alert: **Ctl** (navigation), **abc**, **ABC** and **123**. Bluetooth, GPS
and the brightness keys do the same in every mode.
Ctl:
| | | | |
| :-: | :-: | :-: | :-: |
| Back | Up | — | Bluetooth page |
| Left | Enter | Right | Brightness + |
| Symbols | Down | — | Brightness − |
| Messages | — | **Fn** | Status page |
abc / ABC (T9: pressing a key again cycles its letters) and 123:
| | | | |
| :-: | :-: | :-: | :-: |
| `.,?!` / 1 | ABC / 2 | DEF / 3 | Bluetooth page |
| GHI / 4 | JKL / 5 | MNO / 6 | Brightness + |
| PQRS / 7 | TUV / 8 | WXYZ / 9 | Brightness − |
| Backspace | Space / 0 | **Fn** | Status page |
Symbols opens the keyboard's symbols page while a text field is open.
## Wio Tracker L2
- **Buttons**: the top one turns the screen off and on; the side one goes
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 338 KiB

+6 -2
View File
@@ -1,8 +1,12 @@
[env:Simpson_companion_solo]
; Solo build for Simpson, sim1988son's DIY board: a ProMicro nRF52840 with
; a RA-01S radio, an ATGM336H GPS, a 1.3" SH1106 OLED and a 4x4 keypad on a
; PCF8574 (see docs/solo/hardware.md#simpson and its schematic there).
; The _solo_dual suffix is what the release workflow builds.
[env:Simpson_companion_solo_dual]
extends = Simpson
board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld
board_upload.maximum_size = 712704
build_unflags = -Ofast -D OFFLINE_QUEUE_SIZE=256
build_unflags = ${Simpson.build_unflags} -Ofast -D OFFLINE_QUEUE_SIZE=256
build_flags = ${Simpson.build_flags}
-I examples/companion_radio/ui-new
-D MAX_CONTACTS=350