Blueprint

ArsonBrush

A toothbrush

Created by John Meshtastic John Meshtastic 🚀

Tier 3

4 views

0 followers

Iamalive Iamalive 🚀 approved ArsonBrush ago

Tier approved: 3

Grant approved: $94.00

AWESOME PROJECT I LOVE THIS!!!!

John Meshtastic John Meshtastic 🚀 submitted ArsonBrush for review ago

John Meshtastic John Meshtastic 🚀 added to the journal ago

Firmware!

I finally chose every function of each pin of the STM32C0 in STM32CUBE-MX.
image
Next, I implemented a basic demo of the code in C with the STM32 HAL I never really used before.
In the end, I managed to implement the high impedence battery voltage sensing, button interrupts, 50% pwm duty cycle at 24khz for the motor, a demo for the USART connection, and low battery alerts.
Did I mention it compiles successfully??!
image

John Meshtastic John Meshtastic 🚀 added to the journal ago

3D model + base PCB!

I added a grounded copper sheet sandwitched between the motor and the pcb, to reduce EMI and providing a nice, big, low impedance ground.
I also chose the pogo pins to use, the base MCU, and the perfect battery.
put all in a 3D model:
image

Added a case:
Screenshot From 2025-12-26 21-59-03
Screenshot From 2025-12-26 21-58-58

And this is done!

Now time for the base pcb:
I added the supermini, an oled screen I have lying around and a resistor+led for status
image
And routed it!
image

John Meshtastic John Meshtastic 🚀 added to the journal ago

Newer IMU!

I went to check the final price of the PCB, and it was over 80$ and I saw that a lot of money went to the MPU6050.
I looked at the other option and settled on the far better LSM6DSRTR, which reduced the total cost to a more sensible 60$.
image

image

On a sidenote, I also managed to find some nice Pogo pin connectors and a nice battery to add, but that's for another journal

John Meshtastic John Meshtastic 🚀 added to the journal ago

Routedmaxxed

image
Finished the schematic, added battery sensor functionality,and a bit more decoupling for the motors.
Fixed IMU caps to follow the datasheet.
Routed entire board, (with multiple iterations)
image

image

Made it all fit in 1.2cm of width! (same as an oral-b toothbrush, though I have A LOT more components)

John Meshtastic John Meshtastic 🚀 added to the journal ago

Schematic done!

image
I made the schematic, switched out the MSPM0 for an STM32C0.
took a long time figuring out datasheets and pins to wire.
I have set the charging speed via a resistor to 300mA. that means that charging a 18650 will take ~10 hours.
I have added the brush button to a WAKE pin of the stm32 so I can make it go to sleep when not in use.
I have also made a rough sketch on Onshape for the sizes, it'll be roughly 16cm long and hopefully I will manage to house the pcb vertically, sandwiched between battery and case.
image

John Meshtastic John Meshtastic 🚀 added to the journal ago

Looking for components

Heyo!
I wanna try making an electric toothbrush, I am reusing a perfectly fine dc motor I harvested from a dead Oral-b toothbrush.
I want to make both the toothbrush pcb and a base for it
Settled on the MSPM0C1104 microcontroller, DRV8833RTYR motor controller, MPU-6050 for the IMU, and the CN3058E for charging.
You might notice that I'm not using any regulator for my components, this is beacuse I am using a LiFePO4​ battery (voltage goes up to 3v6).
The base station will most probably house an esp32 and will connect to the brush via audio jack.
The cases will be designed in 3D and printed on my own printer I have at home.

image

John Meshtastic John Meshtastic 🚀 started ArsonBrush ago

11/28/2025 - Looking for components

Heyo!
I wanna try making an electric toothbrush, I am reusing a perfectly fine dc motor I harvested from a dead Oral-b toothbrush.
I want to make both the toothbrush pcb and a base for it
Settled on the MSPM0C1104 microcontroller, DRV8833RTYR motor controller, MPU-6050 for the IMU, and the CN3058E for charging.
You might notice that I'm not using any regulator for my components, this is beacuse I am using a LiFePO4​ battery (voltage goes up to 3v6).
The base station will most probably house an esp32 and will connect to the brush via audio jack.
The cases will be designed in 3D and printed on my own printer I have at home.

image

12/21/2025 - Schematic done!

image
I made the schematic, switched out the MSPM0 for an STM32C0.
took a long time figuring out datasheets and pins to wire.
I have set the charging speed via a resistor to 300mA. that means that charging a 18650 will take ~10 hours.
I have added the brush button to a WAKE pin of the stm32 so I can make it go to sleep when not in use.
I have also made a rough sketch on Onshape for the sizes, it'll be roughly 16cm long and hopefully I will manage to house the pcb vertically, sandwiched between battery and case.
image

12/23/2025 - Routedmaxxed

image
Finished the schematic, added battery sensor functionality,and a bit more decoupling for the motors.
Fixed IMU caps to follow the datasheet.
Routed entire board, (with multiple iterations)
image

image

Made it all fit in 1.2cm of width! (same as an oral-b toothbrush, though I have A LOT more components)

12/26/2025 11 AM - Newer IMU!

I went to check the final price of the PCB, and it was over 80$ and I saw that a lot of money went to the MPU6050.
I looked at the other option and settled on the far better LSM6DSRTR, which reduced the total cost to a more sensible 60$.
image

image

On a sidenote, I also managed to find some nice Pogo pin connectors and a nice battery to add, but that's for another journal

12/26/2025 10 PM - 3D model + base PCB!

I added a grounded copper sheet sandwitched between the motor and the pcb, to reduce EMI and providing a nice, big, low impedance ground.
I also chose the pogo pins to use, the base MCU, and the perfect battery.
put all in a 3D model:
image

Added a case:
Screenshot From 2025-12-26 21-59-03
Screenshot From 2025-12-26 21-58-58

And this is done!

Now time for the base pcb:
I added the supermini, an oled screen I have lying around and a resistor+led for status
image
And routed it!
image

12/27/2025 - Firmware!

I finally chose every function of each pin of the STM32C0 in STM32CUBE-MX.
image
Next, I implemented a basic demo of the code in C with the STM32 HAL I never really used before.
In the end, I managed to implement the high impedence battery voltage sensing, button interrupts, 50% pwm duty cycle at 24khz for the motor, a demo for the USART connection, and low battery alerts.
Did I mention it compiles successfully??!
image