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` | | 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` | | 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` | | 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. 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 ## 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). 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 | | GAT562 30S Mesh Kit | — | built in |
| Heltec V3 / V4 | soldered (below) | soldered (below) | | Heltec V3 / V4 | soldered (below) | soldered (below) |
| ProMicro | on the main I2C bus (required: it has no buttons) | — | | 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 ### 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 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. 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 ## Wio Tracker L2
- **Buttons**: the top one turns the screen off and on; the side one goes - **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 extends = Simpson
board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld board_build.ldscript = boards/nrf52840_s140_v6_extrafs.ld
board_upload.maximum_size = 712704 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} build_flags = ${Simpson.build_flags}
-I examples/companion_radio/ui-new -I examples/companion_radio/ui-new
-D MAX_CONTACTS=350 -D MAX_CONTACTS=350