Arduino vs. Raspberry Pi
:=> Firmware vs. OS
:=> Controller Program vs. Application Program
That’s why H/W engineers tend to work with Arduino and S/W engineers tent to work with Raspberry Pi.
Also, that’s why there are approaches in that Arduino is controlled by Raspberry Pi, not the other direction.
Although Arduino is as sophisticated device as Raspberry Pi, those nature makes them different from each other.
However, I noticed that there is no clear explanation between those.
For people who want to understand H/W programming, Arduino can be a good choice. For people who want to control H/W from application programs through OS and supporting libraries, Raspberry Pi should be the choice.
For people who want to write device drivers or want to know how to port/write OS, Raspberry Pi should be the choice eventually, but to get the idea on how to control a device, Arduino can be their first choice. But they can do the same thing with Raspberry PI. But, without understanding H/W level, although they do the same thing in H/W level with Raspberry Pi, people like me tend to think, “pure view from H/W could be different than from any entity over OS (inclusive)”