mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-10-09 11:16:39 +00:00
100 lines
4.0 KiB
Markdown
100 lines
4.0 KiB
Markdown
# Hardware
|
||||
|
|
|
|||
|
|
## External keyboard and joystick
|
|||
|
|
|
|||
|
|
Two optional add-ons, detected at boot; a build with them enabled works the
|
|||
|
|
same with nothing plugged in.
|
|||
|
|
|
|||
|
|
| Device | CardKB | Wired joystick |
|
|||
|
|
| ------ | :----: | :------------: |
|
|||
|
|
| Wio Tracker L1 (OLED / e-ink) | Grove connector | built 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 | — |
|
|||
|
|
|
|||
|
|
### CardKB
|
|||
|
|
|
|||
|
|
An M5Stack CardKB types straight into any text field. It sends plain
|
|||
|
|
characters, so the keyboard alphabet settings don't apply to it.
|
|||
|
|
|
|||
|
|
| Key | Does |
|
|||
|
|
| --- | ---- |
|
|||
|
|
| Arrows, Enter, Esc | Same as the joystick, Enter and Back |
|
|||
|
|
| Backspace | Deletes before the cursor |
|
|||
|
|
| **Fn+Enter** | Submits the field |
|
|||
|
|
| **Fn+letter** | Accents for that letter (Fn+A → á à ä…) |
|
|||
|
|
| **Tab** | Hold Enter (options menus) |
|
|||
|
|
| **Fn+Esc** | Locks / unlocks the screen |
|
|||
|
|
|
|||
|
|
Settings › Keyboard › **Ext. KB**: **Full** keeps the on-screen grid, so the
|
|||
|
|
CardKB and the joystick can be mixed; **Compact** hides it, the arrows move the
|
|||
|
|
text cursor and Enter submits. Compact needs no joystick at all.
|
|||
|
|
|
|||
|
|
### Wired joystick
|
|||
|
|
|
|||
|
|
Four direction contacts and a press contact (Enter), each shorted to ground
|
|||
|
|
when pressed; the firmware enables the pull-ups, so no resistors are needed.
|
|||
|
|
The board's own button becomes Back. Settings › Display › **Joystick
|
|||
|
|
rotation** turns the directions for a stick mounted sideways.
|
|||
|
|
|
|||
|
|
### Wiring on the Heltec V3 / V4
|
|||
|
|
|
|||
|
|
Neither board has a joystick or a keyboard connector, so both are soldered to
|
|||
|
|
free pins. V3 and V4 use the same pins (confirmed on a V4).
|
|||
|
|
|
|||
|
|
| Function | GPIO |
|
|||
|
|
| -------- | :--: |
|
|||
|
|
| CardKB SDA / SCL | 3 / 4 (second I2C bus, not the display's) |
|
|||
|
|
| Joystick up / down / left / right | 23 / 6 / 47 / 48 |
|
|||
|
|
| Joystick press (Enter) | 33 |
|
|||
|
|
| Back | 0 (the PRG button, nothing to wire) |
|
|||
|
|
|
|||
|
|
The pins are set in [`solo/heltec_v3/platformio.ini`](../../solo/heltec_v3/platformio.ini)
|
|||
|
|
and [`solo/heltec_v4/platformio.ini`](../../solo/heltec_v4/platformio.ini).
|
|||
|
|
For a CardKB-only build, comment out the joystick block there and use
|
|||
|
|
Ext. KB = Compact.
|
|||
|
|
|
|||
|
|
### Built-in keyboards
|
|||
|
|
|
|||
|
|
The Cardputer ADV has a QWERTY keyboard, the T-Echo Lite a T9 keypad on its
|
|||
|
|
KeyShield add-on (without it the board has no usable input). Their keymaps
|
|||
|
|
are in each board's driver under `variants/`; they don't follow the CardKB's
|
|||
|
|
Fn shortcuts.
|
|||
|
|
|
|||
|
|
## E-ink
|
|||
|
|
|
|||
|
|
The e-ink Wio Tracker L1 (250 × 122) has a few settings of its own in
|
|||
|
|
Settings › Display:
|
|||
|
|
|
|||
|
|
- **Rotation**: landscape or portrait, applied at once; every screen reflows.
|
|||
|
|
- **Joystick rotation**, independent of the display's.
|
|||
|
|
- **Full refresh**: how many partial updates between full ones, against
|
|||
|
|
ghosting.
|
|||
|
|
|
|||
|
|
Clock seconds are hidden by default, and live timers refresh coarsely, to
|
|||
|
|
spare the panel.
|
|||
|
|
|
|||
|
|
## Wio Tracker L2
|
|||
|
|
|
|||
|
|
- **Buttons**: the top one turns the screen off and on; the side one goes
|
|||
|
|
home, and held and let go mutes the sound. Side + top takes a screenshot.
|
|||
|
|
Holding the side button in the first seconds after power-on starts the CLI
|
|||
|
|
rescue on USB serial.
|
|||
|
|
- **SD card**: holds the message history, maps, GPX trails and live map tiles.
|
|||
|
|
Settings › Storage shows what takes the space, how many messages each
|
|||
|
|
conversation keeps, and deletes the history.
|
|||
|
|
- **USB drive**: plugged into a computer, the device asks whether to only
|
|||
|
|
charge or to lend the computer the SD card. While lent, the device can't use
|
|||
|
|
the card; eject it on the computer and the device restarts. With a screen
|
|||
|
|
PIN set, it doesn't ask until the screen is unlocked.
|
|||
|
|
- **WiFi**: used only for map downloads, live tiles and updates, and off the
|
|||
|
|
rest of the time. Settings › WiFi saves several networks and joins the
|
|||
|
|
strongest; the WiFi switch in Settings forbids it entirely.
|
|||
|
|
|
|||
|
|
## Build flags
|
|||
|
|
|
|||
|
|
Extra hardware (a buzzer, a vibration motor, a Hall sensor for a magnetic
|
|||
|
|
cover, GPIO, an external PA) is enabled with build flags in your own
|
|||
|
|
`solo/<board>/platformio.ini`; see [Build flags](./developer/build-flags.md).
|