05 Mar

Linux Boot Process

Linux Boot

The Linux boot process is the procedure for initializing the system. The Linux boot process for an x86 system happens in the order below:

  • BIOS: the Basic Input/Output System which initializes the hardware including the screen and keyboard as well as testing the main memory. The BIOS software is usually stored on a ROM chip on the mother board.
  • Boot Loader. The system controls is now passed to the boot loader. The boot loader is usually stored in the boot sector for BIOS/MBR systems or the EFI partition for EFI/UEFI systems. Information on date, time, and peripherals are loaded from the CMOS values.
  • Read More

04 Mar

Linux Terminology


When talking about Linux, there are a few terms that you need to know. See below for the most common Linux terminology:

  • Kernel: a computer program that constitues the central core of a computer’s operating system as it has complete control over everything that occurs in the system. It controls the hardware and make the hardware to interact with the applications. Example: Linux kernel.
  • Distribution (or distro): a collection of programs along with the Linux kernel to make up a Linux-based operating system. Examples: Fedora, Ubuntu, or Gentoo.
  • Boot Loader: a computer program that loads an operating system or some other system software for the computer. Examples: GRUB or ISOLINUX.
  • Read More

03 Mar

Quad Core i.MX6 OpenRex SBC Announced


A Slovakia-based training and embedded firm Fedevel has recently announced an open source Linux-ready, i.MX6-based SBC called OpenRex. This SBC has Cortex-A9 cores and comes with Arduino as well as Raspberry Pi expansion. All of its design sources are released to the public before the boards are actually shipped. The OpenRex SBC is equipped with up to 4GB soldered DDR3-1066 RAM, up to 128MB SPI flash, Micro SD slot, SATA connector, HDMI, Pi-compatible camera input, Audio in/out jack, touchscreen connector and more.
Read More

02 Mar

Raspberry Pi 3 Thermal Performance

Raspberry Pi 3

Gareth Halfacree, author of the Raspberry Pi User Guide has recently measured the thermal performance of the Raspberry Pi and provided some interesting results. According to Gareth:

The new BCM2837 system-on-chip gets far, far hotter than its predecessors. This image was taken using a calibrated Flir thermal camera while the Pi 3 had been at 100% CPU load – but no GPU load – for five minutes, and registered nearly 100°C (212°F). I confirmed the temperature with a K-type contact probe, and also by poking the chip. Don’t poke the chip. It hurts.Gareth Halfacree

If this is true, Raspberry Pi 3 owners need to purchase some heatsink for the BCM2837 as soon as possible. More on this discovery at MakeZine.

26 Feb

Zephyr – RTOS for the Internet of Things


The Linux Foundation is a non-profit organization that sponsors the work of Linus Torvalds. Supporting companies include HP, IBM, Intel, and a host of other large corporations. The foundation hosts several Linux-related projects. This month they announced Zephyr, an RTOS aimed at the Internet of Things. Industrial and consumer IoT devices require software that is scalable, secure and enables seamless connectivity. Developers also need the ability to innovate on top of a highly modular platform that easily integrates with embedded devices regardless of architecture. While Linux has proven to be a wildly successful operating system for embedded development, some IoT devices require an RTOS that addresses the very smallest memory footprints. This complements real-time Linux, which excels at data acquisition systems, manufacturing plants and other time-sensitive instruments and machines that provide the critical infrastructure for some of the world’s most complex computing systems.
Read More

25 Feb

Next-Gen Sensors for Today’s Atheles


The wild popularity of smartphones and wearables has been driving down the cost of MEMS devices, including accelerometers, gyroscopes, magnetometers, and pressure sensors. These minuscule chips help to count steps, track calories burned, and monitor heart rate. Such data are useful, sure, but while these devices may nudge users to be more active, they don’t actually improve a swing, a punch, or a kick. To do so means moving sensors off the wrist and into sports gear—and that’s quickly happening. Indeed, you can now buy sensor-based equipment that can boost your performance, not only for golf but also for tennis, baseball, boxing, and soccer.
Read More

24 Feb

ARM Cortex-A32 Is A Tiny New Processor for IoT

ARM Cortex-A32

ARM’s Cortex CPU core designs are widely used by all kinds of chipmakers who don’t want to create their own ARM CPU designs from scratch, so it’s important to pay attention when the company announces a new one. The ones we see the most often around here are the mainstream 64-bit cores for smartphones and tablets—the high-end Cortex A72 and A57 and the mid-end Cortex A53—but ARM produces a variety of smaller designs for ultra-low-power and embedded applications, too.
Read More

17 Jan

[Espressif] ESP8266 Blinky – The ‘Hello World’ Example

ESP8266 Feather

We are going to look at the “Hello Wolrd” version of electronics: blinking an LED. Before compiling and uploading the firmware, ensure the toolchain set up properly. You can either set it up manually or using an integrated script.

Compiling the Code

The ESP8266 comes with some sample examples, which include the blinky test. All you have to do is cloning that Github repository:

mkdir -p ~/Repos/esp
cd ~/Repos/esp
git clone https://github.com/esp8266/source-code-examples.git
cd source-code-examples/blinky

The blinky directory contains the following files and directory:


Read More

15 Jan

[Espressif] Set up ESP8266 Toolchain and SDK


There are two methods to build a complete standalone SDK with toolchain for software development with the ESP8266. The following method is the easier method since it uses an integrated script to build the SDK. The other method takes longer as we have to build every single component for the toolchain. To go with the other method, go to Manually Build ESP8266 Toolchain and SDK. The instructions below are done using a 64-bit Debian Jesse machine.


Install the following packages to prepare for the build:

sudo apt-get install make unrar autoconf automake libtool gcc g++ gperf \
    flex bison texinfo gawk ncurses-dev libexpat-dev python python-serial sed \
    git unzip
sudo apt-get install libtool-bin

Read More

14 Jan

[Espressif] Manually Build ESP8266 Toolchain & SDK


There are two methods to build a complete ESP8266 Toolchain & SDK for software development. The following method takes longer since we are building every single component for the toolchain. To use an integrated script to build the SDK, follow the instructions at Set up ESP8266 Toolchain and SDK. The instructions below are done using a 64-bit Debian Jesse machine.


Crosstool-NG is targeted at building toolchains only. Crosstool-ND can build from generic, general purpose toolchains, to very specific and dedicated toolchains. Simply fill in specific values in the adequate options.


To install Crosstool-NG for ESP8266 development, first install the dependencies (for 64-bit Debian Linux):

apt-get install git autoconf build-essential gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev

Next, create an Espressif directory under /opt and change its ownership to your user name (replace [username] with local user:

mkdir /opt/Espressif
chown [username] /opt/Espressif/

Read More