Liberating Bluetooth on the ESP32

(exquisite.tube)

155 points | by todsacerdoti 41 days ago

6 comments

  • kgarten 41 days ago
  • NooneAtAll3 41 days ago
    I for one am surprised that ESP32 hasn't been reverse engineered much earlier, judging by its popularity
    • NoiseBert69 41 days ago
      Not much need for reverse engineering - with the exception of the radio blobs.

      ESP-IDF is a bright stars when it comes to opensource HALs in the microcontroller world.

    • cracki 41 days ago
      The ESP32 is quite open, by the company, not by RE efforts. If you were under the impression that community RE was to praise for its usability, then you must be thinking of the ESP8266 or what came before it, not the ESP32.

      This video is not about the entire ESP32 either.

      This video is about one of the ESP32's radio functions, Bluetooth.

      Espressif keeps their radio stuff closed for some reason. It might be due to licensing (if they bought parts of the radio), govt regulations of some countries mandating that users can't abuse the radio, or maybe it's trade secrets they want to keep secret to keep an edge on the market.

      You don't appear to know much about the ESP32 and its ecosystem. You should, if you are at all interested in electronics, microcontrollers, or "Internet of Things".

      • NooneAtAll3 41 days ago
        > If you were under the impression that community RE was to praise for its usability

        no, it's you are under some impression you imagined that came from misreading what I wrote

        I'm saying "if something is popular, one would expect everything to be scrutinized already, just due to popularity".

        "binary blob in the middle of open source" is doubly intriguing target that's weird that it took so long to attract attention

        • vollbrecht 40 days ago
          I don't think its a lag of attraction. If you interested in it, you quickly will realize how much of a behemoth that task really is.

          First you have to limit yourself to a specific radio variant, because the actual radio hardware is different on different esp32 variants.

          Then you have a massive amount of things this "blobs" actually contain.

          And last there is also a lot of continues movement integrating newer radio features. E.g newer BLE version standard implementation and so forth. So you play catch with actual new development.

      • mschuster91 40 days ago
        > govt regulations of some countries mandating that users can't abuse the radio

        This. The FCC is a bunch of morons...

  • swaits 41 days ago
    This unlocks some really nice stuff in the future!
    • victorbjorklund 40 days ago
      Like what?
      • avidiax 40 days ago
        Custom protocols (maybe LORA), smart jamming, security research, support or partial support for newer Bluetooth protocols.
  • muppetman 41 days ago
    [flagged]
    • NooneAtAll3 41 days ago
      wdym? it's just a normal format for conference talk?

      you can see similar videos on CppCon, PyData, RustConf, DefCon and others

      • allarm 41 days ago
        Text is much, much better, than video. That's what they meant, I think.
    • wkat4242 41 days ago
      I know :( I don't have the patience for video content.

      But in this case it seems to be an event (CCC) recording so it makes more sense.

    • madduci 41 days ago
      Is there any TL;DW way to get the most important content, without watching it?
      • cinntaile 41 days ago
        Feed it to an LLM summarizer.
  • amelius 40 days ago
    Meanwhile I still cannot get Bluetooth audio to work on my Linux workstation. I tried 3 different Chinese USB sticks already and asked ChatGPT for help. Maybe I should give up and try some more expensive brands. But keep in mind that ESP32 is also of Chinese origin.
    • tedivm 40 days ago
      This is such a weird comment. You can find things in the US where there are cheap versions that don't work and more expensive versions that do work. Going out of your way to by less expensive things and then blaming the Chinese on the quality, rather than your cheapness, is really a decision.

      From personal experience, I've got dozens of esp32 devices around my house and they all work great.

      • immibis 40 days ago
        Not to mention that Bluetooth on Linux is questionable to begin with.
        • estimator7292 40 days ago
          Linux has the best Bluetooth stack of any of the current three operating systems. Which is kind of a depressing statement, but it's actually feature complete.

          You really don't want to know just how bad Windows' Bluetooth stack is. It doesn't even implement basic features. I would hesitate to call it a compliant implementation at all. Oh, the API call for all BT features exist, but they either do nothing, return garbage and lies, or are just broken.

          If you use a well supported BT adapter under the right Linux distro, it's flawless.

      • amelius 40 days ago
        No, your comment is weird because I explicitly said that country of origin has nothing to do with it because ESP32 is of the same origin.

        If anything is to blame it is the Bluetooth protocol and the fact that it is apparently hard to implement correctly.

        • estimator7292 40 days ago
          Your comment is asseting that all of the world's most populous country is a single monolithic entity that produces crap except for this one thing (that is probably also suspicious because it's Chinese)

          You're deflecting blame for your shitty decisions onto a racist strawman.

          Buy a good Bluetooth adapter which is actively supported by the Linux kernel. Do 20 minutes of research instead of buying the cheapest thing you can and then spouting racist bullshit to post-hoc justify yourself.

          If you take a few moments to think about what you're doing, you can get Bluetooth working flawlessly by simply buying the correct adapter. And you don't have to be a racist xenophobe about it.

          • amelius 40 days ago
            You are reading things that aren't there.
          • artificialLimbs 40 days ago
            There was literally nothing racist in this whole sub thread.
    • hurricanepootis 40 days ago
      Make sure you're using pipewire. If your bluetooth headphones require Bluetooth LE, make sure it's enabled in the bluez settings. Also, make sure your bluetooth adapter supports Bluetooth LE.
    • The_President 40 days ago
      Try the TP Link UB500 Plus (UPC 810142823098) - Excellent range; best performance achieved with a few feet of USB extension cable between the dongle and the computer.

      However Bluetooth on Linux is indeed currently irritatingly borked when it does decide to not work. The UB500 is plug and play on Linux.