Why do companies hire firmware and device driver developers when?
A few points: the RPi is a microcomputer based on System-on-a-Chip (SOC) technology. It incorporates discrete and integrated components into a small card-based computer primarily aimed at education, hobbyist, and prototyping. A more apt grouping might be between RPi-class single board computers and Arduino-class devices. ARM is a micrcontroller technology and several families of processor chips/architectures. Its used in the RPi and a variety of other devices. Comparing or grouping this with the RPi is questionable its like comparing or grouping a Dell computer model with a class of Intel processors. In some contexts that makes sense, in others it does not. This question doesnt provide sufficient detail to determine if this grouping makes sense. manufacturers use custom or third-party firmware & drivers for a variety of reasons but it usually involves increased performance, tighter or less buggy code, enhanced functions including backwards compatibility modes, lower power consumption (yes, drivers can affect power use), lack of appropriate interfaces to custom (often proprietary) devices, and time/cost tradeoffs. The latter simply means its sometimes faster/cheaper to buy it than to adapt existing code or write new code in-house. In other words, mostly for the same reasons any business uses third-party solutions. Firmware and drivers are just software (depending on the level of firmware but I assume were not getting at fundamental changes to the ARM or SOC architecture and design) so similar business decisions that apply to an accounting package apply to these elements. If the original manufacturers solution worked as needed with no cost issues there would indeed be little or no reason to buy third-party code. Unless there were non-technical marketing or partnership advantages but thats a separate set of issues. most vendors would not use the RPi in a production device of any significant scale. Its overkill, relatively expensive, and physically large versus microcontrollers such as microcontroller members of the ARM family among many others.