Skip to content

tp-firmware-v3.0.0

Choose a tag to compare

@ryanamaral ryanamaral released this 02 Nov 04:47
· 2 commits to master since this release
2cfc89c

🐢 TurtlPass Firmware v3.0.0

🚀 Overview

This release marks a major architectural overhaul of TurtlPass, focusing on runtime flexibility, security improvements, and a modernized development workflow.
Version 3.0.0 simplifies the firmware by removing legacy hardware encryption and 2FA features in favor of a cleaner, more modular foundation.


✨ New Features

🔐 Runtime Seed Loading

  • Seeds are now loaded at runtime instead of compile time.
  • Each seed is encrypted in flash/EEPROM using the board’s unique ID.
  • Enables flashing pre-compiled binaries across devices without recompilation.

🔗 Protocol Buffers Communication

  • Introduced Protocol Buffers for communication with the host system.
  • Provides efficient, structured data serialization.
  • Simplifies integration with external systems.
  • New command to retrieve device info (including board name).

⌨️ HID Keyboard with TinyUSB

  • Firmware now uses the TinyUSB stack for HID keyboard emulation.
  • Improved performance with faster typing response times.

⚙️ Migration to PlatformIO

  • Entire project migrated from Arduino IDE to PlatformIO (VSCode).
  • Enables simpler compilation from source, better dependency management, and CI/CD integration.

🧪 Testing & Quality

  • Added Native tests and Embedded tests (on-device).

  • Coverage includes:

    • Storage / EEPROM
    • Seed Manager
    • Encryption
    • KDF

🧩 Additional Improvements

  • Enhanced seed initialization and retrieval routines.
  • Added per-slot seed encryption and password generation support.

❌ Removed Features

To streamline the codebase and improve maintainability, several legacy features were deprecated in this release:

Hardware 2FA Manager

  • Removed one-time password (OTP) generation on the device.
  • Removed automatic OTP typing functionality.
  • Removed storage of shared secrets encrypted with ChaCha20 in EEPROM.

Hardware Encryption

  • Removed on-device file encryption using the ChaCha20 algorithm.

🔧 Developer Notes

  • Flash pre-compiled binaries to avoid per-device compilation.
  • Board-unique ID encryption ensures secure per-device seed handling.
  • New architecture paves the way for easier host integration and modular extensions.

Thank you for choosing TurtlPass! We're committed to providing you with the best possible experience, and we value your feedback. If you encounter any issues or have suggestions for future updates, please let us know.