12 ms·
SDK update for Raspberry Pi Pico W unlocks Bluetooth support
- codetrotter 4y agoThat’s a big W for the Pico W. If you know what I mean. :smirk:
- dgacmu 4y agoFor those looking to find this specifically, it's about 79% of the way to the bottom with sub-heading: > Bluetooth Support for Pico W (BETA) The support is currently available as a beta. More details will be forthcoming with the actual release. In the meantime, there are examples in pico-examples.
- rogerbinns 4y ago> The Bluetooth API is provided by BTstack From https://github.com/bluekitchen/btstack https://github.com/bluekitchen/btstack | BTstack is free for non-commercial use. However, for commercial use, tell us a bit about your project to get a quote.
- efitz 4y agoI was so excited until I read that. I’m working on an IoT device that I hope to sell and was going to build it around an RPi; I would love to switch from nano to pico but need better Bluetooth.
- Gabriel24 4y agoSo go ahead and use Bluetooth on the Pico? Selling your IoT device is explicitly supported, you just have to get a license.
- efitz 4y agoYes, but at what cost per unit?
- ta988 4y agoSee my other comment above, this will be allowed on RP2040.
- gswdh 4y ago[dead]
- tagyro 4y agoThe motto of Bluetooth is "It's going to work great ...next year!". I've had so many challenges working with it in my past projects (even writing my own firmware) that I now try to avoid it and go directly to wifi.
- philsnow 4y agoWill you be able to source enough rpi modules? I guess your plan isn't just "buy them off the (online) shelves" because it's nigh-impossible to get more than a couple that way these days.
- smarnach 4y agoThat's only true for the computer boards. The Pico never had supply issues. And apparently, computer boards will also be back in stock starting from Q2.
- ta988 4y ago(edited, did a bit of research after complaining) "It will be licensed by us for more permissive use on RP2040 (like cyw43-driver)" Seen on https://github.com/raspberrypi/pico-sdk/issues/1164 https://github.com/raspberrypi/pico-sdk/issues/1164
- yencabulator 4y agoWhat does that mean, though? Wouldn't they need an open source license for everything in BTStack except non-RP2040 drivers? There's a daemon, there's a "libusb", etc. This sounds like it'd require open sourcing practically all of BTStack, not just one driver?
- nulld3v 4y agoThere's really not that much. "libusb" is just the port of BTStack to the libusb API.
- yencabulator 4y agoI'm just curious about the backstory; did the RPi foundation pay BTStack to be ok with this sudden open sourcing?
- orra 4y agoIt sounds like it won't be open source. It'll be redistributable, but legally only usable on Raspberry Pis. Just like cyw43-driver.
- yencabulator 4y agoOkay, so the minimal pessimistic interpretation of "more permissive". Bummer.
- benj111 4y agoI don't understand why they didn't use something like an esp for the wireless. That seems to be more open. Is it a cost thing. Or is the esp equally closed but has a front end that isn't?
- ajb 4y agoThe wireless chip they used is a cypress chip but the design was by Broadcom, who sold it to Cypress (now owned by Infinion). A lot of the Pi team are ex-Broadcom and probably have a good working relationship with the team that make that chip. That will give them good confidence that any issues can be sorted out because they can get the attention of the right people. It's related to the chips which they use on the original Pi line RF in general is pretty closed. Last I heard the ESP low level drivers for wifi and BT were closed source (but that was a few years back). There is a lot of resistance to opening RF, partly to please incumbents but partly because of concerns that completely open RF would cause a radio spectrum "tragedy of the commons" - BT and wifi protocols need each tranceiver to behave in order to share the spectrum, if people could easily tweak it, people could easily take the spectrum at the expense of their neighbours. (for example, see https://fsfe.org/activities/radiodirective/radiodirective.en.html https://fsfe.org/activities/radiodirective/radiodirective.en...)
- robert_foss 4y agoHaving worked with creating drivers for Qualcomm (but not worked at Qcom) I can't stress enough how important is to have connections with people who are familiar with the hardware or have access to documentation.
- mytailorisrich 4y agoYes, between Broadcom and Arm, Raspberry Pi is very much a product of the Cambridge (UK) microcosm.
- RF_Savage 4y agoThat tragedy of commons thing is why any consumer product where you could modify the radio transmitter firmware would loose its FCC certification, making it illegal to sell in the US. That almost ended the sale of openwrt (or other open firmware) compatible wifi routers in the US. The compromise that was reached was that radio firmware would be signed blobs that would not be user modifiable, but that everything else could be modifiable while retaining the FCC certification. I sure wish we could teach no tricks to the very capable RF hardware in many things. But things like the FCC and NDA's from IP vendors make that hard.
- jenadine 4y agoAnd I am still waiting for the WiFi support in the Rust rp-rs crates
- nirav72 4y agoThe pico is an amazing little board. Im using it with micro-python and HID library to simulate subtle mouse movements every 120 seconds to prevent RDP session to remote server from closing due to lack of activity. Now with bluetooth support, I can just hopefully toggle it on or off or disable. Instead of removing the usb cable from the notebook.
- mouse_ 4y agobluetooth mouse jiggler sounds like a potentially revolutionary concept
- deleted 4y ago[deleted]
- VLM 4y ago> I can just hopefully toggle it on or off or disable I used an accelerometer. Just a funny UI idea, flip it upright to jiggle the mouse. I used a different board of course, although you could add an generic accelerometer to a Pico W pretty easily.
- Eduard 4y agoHere is the Bluetooth Mouse HID sample demo from the Bluetooth stack which the Pico W is using, Bluekitchen: https://github.com/bluekitchen/btstack/tree/master/example/hog_mouse_demo.c https://github.com/bluekitchen/btstack/tree/master/example/h...
- nirav72 4y agoPerfect. This might be what I'm looking for to get started. thank you!
- bratao 4y agoYou can't use autohotkey?
- 4y ago
- incanus77 4y agoI’m happy to see a built-in I2C responder library, even if it is an incorporation of the most popular community one. I’m working on a board with a bare RP2040 as a responder and currently my firmware is in MicroPython, which at best has a polling, third-party responder library. I’ve already decided to now move the firmware to the C SDK and this seems like good timing.
- levpopov 4y agoI love RP2040 (especially how circuit designer and firmware dev friendly it is) and even tried building my own MCU with it[1] However I don't quite see the Bluetooth use case - RP2040 is not really a low power chip, making it pretty hard to use for a battery-powered IoT application. You'd need a pretty giant battery pack to make it last a long time. Nordic's nrf52 is an order of magnitude better for a typical "sleep-burst transmit-sleep" cycle, and can be suspended to <5uA current. Pico W is $6, Seeed has a $10 nrf52 MCU, or you could get a "just hook up USB and power" bare module for $5-6. [1] https://twitter.com/levpopov/status/1623376630378008576 https://twitter.com/levpopov/status/1623376630378008576
- mmoskal 4y agonit: MCU is Micro Controller Unit, so for example rp2040 itself. What you mean is "board". Completely right on the power consumption though. The NRF52 is also quite good at limiting power consumption while it's running and automatically disabling peripherals while not used (you typically do that with disabling clocks on other chips). It also has the sanest hardware registers I've seen (looks like they were actually designed with software in mind).
- levpopov 4y agoYes, thanks for the correction! In DIY keyboard community a microcontroller breakout board is often referred to as MCU which makes things confusing.
- packetlost 4y agoThere are a lot of IOT applications that do rely on battery power. Regardless, this is nice for people whose MCU/embedded experience is limited to pre-existing firmwares and the Arduino ecosystem.
- TaylorAlexander 4y agoOne use case would be a little desktop robot for an educational setting. The motors of a robot use orders of magnitude more power than the CPU so it needs big batteries anyway. I can also imagine applications where the device has wall power but you want to connect to it with a phone. Like a piece of wall art you want to be able to turn on and off remotely.
- deadbeeves 4y agoThis is great. I've been using the Pico W as an automation tool and been controlling over a network connection. Controlling it through a BT keyboard would be much more reliable, I thing.
- mouse_ 4y agoI'm excited about seeing BT LE support come to this.