Allwinner G202 Dual Core Processor is Designed for Voice Activated Smart WiFi Speakers

Today I received Banana Pi BPI-M2 Ultra board together with Allwinner catalog. As I flicked through it, I discovered new Allwinner B-Series ARM Cortex A7 processors (B188 and B288) designed for e-readers, as well as Allwinner G-Series ARM Cortex A7 processors (G102 and G202) targeting the WiFi speaker market, now dominated by products like Amazon Echo or Google Home (in the US).

Allwinner G202 specifications:

  • CPU – Dual core ARM Cortex A7 processor
  • Memory I/F – DDR2/DDR3/DDR3L SDRAM
  • Storage I/F – eMMC 5.0, SD 2.0 compliant
  • Audio
    • 24-bit/192 Khz audio playback
    • 2x I2S/PCM interfaces up to 384 KHz sample rate, and 16 channel TDM with 32bit sample resolution
    • DSD (Direct Stream Digital) interface with 2 channels,64/128/256bit sample mode
    • DMIC (Digital Microphone) interface with 8 channels, maximum 48KHz sample rate
    • S/PDIF OUT interface
  • Connectivity – 802.11 b/g/n WiFi with WPS, WPA/WPA2 security
  • Other interfaces – USB 2.0 OTG, UART, SPI, TWI
  • Package – FBGA 236 balls, 11 x 11 mm,  0.65 pitch

The company provides Linux 3.10 and Android 4.4 operating systems for the processor. It has indeed all the interface you’d expect from a voice activated home assistant with support for microphone arrays, allegedly good quality audio output, and WiFi.

Block Diagram for Allwinner G202 – Click to Enlarge

I don’t have the full details for Allwinner G102 specifications, but based on the catalog, the main specifications are very similar, but it adds an RGB LCD display interface, resulting in a bigger FBGA 335 balls package.

Beside G-Series, Allwinner also recommend R16 processor for WiFi speakers, as well as older F-Series processor. Allwinner R16 is actually used in DingDong LLSS-A1 WiFi speaker shown in the top picture for illustration. You may find more details in Allwinner G202 product brief.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK Pi 4C Plus

31 Replies to “Allwinner G202 Dual Core Processor is Designed for Voice Activated Smart WiFi Speakers”

  1. Did you get the M2 Ultra directly from Allwinner? Wrt Wi-Fi fortunately speakers also receive mostly so XR819’s TX weakness doesn’t affect such product designs (still hoping we get documentation sometimes in the future for this chip).

  2. @tkaiser
    Yes, I received it from Allwinner. I did not make a video, but they just sent me one anyway.
    Allwinner R16 based speakers could have XR819 chip, but with Allwinner G202, WiFi is built-in so it could be another IP, unless they re-used XR819 IP.

    I asked an Allwinner XR819 datasheet last week, and they replied they’ll “try to get a version”, which probably means not the full datasheet, but hopefully, still something that can be useful to developers.

  3. And xradio’s XR933 seems to be the ‘R16’ with integrated XR819 Wi-Fi. So let’s hope they improve on code quality and provide documentation…

  4. @cnxsoft
    Ah, you’re right G102 is the one with display output. Regarding Xradio I’ve no idea but maybe it’s the same as with their other ‘daughter’ X-Power (they do all the PMICs for Allwinner but sell them also to others eg. AXP288 is used pretty often with Atom designs).

    BTW: Icenowy in linux-sunxi IRC confirmed that XR933 must be A33/R16 due to feature set.

  5. What music do people play using wifi speakers? I don’t think it is possible to access streaming services with them. So that leaves a NAS server and Internet feeds of radio station chock full of commercials? These don’t have BT so you can’t source the music from your phone.

  6. Jon Smirl :
    What music do people play using wifi speakers?

    At least I play every music: github.com/mikebrady/shairport-sync — BTW: Allwinner’s XR829 features also Bluetooth (v2.1+EDR/4.0).

  7. @tkaiser

    The XR819 is affected by the fact that it messes up frames going out and can’t properly receive ones coming in..
    I suspect it might be we are missing some specific setting to get the PLL or whatever settings right or the chip is just total crap.

  8. Can you make the music from your phone xmit as wifi? I thought you can only do that with BT. how do I do that with Android?

  9. @Jon Smirl
    I stream with all my macOS/iOS devices simultaneously to a couple of sound systems in different rooms (AirPlay is both name of the protocol and most probably also what you’re searching for in Google Play Store for Android?)

  10. @tkaiser

    There is no Airplay for Android. There is Miracast but it sends video too so it breaks up all of the time. Maybe there is way to Miracast audio only?

  11. @Jon Smirl
    Let me elaborate: In my home in most rooms there’s a Teufel sound system connected to dirt cheap H3 SBC with Linux+shairport-sync running on it (I used Airport Express and AppleTV before). For macOS/iOS users it’s as easy as choosing one or many of those AirPlay devices but friends using Android I just tell since years ‘Play Store –> AirPlay’ and they’re also in and can stream their music through wifi. No idea what they do but it works. DLNA should work too but I failed to find a solution that streams to a couple of speakers in sync.

  12. Technology is odd. We use to call speakers that play music a Radio or Tape Deck, then a MP3 player. Now we have Computers of considerable power in the speakers themself.

  13. @tkaiser

    This is the problem bit: ‘Play Store –> AirPlay’ Those apps rely unlicensed use of AirPlay. AirPlay encryption was broken a while ago. I don’t know a of a legal way to do this.

  14. @dgp
    Well, I don’t get it since XR819 driver/frmware we added to Armbian’s ‘legacy’ kernel is exactly what’s in the H2 Android SDK. Your driver variant is based on this and everyone knowledgeable notices missed frames with both variants.

    On the other hand there are a lot of people claiming to be really happy using Wi-Fi with legacy kernel especially those stating that it works quite well with OpenWRT while not with Armbian (IMO solely based on insufficient default wifi power management settings Armbian used half a year ago). Unfortunately I can’t test myself anymore (Wi-Fi broken on my Zero for whatever reasons) and all the people I asked for real performance numbers with OpenWRT on Armbian forum never answered but simply disappeared.

    In case you’ve a spare Zero around you could do a quick check: http://pulpstone.pw/sbc/ (uses Armbian’s legacy kernel/firmware as far as I know and that’s Allwinner’s Android stuff anyway)

  15. @Jon Smirl
    Oh, that explains it. But then I start to wonder whether there isn’t an audio only variant of Miracast or Google Cast available? Strange.

  16. @dgp
    As a reference: there’s a ‘recipe’ how to transform a legacy Armbian image for OPi Zero to OpenWRT and I believe this pulpstone image is based on that: https://forum.armbian.com/index.php?/topic/3025-building-openwrt-images-for-orange-pi-zero-with-the-armbian-kernel/&page=4 (though I fail to understand most what happens there: why choosing an Android and not mainline kernel, why bridging devices and so on)

    Anyway: If for whatever reasons performance doesn’t suck here it would be worth a look to further explore?

  17. @tkaiser

    Google Cast and Airplay are not free technologies. You have to pay significant royalties to use them. The royalty rate for Airplay is 7% of your revenue. I can’t get a number out of Google for a license to be a Cast Receiver. So far only huge multinationals have a license. The smaller players are buying modules from the big guys.

    My personal view is that there is not a lot of “technology” here. Instead both firms are using access to encryption keys to extract revenue streams. They are basically selling “access” to the IOS/Android world.

    Paying royalties for Google Cast gets you a single thing – an encryption key. All of the code is open source. But without that key the Cast servers won’t talk to your device. Airplay was not cloud based. Someone got the key out of an Airport and passed it around. Apple can’t revoke the key without also revoking their own Airports. Google has fixed that setup and can revoke compromised keys.

    So the problem comes back around to what good are wifi speakers if you can’t get any streaming service to talk to them?

  18. If you want to see how certificates can be used to control access to technology this explains the procedure.
    https://aws.amazon.com/blogs/iot/just-in-time-registration-of-device-certificates-on-aws-iot/

    The key bit is this line “aws iot register-ca-certificate” that’s the choke point. When someone gets to that point your can force the extraction of money from them or they can’t continue. Amazon does not charge at this point.

    Each license sold corresponds to a “CA certificate” registered. Then as each device is JIT registered you get an exact count of device royalties that need to be paid by that OEM.

    There is no way to break this unless you can break public key encryption. Since this process is non-real time you can use huge 4K keys which are impossible to crack.

    Everything in this scheme is securely revokable. You can revoke individual device key or entire OEMs and all of their devices. So no payment, just cut them off. Nothing the OEM can do about it. Someone gets a key out of a device revoke it. Also the keys only have six month lives and have to be renewed. So stolen key dies after six months.

  19. @cnxsoft
    Nice 😉

    I think I’ve already the same (zero information so not even uploaded to linux-sunxi wiki):

  20. @tkaiser
    Different MD5 but I’m pretty sure it’s the same document. Just marketing stuff really.

  21. @Jerry
    I’m fiddling with pulseaudio remote music for the moment, but I didn’t find a way to send the audio to different clients at the same time (multi room). I tried pulseaudio-DLNA, It works great finding the DLNA devices, but you can also only select one client and there is a lot of lag.
    Maybe this is a good multiroom linux solution: https://github.com/badaix/snapcast
    I didn’t tried it yet but as read it, maybe it’s possible to set the /tmp/snapfifo as a sink and then it should broadcast the stream to the clients.

Leave a Reply

Your email address will not be published. Required fields are marked *

Khadas VIM4 SBC
Khadas VIM4 SBC