I swear I posted a reply, but it vanished into thin air!
Next time, use a spinlock! (Joke)
has lead to me considering using more than one MCU in many of my designs, so that the main MCU doesn't need to be so powerful (so a cheaper and more energy-efficient MCU suffices)
That's a tricky one. Technically speaking, especially from a software point of view, but also from the real life power consumption figures and component costs (BOMs), you are right.
But, in practice, I can imagine (if it was for a large department in a business), the upper managers and most senior technical staff, saying no!
Because, if you have a single, large MCU, doing everything, that will be seen as just having one piece of software/firmware inside of it. So there is only one (albeit very large and complicated), piece of software to write, test and get working.
But, if instead, you have 10 relatively small MCUs, doing the same task. Although, technically speaking, I accept that it could use a lot less power, cost a lot less, allow much more efficient partitioning of the software development process, potentially making it cheaper, quicker and more reliable, to create.
The upper management may raise the following concerns:
Instead of there being one single MCU, that needs to work, there would be ten, so it could (in rough theory), be ten times more likely to break, and hence be less reliable.
There (could) would be ten sets of software firmware, to download, install, test, develop and maintain. Hence ten smaller software teams, but with people sometimes leaving, vacations and sickness etc. At any given time, one or more of those teams could be non-working, because the sole key player of that team, is unavailable at the moment.
If MCU hardware malfunction was suspected, as a cause of the current issues. One MCU would be a lot quicker and easier to replace, than ten smaller ones, usually. But not always.
Instead of having one big set of manuals for the sole big MCU, there could be 4 or 5, different sets of manuals, for each different MCU type. Which would be a lot of work for a new team member to absorb, especially at the beginning.
If there is a need for debugging. As well as uncertainty over it being an issue with the software or hardware, it would also be an issue, which of the n (e.g. ten) MCUs, was causing the issues.
In practice, communications systems, are a risk of being problematic, such as a source of very complicated, and perhaps exceedingly rare and/or difficult to reproduce issues and bugs.
Because a big single MCU, doesn't necessarily need to communicate with anything else (depending on the project requirements).
But, for example ten MCU system, often (but not always, they could be almost 100% independent for some projects), may need very extensive communications. Which could have very hard to realize, bugs or issues, with the communications protocols.
Also, easily debugging such systems, and being able to check (trace) all those communications, could be extremely difficult, expensive and time consuming.
E.g. What if every hundredth (1 in 100) time, the system is switched on, it fails to 'boot up' and start, reliably. It would be a real pain, switching it on and off, hundreds of times. It might take 30 seconds for it to fully boot-up, into its menus or whatever it does. So very time consuming, if there are problems.
Then the issue would be, which combination of those ten MCUs, is causing the issue(s)?
If you want to manually flick through the software, to see if you can see any potential weaknesses. There could be, ten sets of such software listings, which is harder and takes longer (probably).
But overall, I accept that perhaps experimentation and real life experiences, of using those two alternatives techniques. Would help, find out which is best (if any method is), rather than using human intuition, and gut-feelings, which are not always right.