I’ve been working on something a bit different for the Esparagus Echo line: Solo C1, a replacement PCB for the small IKEA KALLSUP Bluetooth speaker. You open the speaker, swap the original board for this one, and it becomes a Home Assistant voice assistant and multi-room speaker that still looks like the same little cube.
This is a preview. You can’t buy the board yet, because I made a mistake on the prototype and it needs another revision. More on that below.
What stays from the original speaker
The board is laid out to reuse what is already in the enclosure, so the swap needs no rewiring:
| Part of the speaker | How Solo C1 uses it |
|---|---|
| Battery | Same connector and polarity. The board charges the cell and reports its state to Home Assistant. |
| Speaker driver | Same connector, driven by the onboard MAX98357. |
| LED | Sits in the original position, so it lines up with the enclosure’s light pipe. |
| Buttons | Both stay. One still powers the speaker on and off, the other is yours to define. |
| USB-C port | Charging and power, as before. |


What you gain
- Voice assistant with on-device wake word detection, through the Home Assistant voice pipeline
- Announcements, so your automations can speak through the speaker
- Multi-room music via Music Assistant, in sync with other Esparagus devices
- A scriptable button, exposed to Home Assistant as an event entity
Inside is the same recipe as the boxed Esparagus Solo: an ESP32-S3 with 8 MB of flash and 8 MB of PSRAM, an ICS-43434 microphone and a MAX98357 DAC. The audio pins are unchanged too, so the shared ESPHome packages work as they are.
The button that used to handle Bluetooth is now the action button. Out of the box it follows the gestures of the Home Assistant Voice PE center button: a single click stops whatever is active or starts the assistant, a double click skips the track, and a long press mutes the assistant. You can trigger automations from the double, triple and long presses, or add your own gestures in YAML so they keep working when Home Assistant is down.


What I got wrong
The board is too long. I mixed up the board length when I laid it out, and it needs to be 5 mm shorter. That one is entirely on me, and it’s the reason you’re reading a preview and not a product launch. There will be a new revision before it goes on sale.
The battery reading doesn’t work yet. Since a new spin is happening anyway, it will fix my second mistake. On the prototype, the battery voltage divider goes to GPIO42, which has no ADC on the ESP32-S3, so the voltage and level readings mean nothing until it moves to an ADC pin. That’s why the battery shows 0% in the screenshot below.

What I haven’t tested yet
I’m not sure how the microphone will perform in the closed enclosure. I placed it with the listening hole facing upwards, but I can’t test it in this enclosure yet. It’s entirely possible that it will need a small hole to work properly.
What happens next
- I’ll make the new revision with the shorter board and the battery fix. Hopefully somewhere next week.
- The ESPHome configs are already on GitHub, with Sendspin, voice assistant and Snapcast variants. The README has the pinout and the full button and battery details.
- The schematic and PCB files, including the board outline and connector placement, will be published once the corrected revision is released.
- The boxed Esparagus Solo (rev B) stays on sale and fully supported. It will be sunset eventually, but not yet.
If you have a KALLSUP on a shelf and would like to turn it into something smarter, please reach out. It helps me to know how much interest there is, and what you would want the action button to do.
Esparagus Solo C1 is an independent project, not affiliated with or endorsed by IKEA.


Leave a Reply
You must be logged in to post a comment.