# Help on Development guide for

**URL:** https://community.simplefoc.com/t/help-on-development-guide-for/8097
**Category:** developement
**Tags:** bldc, stm32
**Created:** [April 26, 2026, 12:46pm UTC](https://community.simplefoc.com/t/help-on-development-guide-for/8097 "2026-04-26T12:46:25Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![dekutree64](https://community.simplefoc.com/user_avatar/community.simplefoc.com/dekutree64/32/3398_2.png) [@dekutree64](https://community.simplefoc.com/u/dekutree64)
#### Post date: [April 26, 2026, 4:36pm UTC](https://community.simplefoc.com/t/help-on-development-guide-for/8097/2 "2026-04-26T16:36:56Z")

</div>

Usually it’s the other way around, halls give good high speed performance but stutter at low speed. If you’re printing any debug output, turn it off. STM32’s serial implementation is problematic that if you make two calls to Serial.print within a few milliseconds of eachother, the second one will block processing and cause the motor to stutter. A single call can print a fairly large amount of data without blocking, but even two single-character prints in a row will block it.

You can try [SmoothingSensor](https://github.com/simplefoc/Arduino-FOC-drivers/tree/master/src/encoders/smoothing) to improve low speed. Just create `SmoothingSensor smooth(hall, motor);` and `motor->linkSensor(&smooth);` and it will do its thing. You can also call `motor->linkSensor(&hall);` while running to compare the performance with and without smoothing.

My [Gooser](https://community.simplefoc.com/t/gooser-a-4-in-1-lepton-derivative/5325/103) is not KiCAD, but still good to learn from, or use it directly since it’s basically what you want. Some of the GPIO pins can be used to control a separate DC motor driver, or if you have an ESP32 or something for wireless communication then it could handle the DC motor.

---

_[View the full topic](https://community.simplefoc.com/t/help-on-development-guide-for/8097)._
