This month most of the team braved the airports and came together in person for a two week sprint. The aim was to have a fully working device by the time we went home. Spoiler alert – we did it!
We took a lot of precautions to pull this off. With everyone taking tests before, during and after the sprint. Remaining isolated until test results were confirmed. Using the best PPE available. Everyone is now safely back home with negative tests.
Very quickly we discovered that the SJ201 rev 3 had an issue reliably outputting audio. This hadn’t come up in our testing to date as the sound works when first booted. However after varying amounts of time the output cut out and would not return until rebooting the device.
As you can imagine, this was an unexpected turn of events, consuming a sizable portion of the sprint efforts.
The issue was tracked down to an incompatibility in the USB of the XMOS chip and Raspberry Pi 4. It works fine on a Pi 3 but that causes other problems, so we decided to work around it and use the I2S bus instead. As a temporary work around, we were able to add a jumper from one of the Pi’s GPIO pins to the XMOS chip allowing us to reset the chip in software anytime the failure occurred. This meant we could continue prototyping with the current board, however it is not a final solution.
As we mentioned in the last update we were already planning another revision of the board in order to switch the audio output to use a direct I2S connection. The change to I2S will also address this audio output issue as we will no longer be needing the USB driver.
Our expectation is that this will be the final revision before we start shipping the Mark II Dev Kits.
Added in Rev 4
- I2S Audio Amp TAS5806MD
- Changed audio path from USB to I2S. Better quality and gets around bug in
- XMOS/Raspberry Pi 4 over USB.
Removed in Rev 4
- I2S to Line Out IC
- MAX9744 Amp
An exciting new addition to the Mark II is Pantacor, a comprehensive and robust software life-cycle management solution.
This is an open source solution that uses container technologies to securely and reliably maintain edge services on Linux devices. That can be anything from home WiFi routers through to industrial control systems.
Cut the jargon! What the hell does all that mean for the Mark II?
Most importantly this provides a very stable and resilient operating system and update service. If something goes wrong on your Mark II, the device will automatically roll back to a previously working state. This is the type of feature that you will never notice because it “just works”.
We are really excited to be working with the Pantacor team. We have contracted them to set up the infrastructure and integrations needed to get us started, so we can stay focused on Mycroft’s core capabilities and getting the hardware shipped.
While the team was together, we also took some time to map out some of the larger changes we want to make. We’ll be sharing these ideas and draft specifications with the Community over the coming weeks and months to get your input and help prioritize these longer-term projects.
Gez is the Director of Developer Relations at Mycroft. He comes from the land down under, has a strange love of crocodiles, and one day hopes to play the ukulele. If he’s not hanging out in our Community Chat and Forums, he is probably getting lost in the bush.