BLDC Motors Control

This article describes work around embedded motor control and autonomous system design, with a focus on BLDC motors, power electronics, and sensor integration.

The system architecture is based on STM32 microcontrollers, used for real-time control, peripheral management, and system supervision.

Two motor control approaches are addressed.
The first relies on BLDC motors controlled over a CAN bus, covering CAN communication, command framing, coordination of multiple motor controllers, and basic fault handling on a shared network.

The second approach involves direct three-phase BLDC motor control, including the design of a custom motor driver rated at 200 W, 24 V, 7 A. This work includes:

  • Three-phase power stage design using MOSFETs and gate drivers
  • PWM generation and commutation logic
  • Current and voltage sensing
  • Overcurrent and thermal protection mechanisms

Sensor inputs such as distance sensors and IMUs are integrated to support safe operation and adaptive behavior, particularly on inclined or unstable surfaces.

Overall, the work focuses on building reliable embedded control systems by combining motor control, power electronics, and sensor feedback in a coherent architecture.

USB Controller

This article describes work related to a USB game controller, with a focus on embedded firmware, USB communication, and cost-constrained hardware design.

The system is based on a GD32L233 microcontroller, used to handle USB device communication, digital input scanning, analog signal acquisition, and basic actuator control.

USB communication is implemented using the HID (Human Interface Device) class, allowing direct compatibility with standard operating systems without custom drivers. Firmware logic converts button states and analog inputs into compliant HID reports.

Button inputs rely on carbon contact switches on PCB, a common solution in mass-produced controllers due to its simplicity and low cost. Analog joysticks are sampled through the MCU’s ADCs, with signal conditioning and periodic polling to ensure stable input readings.

A small vibration motor is controlled via the microcontroller to provide haptic feedback, using simple software-driven control techniques.

Overall, the work focuses on understanding how low-cost USB input devices are designed internally, and how embedded firmware, USB protocols, and minimal hardware can be combined to reproduce standard controller behavior under tight cost constraints.

IMU Data Logging for Motion Analysis

This article describes work related to embedded motion data logging, focusing on inertial sensing, data acquisition, and wireless data access.

The system is based on an ESP32-S3 microcontroller, selected for its processing capabilities and integrated Wi-Fi. The device operates as a standalone data logger while allowing wireless configuration and data retrieval.

An onboard IMU is used to measure acceleration and angular rate. Sensor data is sampled continuously, timestamped, and organized to capture motion dynamics such as vibrations, orientation changes, and transient events.

Data storage is handled through two complementary mechanisms:

  • Wireless data transfer over Wi-Fi for quick access and configuration
  • Local storage on microSD, enabling long-duration recording without network availability

This dual approach improves reliability during extended data collection sessions.

Overall, the work focuses on combining inertial sensing, embedded data logging, and wireless connectivity to support motion analysis in real operating conditions.

Ethernet-Based Controller for Multi-Channel Access Systems

This article describes work related to the design of an embedded controller for managing multiple access-controlled compartments, with a focus on scalable I/O handling and industrial network communication.

The system is based on an ATSAMD20 microcontroller, responsible for real-time control, sensor acquisition, and network communication. A key aspect of the design is the use of I/O multiplexing, allowing a large number of inputs to be managed efficiently while keeping the hardware compact and cost-effective.

Each channel is monitored using infrared sensors to detect state changes or object presence. Sensor data is continuously sampled and processed to maintain an up-to-date system state.

Communication with a supervisory system is handled over Ethernet using the Modbus protocol, enabling integration into industrial or automation-oriented infrastructures. The hardware includes support for daisy-chained Ethernet connectivity, simplifying system expansion and reducing cabling complexity.

Overall, the work focuses on combining multiplexed I/O, sensor monitoring, and robust Ethernet communication to build modular and scalable embedded control systems.

Motorized Positioning Controller with Local and Serial Control

This article describes work related to the design of an embedded motorized positioning controller, focusing on motion control, user interaction, and serial communication.

The system is based on an ATmega2560 microcontroller, responsible for motor control, user interface management, and external communication. A local LCD interface provides real-time feedback such as position information, system status, and movement state.

The controller supports two operating modes.
A local mode allows direct manual control of the motors through the interface, useful for setup or adjustment tasks.
A remote mode enables automated control via a UART serial link, allowing an external system to command positioning sequences programmatically.

Motor control logic is designed to ensure repeatable and predictable positioning, with clear separation between motion handling and interface logic.

Overall, the work focuses on integrating motor control, human-machine interaction, and serial communication into a compact embedded controller suitable for automated positioning applications.