Understanding the Horizon RDK X3 Development Board Upgrade

Understanding the Horizon RDK X3 Development Board Upgrade

0x01 Re-Understanding RDK X3 The X3pi product has been on the market for some time. From January 2023 to now January 2024, the X3Pi community (https://developer.horizon.ai/), the Horizon Developer Platform HHP, and the robot operating system tros.bot (https://developer.horizon.ai/togetherosbot), including the X3Pi, have all been updated to RDK X3 2.0; However, the concept of the Horizon … Read more

How Powerful Is the ESP32 Compared to STM32?

How Powerful Is the ESP32 Compared to STM32?

The development board is a circuit board used for embedded system development, including a series of hardware components such as a central processing unit, memory, input devices, output devices, data pathways/bus, and external resource interfaces. When it comes to development boards, we must mention the king of cost-effectiveness MCU—the ESP32 development board. 1. Powerful Functions … Read more

Best ARM Development Boards for Beginners

Best ARM Development Boards for Beginners

Many electronics novices are often required to choose a development board for practical design while learning ARM, which is an important step in learning embedded systems development. However, there are various ARM development boards on the market. How can one choose the right development board based on their learning direction? 1. Raspberry Pi The Raspberry … Read more

Lesson 11: Using Serial Port (UART)

Lesson 11: Using Serial Port (UART)

Click on the “Baijun Technology” above, select “Pin to Top” Embedded essentials, delivered with one click The enhanced version of the ARM Bare Metal Phase 1 video course, supporting Wiki Lesson 11: Using Serial Port (UART), consists of 2 sections: Section 001: Auxiliary Line 1: Hardware Knowledge – Introduction to UART Hardware and Section 002: … Read more

Comparing UART and CAN Protocols

Comparing UART and CAN Protocols

Follow+Star Public Account, don’t miss exciting content Author | strongerHuang WeChat Public Account | strongerHuang The CAN bus was initially mainly used in the automotive and industrial control fields. With the continuous maturity of CAN bus technology, it is no longer limited to the automotive industry and is now widely used in aerospace, medical, robotics, … Read more

Can SPI Use UART Communication Protocol?

Can SPI Use UART Communication Protocol?

Follow+Star Public Account, don’t miss out on exciting content Author | strongerHuang WeChat Official Account | strongerHuang Recently, a reader asked this question: Can SPI use the UART custom communication protocol? In principle: as long as the communication protocol is not directly related to the underlying communication interface (hardware), it can be used. For example, … Read more

Do UART Serial Ports Need DMA for Transmission?

Do UART Serial Ports Need DMA for Transmission?

DMA is a commonly used feature in embedded real-time task processing. Using DMA for UART data packet transmission can significantly reduce CPU processing time, preventing excessive waste of CPU resources, especially when transmitting a large number of data packets (such as high-frequency command transmissions). Brief Introduction to DMA DMA: Direct Memory Access. In simple terms, … Read more

Learning I2C Protocol – Hardware I2C Implementation

Learning I2C Protocol - Hardware I2C Implementation

Initial Implementation of Hardware I2C Based on Standard Library 1. Introduction to Basic Library Functions of Hardware I2C void I2C_DeInit(I2C_TypeDef* I2Cx); void I2C_Init(I2C_TypeDef* I2Cx, I2C_InitTypeDef* I2C_InitStruct); void I2C_StructInit(I2C_InitTypeDef* I2C_InitStruct); void I2C_Cmd(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTART(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_GenerateSTOP(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_AcknowledgeConfig(I2C_TypeDef* I2Cx, FunctionalState NewState); void I2C_SendData(I2C_TypeDef* I2Cx, uint8_t Data); uint8_t … Read more

Getting Started with MicroPython: A New Choice for Embedded Systems Development

Getting Started with MicroPython: A New Choice for Embedded Systems Development

Introduction: A New Era in Embedded Development In the field of embedded systems development, a remarkable new star is rising—MicroPython. As a streamlined and powerful implementation of Python, MicroPython brings the convenience and flexibility of a high-level programming language to embedded devices. This article will explore the features, applications, and how to get started with … Read more