SmartKnob with BLDC

So some of you probably already seen SmartKnob project by Scott Bez.

Being inspired by his work I decided to design and develop my own implementation of this application, but more brutalist style with API that will control DigiPots and enable direct control over DacDSP.

This is for now early stage of development but so far:

  • using strong Tmotor GB36-1 motor for greater force feedback control

  • using same gc9a01 screen

  • since I have lots of as5600 I decided to modify them and denoise using filtering

  • all FDM printed with a lot of coats of primer and sanding bur effect is great

  • goiny to use BurrBrown or ES DAC

  • dual Chanel digipots to control analog volume via digital potneny as well as fading

  • applicaty to use it in my BMW E90 as car knob

  • planning to implement API control for dsp (minidsp) parameters such as eq, phase etc.

  • replacing vibration motor with tuned “jerk” of bldc motor

  • Deng FOC driver

  • Bluetooth integration for “remote” control


Very interesting project :slight_smile:

1 Like

Hi @Karl_Makes_Music

I have seen that the engine they use in the project is out of stock on AliExpress. Have you been able to find any alternative that is appropriate for this application? Do you know if it’s available on AliExpres?


This is challenging one. For now I’m using GB36-1 but it has one problem, actually two:

  • small shaft hole of only 5.7mm which forced me to use brass 5.5mm pipe as screen support.
  • diametrical magnets are sacre and only one I was able to find was 12x8x3 mm magnet.

Cogging is problem too, much better option would be GB2208 but shaft hole is only 4.7mm and if I use 4.5mm brass tube I won’t be able to fit in 8x 22AWG wires.

also it’s expensive motor.

T-Motor has other gimball motors with bigger shaft for similar price but it is nearly impossible to find diametrical magnet that would fit it.

I will see how I get on with GB36-1 after tuning and post results and CAD files.

As I said I wanted this motor as it has decent torque.

My alternative would be GL30 but these are 50USD +

1 Like

Nice info :slight_smile: keep us informed on your project

1 Like

I actually just started a similar project for my bmw e60 lol but i am using the knob to control settings on my haltech ECU , i bought a zhiyun crane 2 camera gimbal and it has 3 brushless motors with an stm32 , motor driver and magnetic positions ensor built into a tiny little package , i havent figured out how to tap into the stm32 yet but that might be an idea for you

1 Like

I’m afraid that these tiny gimbal BLDC will be too weak to support proper indentation and force feedback.
Current GB36-1 pulls 900mA at 2S but idea is it to have it limited at 3S and limit current to 1.2A.

I have lots of ESP32 so i will probably stick to it, in fact i could use ARM power to draw smoother sprites on the screen however ESP32 at 20Mhz SPI is more than sufficient as i get around 28fps.

On another hand knob does not have to be limited to music/sound functions only, but im not planning to write up API for anything outside of it. Maybe i could actually use CANBUS to read / write car data however placement of knob would be where xDrive natively would be located in driver well.

Seem that either magnet is too weak (as5600 magnitude reports weak magnet) or its just very noisy chip.

Will try to enable slow filtering else seek for different magnetic encoder chip, ideally SPI.

1 Like

Recent update on the project.

Replaced ESP32 for STM32F4xx
Replace AS5600 or AS5047U (also tried with magalpha MPS)
Replaced L6234 for TMC6300
Replaced magnet for double strength due to need for bigger airgap

What kept:

What’s coming up:

  • API for DigiPots (dual channel)
    -API for DSP control
  • API for BT and preamp control
  • addressable Led ring
  • either touch screen or weight scale module

Can you explain why you replaced the ESP32? What problems were you having?

1 Like

IO’s mainly

Need to hook up about 9 spi devices, need 16bit ADC, need efficient canvas rendering for graphics esp32 wouldn’t do what I want it to do. Also F4x is capable of DSP which for my application is necessary. It’s not teensy but would do


Did you use the ART accelerator?


Unfortunately I haven’t dive into art yet.

Added led module and printed top casing with about 36 manually drilled holes for that subtle effect.
Tomorrow FOC testing


In that case what’s the purpose of this MCU to render, since the ART accelerator is specifically designed to render graphics, if you are not using it? How did you render the graphics?

I know this has nothing to do with SimpleFOC, you may ignore my questions, this is not a critique of your design. I’m asking for my own education out of curiosity.


1 Like

How did you mount the magnet to the BLDC motor?

1 Like

I have used epoxy adhesive to attach 10/5/5DN magnet onto motor and used 5mm brass rod as static channel and magnet centering


Are you using any kind of decogging algorithm? I’m now using the same motor and driver but I’m getting small feelable cogging.

There is no magic decogging algo. What i do i introduce a force resistance, this mean that motor is always engaged with current limit to about 100mA, this make motor turn smooth like big old thick knobs.

1 Like