Skip to content

About

Official Polyend Tracker Community Editon for all Polyend Tracker devices.

Resources

Contributing

Stars

237 stars

Watchers

10 watching

Forks

Repository files navigation

Polyend Tracker Community Edition (CE)

Welcome to the Polyend Tracker Community Edition repository!

Built directly from the original Polyend firmware source code, Tracker CE opens up the Polyend Tracker platform to musicians, sound designers, and developers around the world. Whether you are here to flash the latest Community Edition firmware, want to build your own idea on the Tracker, design custom themes and fonts, write Sample Editor plugins, or build new synthesizer engines, we are excited to have you here.

This unified codebase powers all three hardware instruments in the Tracker family:

  • Original Polyend Tracker (NXP Kinetis MK66FX1M0, Cortex-M4F @ 180 MHz)
  • Polyend Tracker+ & Tracker Mini (NXP i.MX RT1051/RT1064, Cortex-M7 @ 600 MHz)

What's New:

See CHANGELOG.md for the full list of new features and improvements.

Notice: Official Support, Warranty & Hardware Disclaimer

A Quick Note Before Flashing or Modifying Firmware

Thanks to the Tracker's isolated bootloader and hardware emergency recovery button (see Flashing on Hardware & Emergency Recovery), experimenting with Community Edition builds is very safe. Even if a custom build fails to boot, you can easily re-flash a stable .ptf image from your microSD card. That said, we still need to include the standard legal disclaimer just in case:

  • Provided "AS IS" Without Support Obligation: While the foundation of this repository was originally developed and released by Polyend, the Polyend Tracker Community Edition (CE) firmware, source code, and any community-developed modifications or plugins are provided "AS IS", without warranty of any kind, express or implied. Polyend has no obligation to provide official technical support, maintenance, bug fixes, or customer service for Community Edition firmware or custom builds.
  • Use at Your Own Risk: Flashing, modifying, or running custom firmware is done at your own discretion and risk. Polyend is not liable for any data loss, project corruption, malfunction, or hardware damage (including "bricking" a device or issues caused by code modifications) arising from the use of this software.
  • Out-of-Warranty Repairs Available: In the unlikely event that something ever goes wrong with your hardware while using custom firmware, it is not covered under standard warranty. However, Polyend is always happy to help get your instrument back up and running through its official out-of-warranty repair service (standard service, parts, and shipping fees apply. See How to Contact Polyend Customer Support).

Repository Structure

.
├── Makefile                # Unified top-level build & version management
├── version.mk              # Centralized version & build number configuration
├── CHANGELOG.md            # Release history & feature highlights
├── CONTRIBUTING.md         # Contribution rules & hardware testing workflow
├── LICENSE                 # PolyForm Noncommercial 1.0.0 (+ Music Use & MIT for .ptfx SDK)
├── NOTICE.md               # Third-party open-source attributions
├── core/                   # Shared Tracker application, audio engine, UI & open synth engines
├── platforms/
│   ├── mk66/               # Original Tracker (Kinetis MK66) HAL, drivers & linker scripts
│   └── imx/                # Tracker+ & Tracker Mini (i.MX RT1051) HAL, drivers & linker scripts
├── synth/
│   ├── include/PolySynth/  # PolySynth public headers & Open Synth SDK (synth/include/PolySynth/sdk/)
│   └── lib/                # Precompiled libPolySynth.a & libPolyDSP.a + LICENSE-PROPRIETARY.txt
├── util/                   # Shared C++ utility headers & third-party header libraries (ETL, magic_enum)
├── editor-fx-sdk/          # .ptfx Sample Editor plugin SDK, builder & effects/ sources
└── docs/                   # User guides, SDK tutorials & architecture documentation

Guiding Principles of the Community Edition Firmware

This repository prioritizes workflow continuity: our aim is to respect existing muscle memory, introduce features, optimizations and improvements that fit the original vision of the device, while fixing bugs along the way.

If you have ideas for major workflow adjustments or structural changes, please open a GitHub Discussion or a topic on the Polyend Backstage Forum first, so we can align on direction together with the community.

For radical experiments or reimagined interfaces, we actively encourage community forks!


Contributing

We welcome community contributions! ❤️

From bug fixes and workflow improvements to new open-source synth engines and .ptfx Sample Editor plugins. Please read CONTRIBUTING.md for our project philosophy, pull request rules, hardware testing workflow, and technical checklist before opening a Pull Request.


Building Firmware

1. Prerequisites

2. Build Commands

From the repository root:

# Build all three devices (Original Tracker, Tracker+, Tracker Mini)
make all

# Or build a single target:
make original   # -> build/PolyendTracker_CE_1.0.0.ptf
make plus       # -> build/TrackerPlus_CE_1.0.0.ptf
make mini       # -> build/TrackerMini_CE_1.0.0.ptf

# Build reference .ptfx Sample Editor effects into editor-fx-sdk/build/Effects/:
make ptfx

# Clean all build directories:
make clean

3. Version Management (version.mk)

All firmware version numbers are defined in version.mk. The Build identifier displayed on the hardware under Config > Firmware > Build is automatically populated from the short Git commit hash (git rev-parse --short=7 HEAD):

# Show current version, Git build hash & output filenames
make version

# Increment patch version (e.g. 1.0.0 -> 1.0.1)
make bump-patch TARGET=all        # or TARGET=original | TARGET=plus | TARGET=mini

# Increment minor version (e.g. 1.0.x -> 1.1.0)
make bump-minor TARGET=all        # or TARGET=original | TARGET=plus | TARGET=mini

4. Flashing on Hardware & Emergency Recovery

  1. Copy the generated .ptf file from build/ (PolyendTracker_*.ptf, TrackerPlus_*.ptf, or TrackerMini_*.ptf) to the /Firmware/ folder on your Tracker's microSD card.
    • Note: Keep .ptf filenames at 31 characters or fewer so the Original Tracker's 32-byte /Firmware/_fwinfo bootloader buffer remains null-terminated.
  2. On the device, open Config > Firmware > Firmware update, select the .ptf file, and confirm.

Bootloader Resilience & Emergency Firmware Recovery:

  • The Polyend Tracker bootloader is isolated from the application firmware:
    • On the Original Tracker (MK66), the bootloader runs on a separate dedicated microcontroller (kBootloaderTrig).
    • On Tracker+ and Tracker Mini (IMX), the bootloader resides in a protected region at the bottom of QSPI Flash (0x60000000–0x6002FFFF), while .ptf application builds are linked starting at 0x60030000 (do not modify the flash ORIGIN address in the linker scripts).
  • Emergency Recovery: If a custom firmware build ever hangs or fails to boot into the UI, you can always recover your device:
    1. Place a known-good, stable .ptf firmware file for your device inside the /Firmware/ folder on your microSD card (ideally as the only .ptf file in /Firmware/).
    2. Insert the microSD card into your Tracker and power it on.
    3. Use a paperclip or SIM-eject pin to press the recessed hardware Reset / Emergency Bootloader pinhole button (located on the bottom of the Original Tracker / Tracker+, or next to the USB-C port on Tracker Mini). The hardware bootloader will automatically pick up the .ptf file from /Firmware/ and flash it.

Documentation & Developer Guides

Full user and developer documentation is available in docs/ and on the repository Wiki:


Polyend Tracker Open-Source Ecosystem

This repository is part of a growing open-source ecosystem around the Polyend Tracker family:


License

  • Firmware Source Code, Headers, Open Synth SDK (synth/include/), and Documentation (docs/): Licensed under the PolyForm Noncommercial License 1.0.0 with Polyend Additional Permissions (see LICENSE).

    • Musicians & Creators: Using the firmware for commercial music production, albums, paid live performances/gigs, sample packs, and monetized streaming/YouTube content is expressly permitted.
    • No Selling of Firmware or Competing Products: Selling the firmware or derivative software, or embedding any part of the codebase into competing commercial hardware or software products, is prohibited.
  • .ptfx Sample Editor FX SDK (editor-fx-sdk/): Licensed under the MIT License (see Part 3 of LICENSE). Developers may freely build, distribute, and sell .ptfx plugins.

  • Precompiled Synth & DSP Libraries (synth/lib/libPolySynth.a, synth/lib/libPolyDSP.a): Provided under the Polyend Precompiled Synthesizer & DSP Library License for building firmware targeting authentic Polyend hardware.

  • Third-Party Components: See NOTICE.md.

About

Official Polyend Tracker Community Editon for all Polyend Tracker devices.

Resources

Contributing

Stars

237 stars

Watchers

10 watching

Forks

Releases

Contributors

Languages