Time to read : 3 minutes , complexity : starters
We will talk about SBC also known as single board computers in this blog. We will look at the common basic questions and try to answer them without going much about hardware theory. The goal is to build a working robot and not know the specs by heart.
SBC is a low cost computer which runs generally on some version of Linux also on Windows IoT version. These belong to the generation of embedded systems and also used in industrial applications and hobby robotics. So technically you can't ignore a SBC if you are serious about mid range hobby robots. SBC comes with a motherboard, RAM, CPU and the storage is generally externally with SD cards. SBC's mostly have wifi , Ethernet and Bluetooth capabilities built in the same board which makes it a lethal combination in robotics.
The journey from a micro controller to a SBC is based on multiple aspects mainly how much computational power you robots needs to perform and how fast you need your bot to start up. Let us give you an example - If you need to consider image processing in your robot like that of SID2 then there is no way you can do it with just a micro controller. Micro controllers have frequencies in Mhz and RAM in KB's which makes it impossible to run a Image processing library. On the other side if You want a quick boot of your robot then SBC may not be right.
What is interesting that you do not have to live in a binary world here. You may actually use both SBC and a micro controller in your robot. Ports can be configured to be made as Master Slave as we have done in SID2. Arduino is used in SID2 to drive the motors and Raspberry Pi2 for OpenCv2 based image processing. You may use both serial port or i2c for such kind of communications between a SBC and microcontoller.
It has to be noted that GPIO's (general purpose input outputs) are available in both SBC and Micro contoller which can take care of sensors , motors etc. Also, in terms of current a SBC would need something over 500mA+ whereas a micro controller like arduino needs about 12mA+ .
Finally, you can not connect a micro controller to a smart tv or monitor but SCB's can act as desktop computers and can be connected to your monitor. You may also use remote telnet to connect a SBC with your laptop which is not possible in a micro controller platform.
image : Intel Galileo SCB
Our personal advice is, use a combination of both SBC and microcontrollers so that you may drive the optimum performance of your robot. As a thumb rule keep motors and sensors with microcontrollers and use the SBC as the AI base for your programming example the python stack. So in layman's term the SBC becomes the brain and the microcontrollers controls hands/legs/ears. Also, I2C connection is faster than serial communications for a marriage between SBC and microcontroller but difficult to implement for starters. So test with serial but move into I2C if you are participating in inter college robotics etc.
So what are you waiting for? There are abundant options for SBC's like BeagleBone, Raspberry Pi,Intel Galileo Gen 2 Development Board, pcDuino etc. Get one and start today.
Image credits and attributions :
By Embedded_World_2014_Intel_Galileo.jpg: Ordercrazy derivative work: Regi51 [CC0], via Wikimedia Commons