Skip to content

Releases: TurtlPass/turtlpass-firmware-arduino

tp-firmware-v3.1.0

06 Nov 04:48
b0c30a7

Choose a tag to compare

🐒 TurtlPass Firmware v3.1.0 β€” Universal LED Framework & 130-Board Support

πŸš€ Overview

TurtlPass v3.1.0 delivers a major upgrade to the embedded LED system with a fully modular driver architecture and broad hardware compatibility.
This release unifies LED control across all supported RP2040 and RP2350 boards β€” from the Pico family to custom carrier designs β€” while maintaining smooth animations, low power usage, and easy extensibility.


✨ New in v3.1.0

🧩 Complete LED Driver Suite

TurtlPass now includes five fully implemented and interchangeable LED drivers:

Driver Purpose
AnalogLedDriver Basic single-pin brightness control
Cyw43LedDriver Onboard Wi-Fi status LED
Rgb3PinLedDriver Standard 3-pin RGB LED via PWM
FastLedDriver Addressable LED strip (WS2812/NeoPixel)
NullLedDriver No-op driver for headless / non-LED devices

Each driver conforms to the unified ILedDriver interface, ensuring drop-in replacement and consistent behavior across hardware variants.


πŸ’‘ Universal LED Manager

  • Centralized control via the updated LedManager class.

  • Unified color table shared by all drivers β€” nine vivid presets (Green, Yellow, Red, Blue, White, Violet, Orange, Aqua, Pink).

  • Intelligent brightness mapping for smoother fades and realistic pulsing.

  • Modular state machine supporting:

    • LED_ON
    • LED_OFF
    • LED_BLINKING
    • LED_PULSING
    • LED_FADE_OUT_ONCE
    • LED_FADE_OUT_LOOP

βš™οΈ Architecture & Refactor Highlights

  • Separation of Concerns:
    LedManager handles logic; each driver handles hardware.
  • Removed Duplication:
    Color constants now exist only in LedManager.
  • Refactored Brightness Handling:
    Exponential mapping and unified PWM scaling yield smoother transitions.
  • Simplified Integration:
    Drivers auto-register via the shared interface for easy runtime selection.

🧠 RP2040 / RP2350 Board Support

Full validation and LED compatibility for 130 boards, including:

  • Raspberry Pi Pico, Pico W, Pico 2, Pico 2 W
  • Adafruit Feather RP2040 / ItsyBitsy / QT Py
  • Seeed XIAO RP2040 / W
  • SparkFun Thing Plus RP2040
  • Waveshare RP2040 series
  • Pimoroni PicoSystem / Tiny2040 / Galactic Unicorn / Plasma2040
  • Custom boards built on the RP2350 MCU
  • and many more community variants

Boards are now auto-detected, selecting the correct LED driver at runtime.


🧰 Developer Notes

  • New API Contract:
    All drivers must implement:

    void begin();
    void setColor(uint8_t r, uint8_t g, uint8_t b);
    void setBrightness(uint8_t brightness);
    void show();
  • Optional Interface Extension:
    Drivers may optionally provide board-specific setup (e.g., Wi-Fi LED binding for Cyw43LedDriver).

  • Native Testing:

    • Native unit tests validate all LED states without hardware, ensuring correct timing, color, and brightness behavior.
    • Contract testing verifies full compliance of all ILedDriver implementations.

tp-firmware-v3.0.0

02 Nov 04:47
2cfc89c

Choose a tag to compare

🐒 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.

tp-firmware-v2.1.0

07 Apr 02:06

Choose a tag to compare

🐒 TurtlPass Firmware v2.1.0

We're thrilled to unveil TurtlPass 2.1.0, packed with enhancements, bug fixes, and improvements to elevate your experience. Here's what's new:

Features:

  • KDF Symbol Support: Password derivation with symbols is now possible using the \[HASH] command.
  • EEPROM Factory Reset on First Run: Integration for client apps has been made effortless with the Factory Reset feature.
  • Base62 and Base94 Integration: Integration of Base62 and Base94 libraries for enhanced functionality and compatibility.

Bug Fixes:

  • Persistence of 2FA Secrets: Ensure your 2FA secrets persist after device reboot with the EEPROM commit fix.

Breaking Changes:

  • KDF Refactor: Please note that there are breaking changes to the Key Derivation Function (KDF) in this release. Ensure compatibility by reviewing your implementations.

Improvements:

  • Fallback Mechanism: TurtlPass seamlessly falls back to the BOOTSEL button when no touch sensor pin is defined, improving user experience.
  • EEPROM and Encryption Decoupling: Enhance compatibility and security by decoupling encryption from EEPROM.
  • 2FA Secret Deletion: Enhance security and management with added support for deleting all 2FA secrets from EEPROM using the * command.
  • Dependency Optimization: Improve performance and reduce overhead by removing no longer used AES-256 and Mbed-TLS dependencies.

Documentation:

  • README Update: The README has been updated to reflect the latest changes and improvements.

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.

tp-firmware-v2.0.0

11 Mar 14:12

Choose a tag to compare

🐒 TurtlPass Firmware v2.0.0

Get ready to upgrade your password game with the second major release of TurtlPass Firmware, version 2.0.0!

We're thrilled to introduce several new features and improvements designed to enhance your password security experience. Here's what's new in this release:

  • README Update: We've refreshed the README with the latest information and instructions to ensure a smooth setup process for all users.
  • 1-Click Setup Script: Introducing the 1-click-setup.sh bash script, making it easier than ever to install arduino-cli and set up your environment quickly.
  • Touch Sensor Support: Now, TurtlPass Firmware includes support for the Touch Sensor TTP-223, enhancing user interaction.
  • File Encryption: Meet EncryptionManager, designed to handle byte encryption using the ChaCha20 algorithm, ensuring your bytes remains secure.
  • OTP Manager: OTP keys are stored with AES-256 encryption in the virtual EEPROM.
  • OTP Code Generation: With the new OtpCode class, generating OTP codes is now simpler and more efficient, streamlining your authentication process.
  • EEPROMMate Library: Introducing the EEPROMMate library, allowing seamless storage and retrieval of OTP shared secrets from the virtual EEPROM, enhancing data management capabilities.
  • LedManager Refactor: LedState has been refactored into LedManager, providing improved LED state management and adding support for new LED states, offering enhanced visual feedback.
  • Increased Seed/Led Color Options: Now, TurtlPass Firmware offers nine different seed/LED color combinations, up from six in the previous version. Additionally, the names of the colors have been updated for clarity and consistency.
  • KDF Refactor (Breaking Changes): Please note that there are breaking changes to the Key Derivation Function (KDF) in this release.

Upgrade to TurtlPass Firmware v2.0.0 today and take your password security to the next level. We're committed to providing you with the ultimate password solution and look forward to your feedback.

Thank you for choosing TurtlPass. Stay secure, stay protected.

tp-firmware-v1.1.0

03 Feb 08:14

Choose a tag to compare

🐒 TurtlPass Firmware v1.1.0

TurtlPass Firmware version 1.1.0 is now available for download! This update includes the following:

You can now switch the seed on the board by pressing the BOOTSEL button. This button cycles through different predefined colors, each representing a unique seed.

  1. Green (🟒) is the default seed
  2. Yellow (🟑)
  3. Red (πŸ”΄)
  4. Blue (πŸ”΅)
  5. White (βšͺ)
  6. Magenta (🟣)

Upgrade your online security game with TurtlPass. We hope you continue to enjoy our product and look forward to hearing your feedback and bringing you even more exciting features and improvements in the future. Thank you for choosing the ultimate password solution.

tp-firmware-v1.0.0

02 Jan 05:25

Choose a tag to compare

🐒 TurtlPass Firmware v1.0.0

Get ready to upgrade your password game with the first major release of TurtlPass Firmware, version 1.0.0!

With our simple and secure password generator, you can easily create unique passwords using our deterministic key derivation function (HKDF) as specified in RFC 5869. And the best part? TurtlPass Firmware does all the hard work for you with these awesome features:

  • Generate rock-solid passwords that are 100 characters long and include a combination of lowercase and uppercase letters, as well as numbers
  • Extra security with a seed stored in flash memory
  • No more typing - TurtlPass Firmware automatically types the password for you
  • Extra peace of mind with password memory erase after use
  • Easy integration into your existing projects with USB serial port connectivity

This is just the beginning - we can't wait to hear your feedback and bring you even more exciting features and improvements in the future. Thank you for choosing TurtlPass Firmware and upgrading your password security game.