* There's no guarantee of long-term support; RPi and Arduino both regularly change form factors. They make no guarantees that they will continue manufacturing what you're already committed to.
* Maker vs. production system architectures are totally different. Linux is rare among production systems. It just needs too much hardware (see Cost). So you have to rebuild the thing anyway when cost-reduction time comes.
'Production' means different things to different people, of course. I'm thinking of a world where you want to ship 10k+ units of a device. If you're only shipping 100 units, your concerns are very different.
Yes, it's a skill, but surely you hire people or contractors who can actually do it properly?
Actually shipping them turns out to be harder, but by that time you've got the money.
Yes, that tends to be how startups come off - even the "sophisticated" ones. They tend to have minimal knowledge of the steps necessary to turn their prototype into a mass produced thing: DFM/DFF, supply chain management, identifying/negotiating with component/bare board suppliers, etc. Generally speaking, they need lots of hand holding through the entire process, and that makes it take way longer for everyone.
The nature of stateside electronics manufacturing doesn't help startups much in that regard, in that shops are kinda either set up for NPI and rapid prototyping or not. Sierra Circuits is good for that, but idk how well they'd fit with a startup budget. Beyond that, the low-complexity nature of most IoT products means they're more cost effectively manufactured in China, as most US shops focus on low to mid volume runs of high complexity boards, as opposed to high volume low complexity runs. Figuring out how to manufacture in China can be a big obstacle for any company, especially smaller ones.
All the IoT boards have made prototyping hardware accessible to "software people", but unlike AWS there is no smooth scaling curve from 10 to 10k to 10M customers.
Also there are places where Linux is appropriate and affordable at volume, depending on the application.
It's more a problem if you start on something big like Artik/RPi/Edison and try to downsize later. You'll find yourself locked in to that vendor's software stack.
Or if you try to ship 10k devices with whole RPis inside.
> Linux is rare among production systems.
AFAIK, Arduino has no OS, let alone Linux. It's a giant wrapper around "setup(); while (true) loop();" Which is itself a gigantic problem for power savings. Fortunately there exist alternative platforms, and some even run on the same Arduino platform: https://github.com/jmattsson/tinyos-arduino
https://playground.arduino.cc/Learning/ArduinoSleepCode
There are libraries that do this automatically on Arduino too, allowing you to schedule [cooperative] multitasking and sleep the uC between tasks. E.g.
https://github.com/arkhipenko/TaskScheduler
is really good, I've used it before. You basically queue up a list of task callbacks and a schedule in your `setup()` and then do a call to `tasks.execute()` in `loop()`, which pops off the next task that is due in a queue or sleeps otherwise. It's simple, but much more straightforward than manually using `if millis() - last > delta1... else sleep()` and not as rigid as using the timer ISRs (which really serve a different purpose).
On more complex platforms you can also use an RTOS, which is kind of like a more beefed up version of this model. Actually you can do this on AVR too, but I haven't ever seen anybody actually use FreeRTOS/ChibiOS/whatever on AVR.
You can get an AVR device to run on a coin cell for months or years (I have a design that does just that). You'd have to modify an Arduino significantly to do the same.
Using a whole Rpi 3 as part of a solution? Yes I agree that there's a risk in supply; but if making 10k devices, you are talking about a raw cost of at least 300k USD, right? So spending 30k for a few months of engineering time to make it production ready (idea: make sure that the OrangePi knockoffs also work, so you have 2 sources of supply) is feasible in the case you mention.
Now if your product is Arduino based (or another microcontroller platform) the barriers to doing a fully custom design are a lot lower, the markups on the Arduino board are a lot higher, and so the cutoff volume for where it makes sense to do a custom design is going to be much lower than 10k.
The Pi foundation guarantees the availability for the Compute Module 1 and 3 until at least 2023. See https://www.raspberrypi.org/documentation/hardware/computemo... (Section 11. Availability).
-stability
-recoverability / error handling
-quality of construction
-documentation
-ease of use/support/baked in features