Introduction#
Let's start with my LX05. Xiao Ai Play is something I bought a long time ago. I've taken it apart and put it back together several times, and I've soldered and desoldered it many times. Finally... I managed to break it. Related repo: https://github.com/duhow/xiaoai-patch
So I sent it back for after-sales repair. The after-sales contacted me and said it was still under warranty and they could give me a discount for a new one, 20% off.
I vaguely remember that there was a new version of Xiao Ai Play, so I asked the customer service if it was the original version. The customer service replied, "It's an upgraded version."
L05B#
L05B is the new version of LX05. But calling it a new version is not as accurate as calling it an upgraded version. Calling it an upgraded version is not as accurate as calling it the most basic version. Calling it the most basic version is not as accurate as calling it Xiao Ai without AI speaker, or calling it Xiao Ai with big headphones.
The most direct difference is that the old version LX05 is a Linux speaker based on ARM+OpenWrt, while the new version L05B, including L05C, which is the version with a clock display, is based on the BES2300 solution and NuttX... speaker...
Related Links#
- Detailed parameters of BES2300: https://web.archive.org/web/20231021151057/https://device.report/m/f676587edf92a67774c671524b5cb70eaf89a86da763cc3fec9fe4c36ebb7f54.pdf
- Disassembly by 52audio: https://web.archive.org/web/20230207110750/https://www.52audio.com/archives/92902.html
- https://www.bilibili.com/video/BV1c8411h78d/
Big Headphones#
BES2300 is manufactured using 28nm process. At first glance, it seems pretty good, right? But what exactly is this BES2300? You should know that the old version LX05 also used the AllwinnerTech R328, A7 @1.2GHz *2, which is also 28nm.
This means that 28==28, 2300>328, Xiaomi has made a big upgrade, right?
In one sentence, 52audio explains everything to us:
According to my love for audio disassembly, Samsung, Xiaomi, OPPO, JBL, Wanmo, Honor, Baidu, OnePlus, Transsion, Realme, Anker, and other brands have widely adopted Hengxuan's solution for their true wireless earphone products.
Hmm, what are JBL and Onemore...
Two Cortex-M4E (@223MHz)!
This is a big Bluetooth headphone based on the 51 single-chip microcomputer.
Related Links#
- R328 brief: https://www.allwinnertech.com/uploads/pdf/20210204194727ac.pdf
- M4: https://developer.arm.com/documentation/102832/latest/
Vela and NuttX#
Hehe, so I rejected Xiaomi's offer, hehe, so I don't have an L05B machine in my hands either. So I can only search in the void.
Vela, aka VelaOS, https://iot.mi.com/vela, is a low-cost thing made by Xiaomi. Based on NuttX. NuttX is a real-time operating system, cheaper, more efficient, but also more difficult to use. (So Xiaomi won't continue to use this thing in cars, right?). NuttX is an RTOS with processes.
Alright, that's the end. My knowledge reserves are not enough to continue writing. All I know is that this thing is difficult to use. And its upper limit won't be higher than AirPods.
Links#
- https://zh.wikipedia.org/zh-cn/NuttX
- https://iot.mi.com/vela/detail.html#:~=NuttX%E6%94%AF%E6%8C%81%E5%A4%A7%E5%A4%9A%E6%95%B0RTOS%E9%83%BD%E6%B2%A1%E6%9C%89%E5%AE%9E%E7%8E%B0%E7%9A%84%E8%BF%9B%E7%A8%8B%E6%A6%82%E5%BF%B5
Mico#
The firmware name for the Xiao Ai series is "mico". With the help of the master's https://github.com/duhow/xiaoai-patch/blob/master/tools/mico_upgrade.py, we can easily get the firmware we want.
{
"code": "0",
"data": {
"upgradeInfo": {
"size": 5204433,
"releaseDate": "1685621460805",
"changelogUrl": "https://cdn.cnbj1.fds.api.mi-img.com/miwifi/cc63ea77-c5d6-4236-b92b-40c5a27e9009.html",
"link": "https://cdn.cnbj1.fds.api.mi-img.com/xiaoqiang/rom/l05c/mico_0cb85_1.62.25_nuttx.bin.lzma",
"description": "",
"weight": "1",
"otherParam": "{\"cfe\":1000002,\"ttsConfigMd5\":\"e95f924d757da92cbc33b9bf2aa61c6c\",\"ttsConfigUrl\":\"https://cdn.cnbj1.fds.api.mi-img.com/mico/ttsConfig/sound_20201224.tar.zip\",\"linux\":1,\"rootfs\":1,\"weight\":1,\"sqafs\":1,\"ramfs\":1}",
"upgradeId": "75135",
"hash": "2d5309e54547a1218456278d36d0cb85",
"toVersion": "1.62.25"
}
}
}
Is it already in the shape of NuttX?
Ah, yes, it's already in the shape of Lei Jun.
There's something strange inside Lei Jun...
5191856 0x4F38B0 Unix path: /home/jenkins/mico_mirtos/out/best2001_ep/l05c/.
This thing is internally named "mirtos".
Alright, I think I can go off work now.