[040] NFC TEMPERATURE LOGGER

The starting constraint was easy to state and hard to meet: a standalone temperature logger, smaller than a one-euro coin, with the longest possible battery life, and contactless data retrieval.

The form factor forces brutal decisions from the start. No room for a large cell, no room for a conventional radio module, no room to afford ordinary standby consumption. Every microamp has to be justified.

The STM32L031G6U3TR was the obvious pick. It’s one of the most compact STM32 microcontrollers available — UFQ package, 3×3 mm — and it comes with the low-power modes needed to survive in very tight energy budgets. In stop mode with the RTC running, consumption drops to a few hundred nanoamps. On a small cell, that translates to months of autonomous operation.

Temperature measurement is handled by an external sensor selected for its footprint and current draw. The micro wakes up on a timer, takes a measurement, timestamps it, writes it to storage, and goes back to sleep. As simple as possible on the logic side, as frugal as possible on the energy side.

For data retrieval: NFC Mailbox. No permanent radio, no Bluetooth, no antenna burning current in standby. Bring a smartphone close, the NFC field partially powers the circuit, and the logged data is read directly from memory. Clean, instant, no dedicated battery needed on the reader side.

This project is a good example of what “design under constraint” actually means in practice: every single decision is a negotiation between size, power, and functionality.

[039] CUSTOM CAPACITIVE TOUCHPAD

Designing a touchpad feels like a standard project — until you start pinning down the actual constraints. Here, the sensing surface was long. Very long. And the geometry ruled out any off-the-shelf electrode layout.

The chosen electrode pattern is diamond-shaped. That’s not an arbitrary call: this geometry optimizes surface coverage while minimizing dead zones between detection nodes. On a large touchpad, it makes a real difference in terms of position linearity and detection consistency across the full length.

The problem is that the physical length of the circuit exceeded what a single capacitive touch controller could handle. The solution: two IQS9150 devices cascaded together. The IQS9150 is an Azoteq controller designed for capacitive matrix management — it handles electrode excitation, capacitance measurement, and position computation internally. Chaining two of them required careful synchronization and data sharing to make both halves of the touchpad behave as a single, coherent surface.

The electrode design itself went through several iterations. Each diamond cell has to be sized for adequate sensitivity without creating parasitic coupling between adjacent electrodes. PCB routing also needs to minimize stray capacitance to the ground plane, which directly degrades measurement dynamic range.

[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.