Lime green IKEA KALLSUP cube speaker, reassembled with the Solo C1 board inside and its LED lit

Preview: Esparagus Solo C1, a drop-in Home Assistant board for the IKEA KALLSUP

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 speakerHow Solo C1 uses it
BatterySame connector and polarity. The board charges the cell and reports its state to Home Assistant.
Speaker driverSame connector, driven by the onboard MAX98357.
LEDSits in the original position, so it lines up with the enclosure’s light pipe.
ButtonsBoth stay. One still powers the speaker on and off, the other is yours to define.
USB-C portCharging and power, as before.
The original KALLSUP board above the Solo C1 board, in the same orientation
The original board (top) and Solo C1 (bottom), with the speaker and battery connectors in matching places.
Button side of both boards, with Solo C1 at the top, silkscreened Esparagus Echo Solo with PWR and IO0 buttons
The button side, this time with Solo C1 on top. The PWR and IO0 switches line up with the lid.

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.

KALLSUP taken apart: enclosure, Solo C1 board wired to the battery and speaker, and the base plate
The KALLSUP opens up into the enclosure, the speaker and the base plate.
Solo C1 mounted at the top of the open KALLSUP enclosure, with its USB-C port facing out
The board sits where the original one did, on the same leads.

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.

Home Assistant device page for the Solo C1 prototype, with media players, charging and external power sensors, and the Button press event
The prototype on its Home Assistant device page, with the assistant, both players, the power sensors and the button events.

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.