We’re all used to Bluetooth chips coming in QFN and BGA formats, at a minimum of 30-40 pins, sometimes even a hundred. What about ten pins, with 1.27 mm pitch? [deqing] from Hackaday.io shows us a chip from WCH, CH571K, in what’s essentially a SO-10 package (ESSOP10). This chip has a RISC-V core, requires only three components to run, and can work Bluetooth through a simple wire antenna.
This chip is a RISC-V MCU with a Bluetooth peripheral built in, and comes from the CH57x family of WCH chips that resemble the nRF series we’re all used to. You get a fair few peripherals: UART, SPI, and ADC, and of course, Bluetooth 4 with Low Energy support to communicate with a smart device of your choice. For extra hacker cred, [deqing] deadbugs it, gluing all components and a 2.54 mm header for FTDI comms onto the chip, and shows us a demo using webBluetooth to toggle an LED through a button in the browser.
You need not be afraid of SDKs with this one. There’s Arduino IDE support (currently done through a fork of arduino_core_ch32) and a fair few external tools, including at least two programming tools, one official and one third-party. The chip is under a dollar on LCSC, even less if you buy multiple, so it’s worth throwing a few into your shopping cart. What could you do with it once received? Well, you could retrofit your smoke alarms with Bluetooth, create your own tire pressure monitors, or just build a smartphone-connected business card!

Nordic gotta watch their lunch! I have no reason to stick with ARM so if anyone offers me a much cheaper RISC-V chip, even if its not BLE 5, I might just swing their way
Plus NRF Connect SDK (Zephyr based), I dislike that with passion. Wasted so much time just fighting with the project flags…
Same. Maybe also STM? In order to flash a blinken lights you are 10gb in toolchain or more further and none the wiser.
Especially now they’ve decoupled MX and Cube and made it more awkward to get going.
Not really up to date with ST software ecosystem evolution. Last I checked I could generate a Makefile based project with all the drivers etc as plain C files. That was good enough for me
Has that changed at all?
no. you can just download the Cube package gor uour chip and/or use cubeMX to bootstrap a new project. no need whatsoever to set up ‘a 10gb toolchain’
As long as Nordic will consume the least energy of all devices on the market, they can sit back for 5 more years.
Looks like a Rust HAL exists:
https://lib.rs/crates/ch57x-hal-raynhardt
Also, this thing seems to have rather low power consumption, a DC-DC converter, and 5V tolerance. Definitely something I think I’d love to work with in the future, at such a time as I have a project idea.
Thanks for the link! I’m using already a few WCH products like their HIDs in the CH9329 and I’d love to give their BT/BLE chips a chance as well. RISC-V is definitely new territory to me, but I prefer the ease of use over Nordic already.
If I can get it to work with sleep cycles for 2-3 months on AA batteries it would already be enough for me. I’m just bad at finishing products. If these toolchains and some example code gets me jump started it’s great help.
Is Nordic really the lowest? TI CC2450R5 is 710nA in standby
CC2540 not CC2450. It’s very hard to compare the power for those chip, since they don’t offer similar setup in their test conditions (voltage, TX power level, RX amplifier, etc…). Ideally, the manufacturer should provide the energy required to send and receive a “standard” packet so we could compare, but obviously, they don’t. The “standby” here is a useless value if you don’t do the same thing. On the CH571K, they claim a “sleep” mode of 1.4µA on the front page, but it’s with a voltage of 3.3V. If you read the actual sleep mode (table 5-3), you can get down to 1µA for (only) RAM retention, 0.6µA for external GPIO or timer wakeup (no RAM retention), which, if I understand correctly, is actually 2µW. On TI’s front, it’s 0.9µA on 3V (with RAM retention, TI chip has “free” RAM retention in all power mode), so it’s 2.7µW (so close to the 3µW with the RAM retention mode of WCH, or 30% higher if you don’t need RAM retention). At these power level, anyway, the other components and the trace on your PCB will likely waste as much as the chip does.
The BLE version of the chip is the CH591, $0.29 at LCSC
Coding for these chips using ch32fun is an absolute joy, if you want to squeeze everything from the chip and don’t mind reading datasheets and poking registers.
https://github.com/cnlohr/ch32fun
yes indeed. and also you can use ch570e and you won’t even need a usb to serial adapter. just stick it into your usb port!
“comes from the CH57x family of WCH chips that resemble the nRF series we’re all used to”
How does CH57x family WCH chips resemble nRF series (that we’re all used to)?
they both need power and have antennas.
WCH chips are quite easy to use compared to bloated nRF. And their price is sweet.
I’ve read the page: https://hackaday.io/project/202919-dead-bug-ble-led-blinky and it stated:
“As far as I know, it seems nobody has built a BLE circuit in this way. Maybe it is world first?”
Think again, I’m pretty sure that the people who invented the IC have thoroughly used and tested it, if anyone was to be “the first”, then it must have been them. Datasheets aren’t fiction.
Regarding the project, cool and thanks for sharing, this is a nice introduction to a new device that could be pretty useful.
oops, I misread the claim, it was about the style and not the circuit itself.
If you want to go even smaller, get one of these https://www.aliexpress.com/item/32759154605.html OTP, but you can run code from RAM till you dev your application.
I submitted this hack quite a while ago, does it take so long to review the pile of links submitted?
I guess I need to look at WCH more. This is just something that I was looking for, for a next project. :) A chip that simply just does Bluetooth, with a small footprint, justifiable price, and handsolderable.
But I wonder about FCC certification. If you use a module with built-in antenna, you basically get FCC certification for free, don’t you?