I’m working on a project where I need a very small SBC. I’m looking at the NanoPi Neo Air due to it’s 40x40mm form factor, camera, speaker, microphone, and wifi capabilities. My main concern with this board being able to run Mycroft (as compared to the recommended Pi 3B+) is memory.
I’ve read the requirements for Picroft and have even tested Mycroft on DietPi on a Pi Zero (same amount of RAM as an Air and likely the OS I’ll be running on the Air). With ~480MB usable RAM on the Zero, Mycroft + the OS leave about 20-30MB of RAM free. I assume this is space used to move pages to and from swap. As the Picroft installation instructions suggest, it runs pretty rough. I’m not sure if this is solely due to the CPU being single core or if the swapping of memory is also a part of it.
Does anyone have experience running Picroft/Mycroft-core on something with a CPU like a Pi 3 but half the RAM?
The RPI 3A+ has 512MB RAM as well and is not recommended for use with Mycroft.
Recently there was an updated list of recommended hardware here in this forum or the Mycroft docs, but I cant find it right now…
The Picroft page lists the Pi A+ as not supported but doesn’t seem to mention the 3A+. It mentions the Pi 2 as semi-workable which has 1GB RAM and a 900Mhz quad core CPU.
Thanks @JarbasAI for linking that other post. That clears up the dev’s standpoint on the Pi 3A+ as working but not supported. I will assume the Air will fall into the same category and report back my results with it.
Yes, I can confirm that the Nano Pi and Pi 3A+ are not supported.
You may get them to work, but we cannot offer support or investigate issues with them.
Mycroft already supports several platforms - Raspberry Pi, Linux, Mark 1, so I hope you can understand that we can’t support every SBC
I have a testing instance with a relatively clean build, DuckDuckGo and “Finished Booting Skill” apart from defaults, probably 1-2 more from tests a year ago, and the 5 Mycroft processes (enclosure, speech, audio, skills, messagebus) take ~400 MiB on idle.
Now you need ~50 MiB for basic system services + cron jobs and you’re on the physical memory limit of a 512 MiB RAM SBC. Of course you can create a large swap file on a fast external drive, e.g. an SSD, but on most SBCs that means limited at least by USB speed, and you don’t want your system reading/writing forcefully to a swap space for every little task, in case of Mycroft of course every skill use means an additional process (or several) with additional RAM demand.
So without testing it, I think it’s clear that 512 MiB will be not of pleasure .