Getting Started

Introduction

Before we start, it is important to understand the concepts of hardware and software. Hardware refers to the electronic and mechanical components of a system. Software is a combination of instructions, programs, data, and documentation used to program and perform specific tasks. An embedded system is a combination of both hardware and software, designed to perform a specific task. The hardware and software used in embedded systems are task-specific. Commonly, microcontrollers are used in embedded systems due to their programmability and ease of use. Programs are written specifically for the microcontroller and are uploaded using a device programmer.

Let’s visually introduce some of the controllers and tools we will be using in this tutorial.

Controllers

1. STM32 Controllers

STM32F407VG-DISC1

STM32F407VG-DISC1: STM32F407VGT6

Blue Pill

Blue Pill: STM32F103C8, STM32F103C6

Attention

Original Blue Pill has STM32F103C8 microcontroller. But in Nepal, it usually comes with STM32F103C6 microcontroller.

2. ESP Controllers

ESP32 WROOM32

ESP32 WROOM32

NodeMCU

NodeMCU: ESP8266

3. Raspberry Pi Controllers

PI PICO

Raspberry PI PICO: RP2040

PI PICO W

Raspberry Pi PICO W: RP2040 + CYW43439

4. Arduino Controllers

Arduino UNO

Arduino UNO

Arduino NANO

Arduino NANO

Arduino MEGA

Arduino MEGA

Note

Rashberry PI PICO W is extension of Rashberry PI PICO with Infenion CYW43439 connectivity chip.

Device Programmers and Debuggers

ST-Link V2 Duplicate

ST-Link V2

JLink Edu Mini

JLink Edu Mini

Attention

The ST-Link V2 shown above is duplicate. The original one looks shown below:

ST-Link V2 Original

Programming and Scripting Laguages

C

C

C++

C++

Python

Python

Make

Make

CMake

CMake

Bash

Bash

Softwares and SDKs are on next installation guide.