[038] BLDC MOTOR CONTROL

This project is all about embedded BLDC motor control on an STM32 platform. Two different approaches were explored.

The first one: driving motors over a CAN bus. That means dealing with CAN communication, command framing, coordinating several motor controllers on a shared network, and handling basic fault conditions without things falling apart.

The second approach is more involved: direct three-phase control, with a custom motor driver built to handle 200 W at 24 V and 7 A. That includes designing the MOSFET power stage, PWM generation, commutation logic, current and voltage sensing, plus overcurrent and thermal protection.

Distance sensors and IMUs were also integrated to keep the system stable on sloped or uneven surfaces. The main thread running through all of it: getting power electronics, motor control, and sensor feedback to work together as one coherent system — not just as separate blocks bolted together.

[037] LOW-COST USB CONTROLLER

What’s actually inside a cheap game controller? That question was pretty much the starting point for this one.

The MCU is a GD32L233 — nothing flashy, but it gets the job done. It handles USB communication using the HID class, which means the controller works on any OS without custom drivers. The buttons use carbon contacts on PCB, exactly like real mass-produced controllers. Analog joysticks are read through the MCU’s ADCs with regular polling to keep the values clean.

There’s also a small vibration motor for haptic feedback, driven directly in software. Simple and effective. What I got out of this project, more than anything, was a much clearer picture of how these mass-market products are actually designed on the inside.

[036] IMU DATA LOGGER FOR MOTION ANALYSIS

The idea here was to capture motion data in real operating conditions — vibrations, orientation changes, transient events — without depending on a permanent network connection.

The system is built around an ESP32-S3, chosen for its processing power and built-in Wi-Fi. The IMU samples continuously, data gets timestamped, and it’s stored either on a microSD card for long sessions or transferred directly over Wi-Fi for quick access.

Both modes coexist, which gives real flexibility: leave the device running in the field without a network and retrieve the data later, or tap into live measurements if you’re within range. Compact, autonomous, and actually useful on a real job site.

[035] ETHERNET-BASED SMART LOCKER CONTROLLER

Managing a large number of compartments with individual state detection calls for a well-thought-out I/O architecture. The core here is an ATSAMD20, which handles input multiplexing — lots of IR sensors to monitor, not much room for redundant hardware.

Each channel is watched by an infrared sensor, with state updated continuously in real time. For communication with the supervisory system, Modbus over Ethernet was the obvious pick: robust, standard, and easy to drop into any industrial infrastructure. Daisy-chained Ethernet keeps expansion simple and cuts down on cabling. A solid example of what a modular, scalable architecture actually looks like in practice.

[034] MOTORIZED POSITIONING CONTROLLER

This project is built around a positioning controller with two clearly distinct operating modes.

In local mode, the operator drives the motors directly through an LCD interface that shows current position, system status, and movement state in real time. In remote mode, a UART serial link lets an external system take over and send automated positioning sequences programmatically.

The motor control logic is designed to ensure repeatable and predictable positioning. The ATmega2560 handles it all: motor control, HMI management, serial communication. Straightforward and functional — sometimes that’s exactly what a project needs to be.