Non-hacking-related, useful tools for Cardputer ADV written in no_std Rust.
Find a file
2026-01-25 23:38:44 +01:00
.cargo feat: add input, event system, tasks and move to defmt 2026-01-23 23:44:41 +01:00
.vscode feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00
.zed feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00
src fix: update readme and remove task startup logs 2026-01-25 23:38:44 +01:00
.clippy.toml feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00
.gitignore feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00
build.rs feat: add input, event system, tasks and move to defmt 2026-01-23 23:44:41 +01:00
Cargo.lock feat: add input, event system, tasks and move to defmt 2026-01-23 23:44:41 +01:00
Cargo.toml feat: add input, event system, tasks and move to defmt 2026-01-23 23:44:41 +01:00
LICENSE feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00
README.md fix: update readme and remove task startup logs 2026-01-25 23:38:44 +01:00
rust-toolchain.toml feat: move av-firmware to Embassy TODO: Prepare tasks for input, 2026-01-20 23:21:40 +01:00

Svhesta

A lightweight collection of utilities for Cardputer ADV users who are not interested in hacking. Svhesta aims to make the Cardputer ADV into a useful tool for end-users.

Warning

This firmware is currently a WORK IN PROGRESS.
Since I'm using Rust, I can't use M5Unified like you would with C++ and Arduino or PlatformIO (or ESP-IDF); I have to make or configure drivers for every peripheral (like the Display or Keyboard).

Since I don't have a Cardputer (original or 1.1), the keyboard driver in this firmware only works on the Cardputer ADV.

The goal of Svhesta

The aim of this firmware is to be as comfortable as possible. This is why I focus on these points:

  • Small size: Fast installation via Firmware
  • Agilily: Shortcuts, simple UI and search features

Svhesta Remote

The main feature of Svhesta. It's like Ultimate Remote by geo-tp but with a relational database on the SD card instead of a bundled infrared database.

The SQLite database can be downloaded or built using IRDB2SQL on the Flipper Zero IRDB.

Note

IRDB2SQL is currently private. In the releases of the repository I'll put prebuilt SQLite DBs for Svhesta.

The repository will become public once Svhesta Remote functionality is fully planned and once SD Card drivers are implemented.

Notes and the technical side

As you already know from the little "Languages" bar on the side, this firmware is made with Rust instead of C++. To work with the ESP32 i'm using esp-hal instead of esp-idf-hal, meaning that this project uses no_std Rust.

There are 2 Cardputer crates that already configure drivers for some peripherals but they're both for esp-idf-hal and std, so I used them as reference and made my own esp-hal implementation. You can check them out in the cardputer module of this project.

For now I'm mostly just implementing drivers for the peripherals I need. This is the roadmap for implementations and drivers:

  • G0: First test with input in Embassy
  • Display
  • Cardputer ADV Keyboard
    • Cardputer (not ADV) Keyboard: Can't test
  • SD Card: Works with SPI like the display, investigate how SDs work in embedded
  • IR Emitter: Just a GPIO Output... right??? (yes but complicated)

This means that I probably won't be implementing (for now at least):

  • Audio In/Out
  • Expansions like LoRa Cap
  • Gyro

If you're curious about the name I just made it the fuck up