#5160: Bluetooth Peripherals on One Android Phone

How many Bluetooth devices can one Android phone juggle? The seven-device limit is a stack artifact — profiles matter more.

Featuring
Listen
0:00
0:00
Episode Details
Episode ID
MWP-5342
Published
Duration
31:53
Audio
Direct link
Pipeline
V5.2
TTS Engine
chatterbox-regular
Script Writing Agent
deepseek-v4-pro

AI-Generated Content: This podcast is created using AI personas. Please verify any important information independently.

The question sounds simple: can one Android phone hold headphones, a push-to-talk button, a camera trigger, and a keyboard at the same time? The short answer is yes. The longer answer is that the number everyone quotes — seven — comes from two hard-set constants in the Android BLE stack (MAX L2CAP links and GATT max physical channels), not from a designed feature. Audio has its own separate ceiling: AOSP defines a property capping connected audio devices at five.

Android doesn't have one Bluetooth connection pool. It has a pile of profile services — A2DP for audio streaming, HFP for calls, HID Host for keyboards and buttons, GATT for most BLE peripherals, and now LE Audio arriving on top. Devices spread across different profiles don't compete for the same pipe, which is why a four-device setup works comfortably. Devices sharing a profile can conflict — two A2DP sinks mean the phone picks one to stream to.

The word "multipoint" trips people up. It's a headphone feature, not a phone feature: the headset connects to two source devices at once and switches between them. It says nothing about how many peripherals your phone can hold. On the identifier side, the Flic SDK exposes a button ID (a MAC address on Flic 1, a 32-character hex UUID on Flic 2). Flic Universal lets a button present as a standard HID keyboard, but modifier shortcuts like Ctrl+Shift+P only work on Flic 2 — confirmed by the Flic team in late 2025. Pairing is also a two-step handoff that isn't obvious.

Tasker doesn't replace the Bluetooth stack; it sits on top of it, routing events via contexts, media button triggers, and Android intents. The robust setup is a hybrid: HID-mode buttons for standard key codes, Tasker for routing logic, and realistic expectations about the 2.4 GHz radio environment when things get flaky.

Downloads

Episode Audio

Download the full episode as an MP3 file

Download MP3
Transcript (TXT)

Plain text transcript file

Transcript (PDF)

Formatted PDF with styling

#5160: Bluetooth Peripherals on One Android Phone

Corn
Daniel's been reading the Bluetooth spec again, and he's got a whole stack of peripherals he wants to glue to one phone. Headphones, a push-to-talk button for Zello, a camera trigger, and a keyboard, all connected at once, and he wants to know whether Android actually keeps that many plates spinning without dropping one.
Herman
The short answer is yes, mostly. The longer answer is that the number everyone quotes is a stack artifact, not a designed feature, and the real question isn't how many devices connect. It's which profiles they're fighting over.
Corn
He also asked whether Flic buttons and PTT triggers expose unique identifiers the way desktop hardware does, so you can bind a specific button to a specific app.
Herman
They do, and it's a MAC address on the older generation, a thirty-two character hex string on the newer one. But there's a trap in the Flic lineup that matters if you want modifier shortcuts.
Corn
And then the automation question. Is Tasker a more robust path than relying on the OS to juggle everything under the hood.
Herman
That's a false binary. Tasker sits on top of the same Bluetooth stack. It doesn't replace the connection manager, it just gives you a cleaner way to route events after the stack has already done its job.
Corn
So let's start with the mechanics Daniel asked about, because the phrase Bluetooth manager hides a lot. Android doesn't have one Bluetooth connection pool. It has a pile of profile services, each one handling a different kind of device.
Herman
Right. A2DP is the audio streaming profile, that's your headphones playing music. HFP is the hands-free profile for calls. HID Host is keyboards, mice, and buttons. GATT is the low-energy generic attribute profile, which covers most BLE peripherals. And now LE Audio is arriving as a separate thing on top of all that.
Corn
So when Daniel connects his headphones, that's A2DP. The PTT button and the keyboard are both HID. The camera trigger is probably BLE.
Herman
And that's the first thing to understand. The seven device ceiling people talk about isn't a total device count. It comes from two constants in the Android BLE stack, MAX L2CAP links and GATT max physical channels, both hard-set to seven.
Corn
So seven concurrent low-energy connections, and then the audio side has its own separate ceiling.
Herman
AOSP defines a property called persist dot bluetooth dot max connected audio devices, and its upper bound is five. So you could theoretically have five audio devices and seven BLE devices, but you'd be in a very strange place before you hit that.
Corn
And in practice, people hit walls earlier. Google's own issue tracker has a report from someone who topped out at six BLE peripherals, and the seventh just failed with error code two fifty seven.
Herman
The BLE spec itself doesn't impose that limit. It's an Android implementation detail. Which means Daniel's four devices, headphones, PTT, camera trigger, keyboard, are comfortably inside the margin. But the margin is thinner than it looks if he starts adding smartwatch, heart rate strap, stylus, the rest of it.
Corn
The other thing worth naming is that devices sharing the same profile can conflict. Two audio sinks on A2DP, and the phone has to pick one to stream to.
Herman
That's where the five audio device ceiling gets misleading. You can hold five connections, but for most phones, only one A2DP stream is active at a time. The others sit there paired and connected but silent.
Corn
So Daniel's setup works because the devices are spread across different profiles. Headphones on A2DP, keyboard and PTT on HID, camera on BLE. They're not competing for the same pipe.
Herman
And there's a nice real-world confirmation of this. Somebody on the Android Stack Exchange connected a Bluetooth speaker, an Apple mouse, and a keyboard to a Galaxy Tab 4 simultaneously. Three different profiles, no problem.
Corn
The Galaxy Tab 4 is ancient at this point. If that thing managed it, a modern phone isn't going to break a sweat.
Herman
The thing that actually trips people up is multipoint, because the word means something different from what most people assume.
Corn
Daniel mentioned multipoint support in his prompt, and I think he was using it to mean the phone holding multiple connections.
Herman
And that's the conflation. Multipoint is a headphone feature. It means the headset connects to two source devices at once, like your phone and your laptop, and you can switch audio between them. It was introduced with Bluetooth 4.0 back in twenty ten. The phone's ability to hold a bunch of peripherals is a completely separate mechanism.
Corn
So when a headphone box says multipoint, it's not saying anything about how many devices your phone can handle. It's saying these headphones can be connected to two different phones.
Herman
Google's own help page frames it exactly that way. Multipoint headphones connect to two Bluetooth devices at the same time and you select which audio source to play. It requires headphones that support two devices and Android 8 or later with Google Play Services.
Corn
Which means Daniel's everyday headphones, if they're multipoint, might already be connected to his laptop and his phone. That's not a problem for the phone. The phone just sees one A2DP connection.
Herman
But if he's using those headphones for Zello while also connected to his laptop, and a call comes in on the laptop, the headset has to decide which source wins. That's headset firmware territory, not Android.
Corn
Now the HID side. Daniel asked whether Flic buttons and PTT triggers emit unique identifiers for binding shortcuts.
Herman
The Flic SDK exposes a method called get button ID, and it returns the MAC address of the button. That's a unique per-device identifier, same idea as a vendor ID and product ID on desktop, just at the hardware address level.
Corn
And the newer Flic 2 has a different identifier.
Herman
The Flic 2 library exposes a get UUID method, and it returns a thirty-two character hex string. So depending on which generation you buy, you're binding against a MAC address or a UUID. Both are stable and unique.
Corn
That's the identifier side. But the more interesting part is that Flic buttons can present themselves as actual HID keyboards.
Herman
Flic Universal is the feature. The button stops being a proprietary BLE peripheral and becomes a standard HID device, which means it can send key commands to any platform that understands keyboards. Windows, Mac, Linux, iOS, Android.
Corn
So you can assign A to single push, B to double push, C to hold. That's the desktop-style mapping Daniel was asking about, but implemented in the button's firmware rather than the OS.
Herman
And here's the trap. Modifier-based shortcuts, control, alt, shift plus a key, are supported on Flic 2 but not on Flic 1. The Flic team confirmed this in a GitHub issue at the end of twenty twenty-five. Flic One simply doesn't have the feature.
Corn
So if Daniel buys a used Flic One to save money and wants to map control shift P to a push, he's out of luck.
Herman
And the second trap is the pairing flow. On a Pixel 8, someone reported Flic Universal keyboard mode not working at all. The fix was to press Save and Disconnect in the Flic app, then go into the phone's Bluetooth settings and pair the button as a keyboard. Press the button once to advertise.
Corn
That's a two-step pairing process that isn't obvious. The button has to be paired once as a Flic and once as a keyboard.
Herman
Which is exactly the kind of thing that makes people think Bluetooth is broken when it's actually just a confusing handoff between the proprietary app and the standard HID profile.
Corn
What about dedicated PTT buttons for Zello? Do those expose the same kind of identifier?
Herman
I couldn't find standalone documentation for a dedicated Zello PTT button, and I don't want to invent specifics. The Flic evidence is the strongest proxy. Most of these buttons either present as HID keyboards, in which case they send standard key codes, or they present as BLE peripherals with a proprietary service, in which case they have a MAC address and a GATT characteristic you can read.
Corn
So the answer to Daniel's identifier question is yes in both cases, but the mechanism differs. HID mode gives you key codes. BLE mode gives you a hardware address and a characteristic.
Herman
And the HID mode is the one that works everywhere without an SDK. If the button shows up as a keyboard, any app that accepts keyboard input can respond to it.
Corn
Which brings us to Tasker. Daniel's question was whether Tasker offers a more robust solution than trying to ensure many devices work simultaneously under the hood.
Herman
The honest answer is that Tasker doesn't replace the Bluetooth stack. It sits on top of it. If the OS can't hold a connection, Tasker can't fix that. What Tasker does well is route events after the connection exists.
Corn
So it's not an either-or. It's a layering question.
Herman
Tasker profiles are built from contexts and tasks. A context is a trigger, time, location, app launched, NFC tag, Bluetooth connect event. A task is the action that fires. The engine itself is light, about thirty megabytes of RAM and a few percent battery per day.
Corn
The Bluetooth connect trigger can filter by device, which means you can say, when this specific PTT button connects, do this thing.
Herman
And the practical route for button input is media button triggers. Pause, play, next, previous, eject. Those are standard media key codes that Tasker can intercept and map to app launches or other actions.
Corn
So a PTT button that sends a media play command could be repurposed to launch Zello, even if Zello doesn't natively understand the button.
Herman
And the deeper mechanism is intents. Tasker can send arbitrary Android intents, which is the OS-level way of telling another app to do something. That's how you route a button press to a specific app without the app needing to know anything about the button.
Corn
But the key insight is that none of this replaces the connection management. Tasker doesn't make the Bluetooth stack more robust. It makes the automation logic more flexible.
Herman
The robust answer to Daniel's question is probably a hybrid. Use HID mode buttons for app-level shortcuts, because that's a standard protocol that works everywhere. Use Tasker for the routing and automation logic on top. Don't expect either one to fix a flaky connection, because the flakiness lives deeper in the stack.
Corn
And if the connection is flaky, the fix is usually about the radio environment, not the software. Bluetooth operates in the two point four gigahertz band, same as Wi-Fi, same as microwave ovens, same as a lot of cheap wireless peripherals.
Herman
That's the part people forget. Four devices connected to one phone is easy. Four devices connected to one phone in a room with twenty Wi-Fi networks and a running microwave is a different story.
Corn
So let's talk about what actually happens when Daniel presses that PTT button. Walk me through the chain.
Herman
The button wakes up, sends a packet over BLE or classic Bluetooth, depending on how it's implemented. The phone's Bluetooth controller receives it, the stack routes it to the HID profile service or the GATT service, and then the event lands in the input pipeline. If it's a HID keyboard event, it goes through the same path as a physical keyboard key press. If it's a BLE characteristic change, it goes to whatever app has subscribed to that characteristic.
Corn
And the latency on that chain is what matters for PTT. Zello is a push-to-talk app. If there's a half-second delay between pressing the button and the app starting to transmit, that's a bad experience.
Herman
With a HID device, the latency is typically low because it's a standard input path. With a proprietary BLE service, it depends on the connection interval negotiated between the button and the phone. Some buttons use a long interval to save battery, which adds latency.
Corn
So if Daniel is shopping for a PTT button specifically for Zello, he should look for one that presents as a HID keyboard, not one that requires a companion app with a BLE service.
Herman
That's the practical recommendation. HID mode is the boring, standard, twenty-year-old protocol, and that's exactly what you want for low-latency button input.
Corn
And the camera trigger is probably the least demanding device in the stack. It sends one event, the camera fires, done. It can tolerate a lot more latency than a PTT button.
Herman
Camera triggers are almost always BLE, and they're usually fine. The connection interval can be long because nobody notices a hundred milliseconds of latency on a shutter release.
Corn
So Daniel's four devices have very different requirements. The headphones need continuous audio bandwidth. The PTT button needs low latency. The camera trigger needs almost nothing. The keyboard needs reliable key delivery.
Herman
And the profiles reflect that. A2DP reserves bandwidth for audio. HID prioritizes low latency for input. BLE is designed for low power and intermittent data. They're not competing for the same resources in the same way.
Corn
That's why the setup works. The devices are spread across profiles that were designed for their specific use case.
Herman
The thing that would break it is if Daniel added a second audio device. Two pairs of headphones, or headphones and a Bluetooth speaker, both on A2DP. Then the phone has to arbitrate.
Corn
And the arbitration isn't always graceful. Some phones just pick the most recently connected device. Some pick the one that's actively streaming. Some show a chooser.
Herman
Or you get the classic failure where audio keeps routing to the wrong device and you have to disconnect one to fix it. That's the same-profile conflict the documentation warns about.
Corn
Let's get back to the identifier question for a moment, because Daniel specifically mentioned vendor and device IDs on desktop.
Herman
Android doesn't expose a desktop-style vendor ID and product ID mapping UI to end users. The closest analogue is the HID subclass constants in the Bluetooth HID Device API. Keyboard is sixty-four, mouse is negative one twenty-eight, combo is negative sixty-four, and there are subclasses for gamepad, joystick, remote control, sensing device.
Corn
So the system does identify devices by class and subclass. It's just not surfaced in a settings menu where you can bind shortcuts.
Herman
Right. The binding happens either in the app, through something like the Flic SDK, or in Tasker, through Bluetooth connect triggers and intents. The OS knows what the device is, but it doesn't give you a friendly UI for mapping its buttons.
Corn
Which is why Tasker exists. It fills the gap between what the OS knows and what the user wants to do with that knowledge.
Herman
And Tasker's Bluetooth triggers can filter by device and device category. So you can say, when any HID device connects, do this. Or when this specific MAC address connects, do that.
Corn
The MAC address filtering is the desktop-style binding, just implemented as a trigger condition rather than a device manager entry.
Herman
And it's stable. MAC addresses don't change unless the device firmware randomizes them, which some BLE devices do for privacy. That's worth flagging. If Daniel buys a BLE button that uses random addresses, his Tasker profiles based on MAC address will break.
Corn
That's a real gotcha. The Flic buttons use a fixed address, which is why the SDK exposes it as an identifier. But some cheap BLE peripherals rotate addresses.
Herman
The fix is to use the device name or the UUID instead of the MAC address, but that depends on what the device exposes. It's another reason to buy something with a documented SDK.
Corn
The shopping advice for Daniel is fairly concrete. For the PTT button, get something that presents as HID. For the camera trigger, almost anything works. For the keyboard, any standard Bluetooth keyboard. For the headphones, multipoint is a nice-to-have but irrelevant to the multi-device question.
Herman
If he wants modifier shortcuts on a Flic, get the Flic 2, not the Flic 1. That one detail could save him from a very frustrating afternoon.
Corn
The other thing I'd add is that Daniel should test the setup incrementally. Connect the headphones first, verify audio. Add the keyboard, verify typing. Add the PTT button, verify Zello. Add the camera trigger last.
Herman
That's the boring engineering advice, but it's the right advice. Bluetooth failures are easier to diagnose when you know which device introduction caused them.
Corn
If something does break, the first thing to try is forgetting the device and re-pairing. The second thing is clearing the Bluetooth cache. The third thing is rebooting.
Herman
The nuclear option is resetting network settings, which wipes all Bluetooth pairings and Wi-Fi networks. That fixes a surprising number of problems, but it means re-pairing everything.
Corn
Which is a good reason to keep a list of what's paired and what the identifiers are, especially if Tasker profiles depend on specific MAC addresses.
Herman
Now let's talk about the seven device ceiling again, because I want to make sure Daniel isn't worried about the wrong thing. Four devices is fine. The ceiling is a BLE stack artifact, and it applies to concurrent low-energy connections, not total pairings.
Corn
The audio ceiling of five is separate. So even if Daniel added a smartwatch and a stylus, he'd be at six BLE devices, still under the seven limit, and his audio is on a different counter entirely.
Herman
The person who hit six BLE peripherals and failed on the seventh was doing something unusual. Most people never get there.
Corn
But it's worth knowing that the limit exists, and that it's not a spec limit. It's an Android implementation choice. Other operating systems have different limits.
Herman
The limit can change between Android versions and chipsets. Bluetooth 5 and 5.2 devices typically cap around seven. Bluetooth 4 and below often only manage three or four.
Corn
Daniel's modern phone is fine. But if he ever tries this on an old tablet or a cheap budget phone, the margin shrinks.
Herman
One more thing on the HID side. There's an asymmetry in the protocol that matters for PTT buttons. A HID host, which is the phone, can connect to multiple HID devices. But a HID device can only be actively connected to one HID host at a time.
Corn
The PTT button can't be simultaneously connected to the phone and the laptop. It has to pick one.
Herman
Right. If Daniel pairs the button with his phone and then tries to use it with his laptop, he has to re-pair or switch. That's different from headphones, where multipoint allows two simultaneous host connections.
Corn
That's a meaningful constraint for someone who uses Zello on both phone and desktop. The button follows one device at a time.
Herman
Some buttons have a way to switch hosts, but it's usually a manual process. Hold the button for five seconds, it enters pairing mode, connect to the other device.
Corn
The workflow matters. If Daniel's Zello use is primarily on the phone, the button stays paired to the phone and the constraint doesn't bite.
Herman
If he wants Zello on both, he might need two buttons, or he accepts the re-pairing friction.
Corn
Let's talk about what Tasker actually buys him in this setup, beyond the connection management question.
Herman
The most useful Tasker pattern for Daniel is probably a profile that triggers when the PTT button connects, and then launches Zello and puts the phone in a specific audio mode.
Corn
The button connection becomes the trigger for the whole voice workflow. Connect the button, Zello opens, volume adjusts, maybe Do Not Disturb turns on.
Herman
The disconnect trigger can reverse all of that. Button disconnects, Zello closes, settings revert. That's the kind of automation that makes a multi-device setup feel intentional rather than chaotic.
Corn
The media button route is also useful. If the PTT button sends a media play command, Tasker can intercept it and route it to Zello's push-to-talk action, even if Zello doesn't natively support the button.
Herman
That's the intent mechanism in action. Tasker receives the media button event, then sends an intent to Zello that says start transmitting. Zello doesn't need to know what button sent the event.
Corn
The same pattern works for the camera trigger. Button sends a media next command, Tasker intercepts, sends an intent to the camera app to fire the shutter.
Herman
The flexibility is the point. Once the events are in Tasker, you can route them anywhere.
Corn
But the caveat remains. If the Bluetooth stack drops the connection, Tasker never sees the event. The automation is only as reliable as the connection underneath.
Herman
Which is why the HID mode recommendation matters. HID connections are generally more stable than proprietary BLE connections, because the profile is mature and the stack prioritizes input devices.
Corn
The full answer to Daniel's question is layered. Yes, four devices work reliably. Yes, Flic buttons and PTT triggers expose unique identifiers. Yes, Tasker is useful, but as a routing layer, not a replacement for the OS connection manager.
Herman
The profile architecture is the thing that makes it all work. Different profiles for different device types, each with its own connection handling, each designed for a specific use case.
Corn
The seven device ceiling is real but not relevant to his setup. The multipoint confusion is worth clearing up. The Flic 1 versus Flic 2 modifier issue is a genuine purchasing trap.
Herman
The HID host asymmetry is the one constraint that might actually affect his workflow, if he wants the PTT button on multiple devices.
Corn
Let me ask you something. Daniel mentioned being wary of multiple simultaneous connections because he thought it would introduce problems. Is that wariness justified?
Herman
It was justified in the early days of Bluetooth. The stacks were buggy, devices didn't play well together, and simultaneous connections were flaky. But the protocol has matured enormously. Bluetooth 4 was a big step, Bluetooth 5 was another.
Corn
The phones got better too. The Bluetooth stack in a modern Android phone is not the same stack that was in a 2012 phone.
Herman
The chipset matters a lot. Qualcomm, MediaTek, and Exynos all have different Bluetooth implementations, and some are better than others at handling multiple simultaneous connections.
Corn
Daniel's wariness is a reasonable historical instinct, but the technology has caught up with the use case.
Herman
The use case itself has become mainstream. Smartwatch, headphones, car stereo, all connected to one phone simultaneously. That's a normal Tuesday for millions of people now.
Corn
The PTT button and camera trigger are just extensions of the same pattern. They're HID or BLE devices, same as a smartwatch or a fitness tracker.
Herman
The one thing that's still tricky is audio routing. If Daniel has headphones and a car stereo both connected, and he gets in the car, the phone has to decide where the audio goes.
Corn
That's the same-profile conflict again. Two A2DP devices, one active stream.
Herman
Some phones handle it gracefully with a media output picker. Some just pick the wrong one and you have to manually switch. It's the least polished part of the whole multi-device experience.
Corn
Which is ironic, because audio is the most common multi-device scenario.
Herman
It's a hard problem. The phone doesn't know you got in the car unless you tell it, or unless there's some other signal like the car's Bluetooth connecting.
Corn
Tasker can actually help there too. A profile that triggers when the car's Bluetooth connects, and routes audio to the car's A2DP sink.
Herman
That's the kind of automation that makes the whole setup feel coherent. The phone knows what's connected and can make routing decisions based on context.
Corn
Daniel's instinct to reach for Tasker is right, even if the framing of it as a more robust solution than the OS is slightly off.
Herman
Tasker is the glue. The OS is the foundation. You need both, and you need to understand which one is responsible for what.
Corn
I think that's the through-line of this whole thing. The Bluetooth stack handles connections. The profiles handle device types. The apps handle their own features. Tasker handles the routing between them.
Herman
The user handles the pairing flow, which is where most of the real friction lives.
Corn
The Flic pairing flow being a perfect example. Pair once in the app, save and disconnect, pair again as a keyboard in system settings. That's not intuitive.
Herman
It's the kind of thing that generates forum posts titled Bluetooth keyboard not working, when the actual issue is that the button was never paired as a keyboard in the first place.
Corn
For Daniel, the practical checklist is: buy a Flic 2 if you want modifier shortcuts, pair it as a keyboard in system settings, use Tasker to route the events, and don't worry about the seven device ceiling because you're not going to hit it.
Herman
If he's using a dedicated PTT button for Zello, look for one that presents as HID, because the latency is lower and the connection is more stable.
Corn
The camera trigger is the easy one. Almost anything works.
Herman
The keyboard is also easy. Standard Bluetooth keyboards are boring and reliable, which is exactly what you want.
Corn
The headphones are the one place where multipoint actually matters, but only if he wants to share them between phone and laptop.
Herman
Otherwise, any decent A2DP headset will do the job.
Corn
The answer to the original question is yes, a modern Android phone can comfortably manage all those device pairs simultaneously, and yes, the mappings work reliably, with the caveat that same-profile conflicts are the main failure mode.
Herman
The identifier question is answered. Flic buttons expose a MAC address or a UUID, and HID mode gives you standard key codes that any app can consume.
Corn
Tasker is the routing layer on top, not a replacement for the stack, but it's the right tool for making the whole thing feel like a designed workflow rather than a pile of connected gadgets.

Hilbert: Brother-in-law sold car stereos. The ones with Bluetooth. He always told customers the same thing. Pair the phone first, then the headset, then anything else. Order matters. And he wouldn't trust a button that needed an app. He said if it doesn't show up as a keyboard, it's a toy.
Corn
The pairing order point is interesting. I've seen that advice before, but I've never seen a solid technical explanation for why it matters.

Hilbert: He didn't have a technical explanation. He had a lot of returns. And the returns stopped when he started telling people the order.
Herman
It might be about how the stack assigns connection slots. The first device paired gets a stable slot, and subsequent devices have to negotiate around it.

Hilbert: He also had a bin of Flic Ones. The old kind. Sold them cheap because people kept bringing them back when the shortcuts didn't work. He said the new ones fixed it, but he'd already moved on to something else.
Corn
The Flic One modifier issue. That tracks.

Hilbert: He's not to be trusted on most things. But he knew which returns came back and which didn't.
Herman
That's the difference between spec sheet knowledge and field knowledge. The spec says HID mode works. The field says pair it in the right order and make sure it shows up as a keyboard.

Hilbert: The buttons with the app, the ones that buzz and flash, he said those were fine for cameras. Not for talking. Too much delay.
Corn
That matches the latency point. BLE with a long connection interval is fine for a shutter, terrible for push-to-talk.

Hilbert: He sold a lot of camera triggers. Never had one come back.
Herman
Because a hundred milliseconds of latency on a shutter release is invisible. The same delay on a PTT button means you cut off the first syllable every time.

Hilbert: He used to demo it with a stopwatch. Press the button, watch the phone. The good ones were under a tenth. The bad ones were half a second or more.
Corn
Under a tenth of a second is about the threshold where it feels instant. Half a second feels broken.

Hilbert: The keyboard ones were all fine. Even the cheap ones. Keyboard over Bluetooth has been solved for a long time.
Herman
HID is a mature profile. It was one of the first Bluetooth profiles to really stabilize.

Hilbert: He said if you want to know whether a button is any good, connect it and type with it. If it types, it'll do everything else.
Corn
That's a surprisingly practical test.

Hilbert: He was practical about most things. Just don't lend him money.
Herman
The pairing order thing is sticking with me. I wonder if it's about the HID host slot allocation, where the first HID device gets priority in the input pipeline.

Hilbert: He never said why. He just said pair the phone first.
Corn
It's the kind of folk wisdom that probably has a real mechanism behind it, even if the person spreading it doesn't know what the mechanism is.

Hilbert: He also said never buy a Bluetooth device with a rechargeable battery that you can't replace. But that's a different conversation.
Herman
Actually, that's adjacent. The PTT button with a dead battery is the failure pattern nobody thinks about until it happens mid-sentence.

Hilbert: He sold replacement batteries. Coin cells, mostly. The good buttons took coin cells. The bad ones were sealed.
Corn
The shopping advice keeps getting more specific. HID mode, replaceable battery, pairs in the right order.

Hilbert: Don't lend his brother-in-law money.
Herman
Noted.
Corn
The cutting room floor detail I wanted to mention is that Android's Bluetooth HID Device API has explicit subclass constants for things like sensing devices and remote controls. So the system does classify devices internally, it just doesn't expose that classification in a user-facing mapping tool.
Herman
The gap between what the OS knows and what the user can do with that knowledge is exactly where Tasker lives. That's the whole value proposition.
Corn
The open question for Daniel is whether he wants to go the Flic route with HID mode and Tasker routing, or the dedicated PTT route with a purpose-built button. Both work. The Flic route is more flexible. The dedicated route is probably more reliable for the one specific use case.
Herman
That's the kind of decision that depends on whether Zello is the primary use or just one of many things the button needs to do.
Corn
Thanks to Hilbert Flumingtop for producing.
Herman
This has been My Weird Prompts.
Corn
If you want to reach us, email us at show at my weird prompts dot com.
Herman
We'll be back soon.

This episode was generated with AI assistance. Hosts Herman and Corn are AI personalities.