About us

EmbeTronicX is a technology-driven company from India that helps Students, Hobbyists, Engineers, and startups build their electronics projects and products. EmbeTronicX has 10+ years of experience in the Electronics Design of customized electronic product development. Also, we are writing tutorials that cover embedded programming, projects, and more. Here, we provide a tailor-made approach to make you understand complex concepts in a better and simpler manner.

What did our Customers say?

Our Projects and Tutorials

 

STM32 Tutorials

ARM Cortex Concepts

VIC and NVIC in ARM
Reset Sequence in Cortex-M4

STM32 Bare Metal Tutorials

Creating a New Project for STM32 - Bare metal Part 1
STM32 GPIO Tutorial - Bare metal Part 2
STM32 Timer Tutorial Part 1 – Bare Metal Part 3

STM32 RTOS Tutorials

Getting started with STM32 RTOS
STM32 RTOS – GPIO Tutorial (CMSIS V2)

STM32 STM32CubeIDE Tutorials

STM32 SD Card Interfacing – STM32 SPI
STM32 Ethernet Example – HTTP Server Part 1
STM32 Ethernet using CGI – HTTP Server Part 2
STM32 DMA – Part 1 (Memory to Memory Transfer)
STM32 UART DMA – Part 2 (Peripheral to Memory Transfer)
STM32 USB Host MSC – Connect Pendrive to STM32
STM32 USB Device MSC using RAM – USB Device Tutorial Part 1
STM32 USB Device MSC using Internal Flash – USB Device Tutorial Part 2

STM32F7(Cortex-M7) Bootloader Tutorials

Bootloader Basics - Bootloader Part 1
Bootloader Design – Bootloader Part 2
Simple STM32 Bootloader – Bootloader Part 3
Flashing Application using Bootloader - Bootloader Part 4
Bootloader Two slots and CRC32 - Bootloader Part 5
STM32 Firmware Update Over the Air (FOTA) – Bootloader Part 6
STM32 Firmware Update using SD Card – Bootloader Part 7

STM32F1 (Cortex-M3) Bootloader Tutorials

Bootloader Basics - Bootloader Part 1
Simple STM32F103 Bootloader Implementation – Bootloader Part 2
STM32F1 Firmware Update using Custom Bootloader – Bootloader Part 3

STM32 MikroC for ARM Bootloader Tutorials

Bootloader Basics – Part 1
STM32 MikroC Custom Bootloader - Part 2
STM32 MikroC Bootloader using SD Card - Part 3

Raspberry Pi Pico Tutorials

LPC2148 Tutorials

LPC2148 ARM7 Introduction

LPC2148 Introduction
Keil IDE Setting Up
LPC2148 - PLL Tutorial
LPC2148 - GPIO Tutorial
LPC2148 -
Timer/Counter Tutorial
LPC2148 - UART Tutorial
LPC2148 - ADC Tutorial
Vectored Interrupt Controller (VIC and NVIC)
LCD Interfacing 8 bit Mode
LCD Custom Character Display
LCD Interfacing 4 bit Mode
DC Motor Interfacing
Relay Interfacing
Keypad Interfacing
GSM SIM900A Interfacing
RFID Reader Interfacing
Ultrasonic Sensor Interfacing
GPS Interfacing
PIR Sensor Interfacing
RF Module Interfacing
IR Sensor Interfacing
Bluetooth Interfacing (BT)
LDR Sensor Interfacing
Sound Sensor Interfacing
Touch Sensor Interfacing
Flame Sensor Interfacing
Rain Sensor Interfacing
LPG Gas Sensor Interfacing

PIC16F877A Tutorials

PIC16F877A Introduction
PIC16F877A - GPIO Tutorial
PIC16F877A - Timer Tutorial
PIC16F877A - USART Tutorial
PIC16F877A - ADC Tutorial
PIC16F877A - I2C Tutorial
PIC16F877A - Interrupts Tutorial
PIC16F877A - Multiple External and PORTB Interrupts
LCD Interfacing 8 Bit Mode
LCD Interfacing 4 Bit Mode
DC Motor Interfacing
Relay Interfacing
Keypad Interfacing
GSM SIM900A Interfacing
RFID Reader Interfacing
RTC (DS1307) Interfacing
GPS Interfacing
PIR Sensor Interfacing
IR Sensor Interfacing
Bluetooth Interfacing (BT)
LDR Sensor Interfacing
Sound Sensor Interfacing
Touch Sensor Interfacing
Flame Sensor Interfacing
Rain Sensor Interfacing
LPG Gas Sensor Interfacing

Unit Testing Tutorials

unit testing in embedded c

Unit Testing 1 - Introduction
Unit Testing 2 - Code Coverage
Unit Testing 3 -Install Ceedling
Unit Testing 4 – Testing with Unity
Unit Testing 5 - Mock using CMock

Automotive Tutorials

UDS Protocol Introduction (Unified Diagnostic Services) – UDS Protocol Tutorial Part 1
Diagnostics and Communication Management – UDS Protocol Tutorial Part 2
Data Transmission – UDS Protocol Tutorial Part 3
Input Output Control – UDS Protocol Tutorial Part 4
Routine Control Unit – UDS Protocol Tutorial Part 5
Upload Download Function Unit – UDS Protocol Tutorial Part 6

AUTOSAR Tutorials

AUTOSAR Introduction – AUTOSAR Tutorials Part 1
Application Layer in AUTOSAR – AUTOSAR Tutorials Part 2
Run Time Environment (RTE) Layer – AUTOSAR Tutorials Part 3

VHDL Tutorials

Introduction to Verilog

Introduction to Verilog – VHDL Part 1
Modeling, Simulation, and Synthesis - VHDL Part 2
Lexical Tokens – Verilog Tutorial Part 3

FreeRTOS Tutorials

FreeRTOS Porting for LPC2148 Using Keil

RTOS Introduction - Part 1
RTOS Introduction - Part 2
FreeRTOS Porting on LPC2148
FreeRTOS - Task Creation
FreeRTOS - Task Creation with Parameters
FreeRTOS - Binary Semaphore
FreeRTOS - Binary Semaphore in ISR
FreeRTOS - Counting Semaphore
FreeRTOS - Mutex Tutorial
FreeRTOS - Queue Tutorial
FreeRTOS - LED & LCD Task

RT-Thread RTOS Tutorials

RT-Thread RTOS Introduction
Getting Started STM32 with RT-Thread Tutorial – Part 1
Thread Management using STM32 GPIO – RT-Thread Tutorial Part 2
RT-Thread Timer Explained using STM32 – RT-Thread Tutorial Part 3
Thread Synchronization (Semaphore) – RT-Thread Tutorial Part 4
Mutex and Event– RT-Thread Tutorial Part 5
Mailbox (Inter-thread communication) – RT-Thread Tutorial Part 6
Queue (Inter-thread Communication) – RT-Thread Tutorial Part 7
Signal (Inter-thread communication) – RT-Thread Tutorial Part 8

Zephyr RTOS - STM32 Tutorials

zephyr rtos stm32

Setup Zephyr RTOS for STM32 – Part 1

Zephyr RTOS - ESP32 Tutorials

zephyr rtos esp32

Setup Zephyr RTOS for ESP32 – Part 1

NuttX RTOS Tutorials

Setup NuttX RTOS with ESP32
Blink LED on ESP32 using NuttX RTOS
ESP32 LED Blinky Example using NuttX (own app and driver)
ESP32 GPIO Interrupt example
NuttX RTOS I2C Example (ESP32 – ADXL345)
ADXL345 Single and Double Tap Detection
NuttX RTOS SPI Tutorial using ESP32

RTX RTOS Tutorials

RTX RTOS Porting for LPC2148 in Keil
RTX Real-Time Kernel
LPC2148 - RTX RTOS Porting
Keil Setup for STM32 CMSIS RTOS
RTX RTOS – STM32 GPIO Tutorial (CMSIS V2)

8051 Tutorials

8051 Introduction
Keil Installation
Project Creation in Keil
8051 - GPIO Tutorial
8051 - Timer/Counter Tutorial
8051 - UART Tutorial
8051 - Interrupt Tutorial
LCD Interfacing - 8 bit Mode
LCD Custom Character
LCD Interfacing- 4 bit Mode
DC Motor Interfacing
Relay Interfacing
Keypad Interfacing
ADC0804 Interfacing
ADC0808 Interfacing
Ultrasonic Sensor Interfacing
GSM SIM900A Interfacing
RFID Reader Interfacing
EEPROM Interfacing (I2C)
RTC (DS1307) Interfacing
PIR Sensor Interfacing
IR Sensor Interfacing
GPS Interfacing
Bluetooth Interfacing (BT)
Sound Sensor Interfacing
Touch Sensor Interfacing
Flame Sensor Interfacing
Rain Sensor Interfacing
LPG Gas Sensor Interfacing
NRF24L01 interfacing (SPI)– Wireless Xbee

ESP32 IDF Tutorials

ESP32-IDF getting started

ESP32 Introduction & Initial Process Flow
ESP32-IDF Getting Started
ESP32 GPIO Tutorial – LED Blinking and Push Button Example
ESP32-IDF UART Tutorial

Raspberry Pi Tutorials

GPIO Linux Device Driver Basic using Raspberry PI
GPIO Linux Device Driver using Raspberry PI
I2C Linux Device Driver using Raspberry PI
Dummy I2C Bus Linux Device Driver using Raspberrry Pi
Real I2C Bus Linux Device Driver
I2C Bus Linux Device Driver using I2C-GPIO
SSD1306 Linux Device Driver
Softirq in Linux Device Driver
Threaded IRQ in Linux Device Driver
SPI Device Driver - Raspberry PI
Adding a Real Time Clock to your Raspberry Pi – RTC DS3231

Embedded Interview Topics

Interview Topics

Linux Device Driver Tutorials

Device Driver 1 - Introduction
Device Driver 1.1 - Setup Ubuntu and Raspberry PI
Device Driver 1.2 - Setup Beaglebone Board
Device Driver 2 - First Driver
Device Driver 3 - Passing Arguments
Device Driver 4 - Major & Minor Number
Device Driver 5 - Creating Device File
Device Driver 6 - File Operations
Device Driver 7 - Real Device Driver
Device Driver 8 - IOCTL Tutorial
Device Driver 9 - Procfs Tutorial
Device Driver 10 - Waitqueue Tutorial
Device Driver 11 - SysFS Tutorial
Device Driver 12 - Interrupts Tutorial
Device Driver 13 - Interrupt Programming
Device Driver 14 - Workqueue (Static Method)
Device Driver 15 - Workqueue (Dynamic Method)
Device Driver 16 - Own Workqueue
Device Driver 17 - Linked List 1
Device Driver 18 - Linked List 2
Device Driver 19 - Kernel Thread
Device Driver 20 - Tasklet (Static Method)
Device Driver 21 - Tasklet (Dynamic Method)
Device Driver 22 - Mutex Tutorial
Device Driver 23 - Spinlock Tutorial 1
Device Driver 24 - Spinlock Part 2 (Read/Write Spinlock)
Device Driver 25 - Sending Signals
Device Driver 26 - Kernel Timer Tutorial
Device Driver 27 -High Resolution Timer Tutorial
Device Driver 28 - Completion Tutorial
Device Driver 29 - EXPORT_SYMBOL
Device Driver 30 - Atomic Variables Tutorial
Device Driver 31 – Seqlock
Device Driver 32 – Misc Device Driver
Device Driver 33 – USB Device Driver Basics
Linux Device Driver 34 – USB Device Driver Example Program
Device Driver 35 – GPIO Driver Basic
Device Driver 36 – GPIO Interrupt
Device Driver 37 – I2C Linux Device Driver
Device Driver 38 – Dummy I2C Bus Driver
Linux Device Driver Part 39 – Real I2C Bus Driver
Device Driver 40 – I2C Bus Driver using I2C-GPIO
Device Driver 41 – SSD1306 I2C Linux Device Driver
Device Driver 42 - Poll Linux Example
Device Driver 43 - Select Linux Example
Device Driver 44 – E-Poll Linux Example
Device Driver 45 – Softirq Linux Example
Device Driver 46 – Threaded IRQ in Linux
Device Driver 47 - SPI Protocol Driver
Device Driver 48 - BMP280 I2C Pressure sensor Driver

C Programming Tutorials

Introduction to C programming

Introduction to C Programming
Operators in C
Bitwise Operator in C
Data types in C Programming
Variables in C Programming
Storage Class in C Programming
Functions in C (Call by value, Call by reference & Recursive Function)
Preprocessor in C Programming
Macro VS Inline
Typedef Tutorial
Enum Tutorial
Typecasting Tutorial
Qualifiers Tutorial
Little and Big Endian
Flow Control in C
Conditional Statements in C (if, if…else, else if, nested if, switch)
Loops in C – For, While, Do While loop
Jump Statements in C – break, continue, goto, return
Array in C programming
Strings in C – String manipulation
Structure, Structure Padding, Packing, Bit fields
Union in C Programming
Pointers - Part 1
Pointers - Part 2
Types Of Pointers in C
Callback Function in C
Compilation Steps of C Program
Memory Layout of C Program
Stringizing Operator (#)
Token Pasting Operators (##)
Understanding of container_of macro
Flexible Array Member in C (FAM)
Introduction – Data Structures Part 1
Stack Data Structure – Data Structures Part 2
Stack using Linked list – Data Structures Part 3
Queue Data Structure – Data Structures Part 4
Queue using Linked list – Data Structures Part 5

8051 Projects

8051 Pin Diagram
Gas Leakage Detection System
Hump And Pothole Detection on Roads
RTC Interfacing (Alarm Clock)
Accident Detection And Alerting System Using GSM

LPC2148 Projects

Password Based Door Open System

Other Tutorials

Serial Communication Introduction
Interrupt Tutorial
I2C Basics - Part 1
I2C Basics - Part 2
SPI – Serial Peripheral Interface Protocol
Matrix Keypad Introduction
Relay Driver (ULN2803) Working
Motor Driver (L293D) Working
Ultrasonic Sensor (HC-SR04) Introduction
How Does RFID Works?
GSM SIM900A Introduction
BLE Introduction - Part 1
BLE Introduction - Part 2
Understanding the Microcontroller GPIO
LED Matrix and How to make our own LED Dot Matrix?
How wireless nRF24L01+ module works?
Fixed: Prolific PL2303TA USB to Serial Windows 11 Problem
Embedded Companies in India
What Is The Purpose Of Electronic Manufacturing Service Firms?