• Add bookmark
EmbeddedExpertIO
  • Home

Working with STM32 and I2C: Writing a single Byte

Posted October 25, 2021 by Husamuldeen

In the pervious guide (from here), we took a look at DS3231 hardware and we read the second register and display the seconds on the terminal through UART. In this guide, we shall see how to write a single byte to a specific register. In this...

READ MORE
Getting started with STM32F7: Blinking LED

Getting started with STM32F7: Blinking LED

Posted October 21, 2021 by Husamuldeen

In this new guide series, we shall start developing peripheral for ARM Cortex M7 based MCU with STM32F7 specially STM32F767Zi Nucelo-144. In this guide, we will cover the following: Getting the documents Developing bare metal GPIO output Demo 1...

READ MORE

Working with STM32 and I2C: Reading single Byte

Posted October 19, 2021 by Husamuldeen

In the previous guide (here), we saw how to use I2C to scan the bus for the slave devices address. In this guide, we shall see how to read a single byte using I. In this guide, we shall use DS3231. In this guide, we shall cover the following...

READ MORE

Working with STM32 and Motors part 1 : Stepper Motor

Posted October 14, 2021 by Husamuldeen

In this guide,, we will learn to interface a stepper motor with STM32F411RE Nucleo-64. There are many options available for stepper motors. But in this tutorial, we will use an inexpensive 28BYJ-48 stepper motor for interfacing with...

READ MORE

Working with SPI displays and STM32: Driving ST7735

Posted October 11, 2021 by Husamuldeen

In the pervious guide, we took a look at how to send data over SPI (from here). In this guide, we shall use SPI to drive a lcd and display some variables on it. In this guide, we will need the following topics: SPI configuration : here Encoder...

READ MORE

Working with STM32 and ultrasonic: using timer and interrupt to measure the distance

Posted October 7, 2021 by Husamuldeen

In the previous guide(here), we looked at the operation principle of how ultrasonic works and we used very crude code to measure the distance. In this guide, we shall use external GPIO interrupt and timer 2 of the STM32F4 to measure the distance...

READ MORE

Working with STM32 and SPI : Send bytes using DMA

Posted October 4, 2021 by Husamuldeen

In the previous guide (here), we discussed how to send a single character using SPI in polling mode. This method will decrease the CPU performance since the CPU has to wait for each time before sending the character. In this guide, we shall...

READ MORE

Working with STM32 and SPI (Serial Peripheral Interface): Send a byte

Posted September 30, 2021 by Husamuldeen

In this guide, we shall discuss what is SPI and how transmit single byte over SPI. In this guide, we will cover the following: What is SPI SPI pin setup SPI initialize SPI transmite function Result 1. What is SPI SPI, which stands for Serial...

READ MORE

Changing core frequency of STM32F411 using registers only

Posted September 27, 2021 by Husamuldeen

In this guide, we shall use registers to change the core frequency from default 16MHz to 100MHz (maximum for F411RE). We shall use both keil uVision and STM32CubeIDE to change the core frequency to 100MHz. 1. Open CubMX After you select your MCU...

READ MORE

Working with STM32 and UART part 5: Receiving Characters using DMA

Posted September 23, 2021 by Husamuldeen

In pervious guides, we took look how to send string using DMA (here), and how to receive characters using interrupt(here). In this guide, we shall use DMA to receive 5 characters and echo back the received character using DMA also. In this guide...

READ MORE

Working with STM32 and Timers part 5: Encoder Mode

Posted September 20, 2021 by Husamuldeen

In previous guides, we looked at TIM2 of STM32 to generate delay, interrupts, PWM and how to use PWM to fade LED and control servo motors. In this guide, we shall cover how to use TIM2 of STM32 to read shaft encoder. We will cover the following...

READ MORE

Working with STM32 and I2C (Inter Integrated Circuit): I2C bus scanner

Posted September 16, 2021 by Husamuldeen

In this guide, we shall discuss what is I2C and how to make an i2c bus scanner to scan the slave devices that connected to the i2c1 bus of STM32F411 In this guide we will cover the following: What is I2C I2C setup for stm32f4 I2C bus scanner code...

READ MORE
1-1011-2021-30…363738394041-41
Categories
  • Data Structures
  • Deep Learning
  • Embedded Systems
  • LCD
  • Peripheral Drivers
  • State Machine
  • State Machines
  • STM32
  • TM4C123
  • Uncategorized

Get Our #1 Embedded Systems Bestseller on Amazon!

✅ Master Embedded Systems – Decode datasheets & build peripheral drivers from scratch.

✅ Hands-On Firmware Development – Work with GPIO, UART, SPI, I2C, ADC, DMA, and more.

✅ No More Blind Copying – Understand every line of code for real expertise.

✅ Advance Your Career – Gain confidence & independence in firmware development.

Join the EmbeddedExpertIO School

EmbeddedExpertIO School
Secure Boot From Ground Up™

Secure Boot From Ground Up™

Build a production-minded Secure Boot chain on STM32, including signing workflows, flash layout, policy enforcement, rollback control, and deterministic recovery.

$150.78
Zephyr OS from Ground Up™

Zephyr OS from Ground Up™

Hands-On Zephyr OS: Real-Time Firmware Development on STM32

$129.78
Mastering the CAN Bus from Ground Up™

Mastering the CAN Bus from Ground Up™

Navigating the Intricacies of the Controller Area Network(CAN)

$79.78
Advanced Digital Signal Processing on ARM Processors

Advanced Digital Signal Processing on ARM Processors

Filter Design, FFT, Realtime DSP, CMSIS-DSP

$129.99
Safety-Critical Embedded C++ Firmware Development

Safety-Critical Embedded C++ Firmware Development

Designing Deterministic, Standards-Compliant Firmware for Automotive, Aerospace and Industrial Applications with MISRA C++, AUTOSAR, DO-178C, ISO 26262, and IEC 61508

$129.78
Embedded C Test-Driven Development

Embedded C Test-Driven Development

Hands-On Guide to Embedded Test-Driven Development (TDD) for Professional Embedded C Developers

$99.78
Recent Comments
  • Husamuldeen on Working with STM32 and E-Ink Display Part 1: Introduction and Environment Setup
  • Marc on Working with STM32 and E-Ink Display Part 1: Introduction and Environment Setup
  • Husamuldeen on Getting Started with STM32F103: ADC Multi Channel Continuous Conversion Mode with DMA
  • Jose on Getting Started with STM32F103: ADC Multi Channel Continuous Conversion Mode with DMA
  • Husamuldeen on Working with STM32 and Acceleration Sensor: ADXL345 in SPI mode Part 2
Archives
Advanced Embedded Object-Oriented Programming in C++

Advanced Embedded Object-Oriented Programming in C++

Mastering C++ Object-Oriented Programming for Microcontroller-Based Firmware Development

$129.78

 All Rights Reserved

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish.Learn more here
Manage consent

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary
Always Enabled
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
SAVE & ACCEPT