Arduino, Net Arduino, Raspberry Pi, Beagle Bone & Intel Galileo
Embedded Computing in Internet of Things
- Embedded computing refers to the integration of computing capabilities within devices that are not traditionally considered computers.
- These embedded systems integrate both hardware and software into one single system.
- Unlike general-purpose computers, embedded systems are tailored for specific control functions.
- offering advantages in terms of efficiency, reliability, and real-time performance.
Characteristics of Embedded Computing
Dedicated Functionality
- Embedded systems generally operate using limited computing resources such as memory, processing, and power.
- They are optimized for particular functions rather than for general-purpose computing.
Integration with Hardware
- Embedded computing systems are tightly integrated with the hardware they control.
- This integration ensures efficient interaction between the software and hardware components.
Resource Constraints
Embedded systems generally operate using limited computing resources such as memory, processing, and power.
Applications of Embedded Computing
- Consumer Electronics: Embedded systems are integral to devices like smartphones
- and wearable gadgets, providing control and connectivity features.
Benefits of Embedded Computing
- Cost-Effectiveness: Custom-designed embedded systems can be more
- cost-effective for specific applications compared to using general-purpose computing devices.
- Compact Size: Embedded systems can be made very small, allowing for integration into compact devices and applications where space is limited.
Arduino in Internet of Things
- Arduino is an open source hardware and software platform widely used in the Internet of Things (IoT) to create interactive electronic projects.
- It consists of microcontroller boards, development environment software, and a vast community of makers, developers, and enthusiasts.
- Arduino is an open-source electronics platform built on user-friendly hardware and software.
- It is designed to make electronics more accessible to hobbyists, students, artists, and anyone interested in creating interactive projects.
- The platform consists of a range of microcontroller boards, software (Arduino IDE),
- and a supportive community that provides a wealth of resources and tutorials.
Components of Arduino
- Arduino Boards: These are physical circuit boards that contain a microcontroller, which is the brain of the Arduino.
- The boards come in various models, such as Arduino Uno, Arduino Mega, and Arduino Nano, each catering to different project requirements. The boards typically feature:
- Microcontroller: The central chip that executes the code. Popular models include the ATmega328P on the Arduino Uno.
- Digital and Analog Input/Output Pins: Pins used to connect sensors,
- actuators, and other components.
- Digital pins can read or write binary values, while analog pins can read a range of values.
- Power Supply: Options to power the board via USB or external power sources.
- USB Interface: Used for programming the board and for serial communication.
- Arduino IDE (Integrated Development Environment): The software used to write, compile, and upload code (sketches) to the Arduino board.
- The IDE supports a simplified version of C++ and provides a user-friendly interface for coding and debugging.
- Libraries: Pre-written code libraries that extend the functionality of the Arduino.
How Arduino Works
- Programming: Users write code in the Arduino IDE using a simplified version of C++.
- Uploading Code: The code (sketch) is compiled and uploaded to the Arduino board via a USB connection.
- Interfacing with Components: The board interacts with various sensors, actuators, and other electronic components connected to its I/O pins.
- For example, it can read data from a temperature sensor, control an LED, or communicate with other devices via protocols like I2C or SPI.
- Real-Time Operation: The Arduino board operates in real-time,
- continuously executing the code in the loop() function and responding to inputs and outputs as defined by the user's program.
Applications of Arduino
- Educational Projects: Arduino is widely used in schools and universities to teach electronics, programming, and robotics.
- Wearable Technology: Small and lightweight Arduino boards can be
- embedded in clothing or accessories to create wearable tech projects, such as fitness trackers or interactive costumes.
Benefits of Arduino
- Ease of Use: The platform is designed to be user-friendly, with a low learning curve for beginners.
- Versatility: Arduino boards can be used in a wide variety of applications, from simple to complex projects, making them highly versatile.
- Open Source: Both the hardware and software are open-source, allowing users to modify and extend their capabilities.
- Community Support: A large and active community provides forums, tutorials, project examples, and troubleshooting help.
- Cost-Effective: Arduino boards and components are relatively inexpensive, making it affordable to experiment and create multiple projects.
Netduino in Internet of Things
- Netduino is an open-source hardware and software platform designed for creating embedded IoT projects.
- It leverages the Microsoft .NET Micro Framework, making it accessible for developers familiar with C# programming.
- Netduino boards offer similar functionality to Arduino but with additional features and capabilities.
- Netduino boards support advanced connectivity options such as Ethernet,
- Wi-Fi, Bluetooth, and IoT protocols like MQTT, making them suitable for networked IoT solutions.
- Example: A Netduino-based home automation system uses Wi-Fi
- connectivity to control lights.
Raspberry Pi in Internet of Things
- The Raspberry Pi series comprises single-board computers created by the Raspberry Pi Foundation.
- These compact and affordable boards are widely used in IoT projects due to their versatility, processing power, and extensive community support.
Raspberry Pi Boards
- Raspberry Pi boards come in various models, each with different specifications such as CPU, RAM, and connectivity options like Wifi and Bluetooth.
- Example: Raspberry Pi 4 Model B, Raspberry Pi 3 Model B+, etc.
Operating Systems
- Raspberry Pi supports multiple operating systems, including Raspbian (based on Debian), and
- allowing developers to choose the most suitable OS for their IoT applications.
- Example: A Raspberry Pi running Raspbian can be used as a media center,
- home server,
- or IoT gateway by installing relevant software and configuring settings.
GPIO Pins
- Raspberry Pi boards are equipped with pins known as General-Purpose Input/Output (GPIO) pins.
- that enable interfacing with external devices such as sensors, LEDs, motors, and relays.
- Example: A Raspberry Pi connected to temperature and humidity sensors
- via GPIO pins can monitor environmental conditions and send data to a cloud platform for analysis.
Programming Languages
Raspberry Pi supports multiple programming languages like Python, C/C++, and JavaScript.
BeagleBone in Internet of Things
- BeagleBone is a standalone computer developed by BeagleBoard.org.
- These boards are designed for embedded computing and IoT applications, offering features like GPIO pins, etc.
BeagleBone Boards
- BeagleBone boards, including BeagleBone Black and BeagleBone AI, provide different specifications such as CPU, RAM,
- and connectivity interfaces like Ethernet, USB, and HDMI.
- For example: BeagleBone Black is often used in IoT projects due to its cheap price and support for many expansion cards (Capes)..
Debian-based Operating System
- BeagleBone typically runs Debian-based Linux distributions such as Debia or a specialized OS
- like the Beaglebone Debian image, providing a familiar environment for developers.
Programmable Real-Time Units (PRUs)
- BeagleBone boards feature PRUs, which are programmable microcontrollers capable of real-time processing,
- This makes boards well-suited for tasks that demand accurate timing and precise control.
Intel Galileo in Internet of Things
- Intel Galileo is a series of development boards designed for IoT and embedded computing applications.
- These boards are based on Intel architecture and support various programming languages and interfaces.
Intel Galileo Boards
- Intel Galileo boards, such as Galileo Gen 2, are equipped with Intel processors, onboard peripherals,
- GPIO pins, and connectivity options like Ethernet and USB.
- Example: A project using Intel Galileo Gen 2 can interface with sensors,
- and communication modules to create IoT solutions for smart homes, industrial automation, or educational purposes.
Intel Quark Processors
- Intel Galileo boards are powered by Intel Quark processors,
- which provide sufficient computational power for IoT applications while consuming low energy.
Integrated Development Environment (IDE)
- Intel Galileo development is supported by IDEs such as Arduino IDE,
- Intel and Wind River Studio, offering tools for code development and deployment.
- Example: Developers use the Arduino IDE with Intel Galileo to write firmware in C/C++
- and upload it to the board for controlling sensors, motors, and other IoT components.
Industry Applications
- For example: A smart city project uses Intel Galileo boards in traffic monitoring to collect real-time data,,
- analyze traffic patterns, and optimize traffic flow for better urban management.
ARM Cortex Processors
- ARM Cortex processors are a family of low-power, high-performance processors commonly used in IoT devices and embedded systems.
- They offer scalability in terms of performance and features, allowing manufacturers to choose the right processor for their IoT applications.
- Despite their energy efficiency, Cortex processors provide sufficient
- processing power to handle complex computations in IoT devices.
- Some Cortex processors come with integrated connectivity options like Wi-Fi,
- Bluetooth, and cellular connectivity, simplifying IoT device design.
Example
- An example of using ARM Cortex processors in IoT is developing a wearable fitness tracker.
- The processor can handle real-time sensor data from accelerometers and heart rate sensors to track physical activity and health metrics.
- It can also connect to a smartphone via Bluetooth to sync data with fitness apps or cloud platforms for analysis.
Conclusion
Now we have basic understanding of Embedded computing , IOT supported hardware platforms such as Arduino, Net Arduino, Raspberry Pi, Beagle Bone, Intel Galileo boards and ARM cortex.