Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
O

OpenPineBuds

> 编程语言
Open source

Community maintained firmware for PineBuds Pro

197 stars0 likes0 views
WebsiteGitHub

About

Community maintained firmware for PineBuds Pro

PineBuds SDK

This is just the SDK from the wiki (so far), with dockerfile setup to make building easier, and my reverse engineered bestool integrated. The docker image will build bestool for you first, then drop you into the dev container for building and flashing the buds.

NOTE: Currently, the SDK is not licensed under an 'open source' license. We are working to resolve this issue, and will be reaching out to contributors and other parties soon. For now, consider this SDK as 'All Rights Reserved'/'shared source'.

Usage

To use this setup to build & flash your PineBuds you will need a system with docker setup at the minimum. Docker is used to (1) make this all much more reprodicible and easier to debug and (2) so that we dont mess with your host system at all. In order to program the buds from inside of the docker container; privileged mode is used. So do be a tad more careful than usual.

…

Changelist from stock open source SDK

  • Long hold (5 ish seconds) the button on the back when buds are in the case to force a device reboot (so it can be programmed)
  • Use the resistor in the buds to pick Left/Right rather than TWS master/slave pairing
  • Pressing the button on the back while in the case no longer triggers DFU mode
  • Debugging baud rate raised to 2000000 to match stock firmware
  • Fixed TWS operation such that putting either bud into the case correctly switches to the other bud
  • Working (mostly) audio controls using the touch button on the buds
  • Turned off showing up as a HID keyboard, as not sure why you would; but it stops android nagging me about a new keyboard

Current bud tap codes

Both pods active

Right Ear:

  • Single tap : Play/Pause
  • Double tap : Next track
  • Hold : Toggle ANC(Currently non functional, WIP)
  • Triple tap : Volume Up

Left Ear:

  • Single tap : Play/Pause
  • Double tap : Previous track
  • Hold : Toggle ANC(Currently non functional, WIP)
  • Triple tap : Volume Down

Single pod active

  • Single tap : Play/Pause
  • Double tap : Next track
  • Hold : Previous track
  • Triple tap : Volume Up
  • Quad tap : Volume Down

Changing audio alerts

The default audio alerts are stored in:

config/_default_cfg_src_/res/en/

If you want to change the alert to a custom sound, just replace the sound file you'd like to change (ie config/_default_cfg_src_/res/en/SOUND_POWER_ON.opus) with your own audio file with the same base name (ie config/_default_cfg_src_/res/en/SOUND_POWER_ON.mp3) and recompile with ./build.sh!

Language support

The AUDIO environment variable can be set when running the build.sh script to load sound files for languages other than the default English. For example, running AUDIO=cn ./build.sh will load sounds files from config/_default_cfg_src_/res/cn/ instead of the default en/ folder.

The current languages supported with sound files are English (en) and Chinese (cn). Other languages (or other sets of custom sounds) may be added by adding all the correct sound files into a config/_default_cfg_src_/res// directory and building with AUDIO= ./build.sh.

Blue light when connected

The firmware can be configured to either have a blinking blue light when connected or not. Build with CONNECTED_BLUE_LIGHT=1 ./build.sh to enable blinking when connected, or CONNECTED_BLUE_LIGHT=0 ./build.sh (or just the default ./build.sh) to keep the LEDs off when connected.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

C

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 18, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言