Single board computers vs uC's - Page 1
Forum section: electronics / general

author: PsychoBoy
author_rank: Contributor
timestamp: September 11, 2016, 07:57:18 pm
content: Hello, I wonder about the main difference between doing stuff on SoC (like single board computer) and microcontroller, I did previously various projects using uC's and Arduino (but yea Arduino is only platform that simplifies life with AVR's), but i've never did anything on single board computer like let's say Raspberry Pi so I'm curious what are the differences. Okay I know that SoC basically runs OS like Linux or Windows, but of course I'd like to use it not as normal computer but as embedded one to do the same stuff as uC can. So consider a project in which you have uC that drives some LED's, some transistors, LCD, got buttons as inputs, uses PWM to drive motor, reads battery voltage using ADC and idk what else. Are SoC capable of doing everything of it? In case of uC you have IO pins and some special ones for ADC etc. But as far as I know SoC like Raspberry Pi has only so called GPIO? And they are digital, no ADC functionality right? So I gained the system where I can easily create program to read communicate through Internet and other stuff but I lost ability to do low level stuff like ADC? Or does RPI is capable of all that stuff like ADC?BTW. I see increasing number of single board computers and single board uC's, seriously everything began from Raspberry pi (perhaps?) and now there are dozens of those minicomputers which is a bit annoying to me, why? If I'd do something on it I'd prefer to have one minicomputer platform, stable, with great community and support..I bought once Intel Galileo, I haven't done anything yet on it and now it seems to be dead and even Intel does not produce it anymore as far as I know. And I guess the same will happen with Latte Panda and others arduino clones and mini pc boards..greets guys

author: rstofer
author_rank: Super Contributor
timestamp: September 11, 2016, 08:14:46 pm
content: SoC -> System On Chip - although I usually think toward FPGA, I suspect these are high end uCs.SBC -> Single Board ComputerI would call the Raspberry Pi an SBCThe Raspberry Pi can communicate with peripherals over an SPI bus or something like that. Linux, by definition, is not a Real Time Operating System so gaining fine control of robots is probably quite difficult. So, you change the architecture.You use an Arduino for fine control (or mbed or <whatever>) and leave the heavy thinking to the RPi. Add a camera to the RPI, not the Arduino. Run the PWM for the motors on the Arduino, not the RPi. That kind of thing. Communicate via SPI or serial.These are 'rules', they are just random ideas. But one processor doesn't really solve everything. The RPi with Ethernet, WiFi, Camera and other compute intensive processes brings intelligence to a project that simply can't be done with a lower end uC.

author: dannyf
author_rank: Super Contributor
timestamp: September 11, 2016, 09:09:38 pm
content: QuoteBecause of software (development) costs associated with running a large project on a naked chip.Lots of functions, graphics, expandability, field-programmability, etc.... Going to an OS-based environment saves money - in terms of code re-usability, and debugging.

author: MosherIV
author_rank: Super Contributor
timestamp: September 11, 2016, 09:43:20 pm
content: HiUcontrollers typically have much smaller resources (RAM and Program memory) compared with Single Board Computers eg compare the Raspberry Pi with Ardunio UnoTypically, due to the resource constriaints ucontrollers are programmed bare metal (no OS) or use special low foot print ones, that you not have heard of, such as FreeRTOS. They are way too small for full blown OS like Linux or even the embedded version of Windows.QuoteProbably the main reason is busines, companies want you to buy their product and there are numerous companies out there competing for your money.