54mah isn't that high for STM32F405 since it runs at 238 µA/MHz at 168MHz without peripherals. STM32f411 is a good alternative since it runs at 100MHz max at 100 µA/MHz without peripherals.What if you disable FPU and half the running frequency of your STM32f405?BTW, how did you test the current consumption in this case? Just count how long it can last from a fully charged battery?
54mA was measured at 84MHz. Now I reduced clock frequency to 21MHz, and current is 23mA without motors and photo-sensors. FPU is very powerful function, so I choose the combination of low-frequency and with-FPU.I haven't known STM32f411. Thank you for telling the information. I'll try it for the next mouse.Current was measured by a tester. In this case, power is not supplied by the battery on the mouse but external power source with the current tester.
since F411 is not yet available to sell in Asia and NA(only in Europe), you can choose F401 instead, and it runs at 84MHz max with FPU with lightly high current consumption than F411. You might not need to redesign PCB if you buy a STM32F401/411RE to replace your F405RG/RE since their pin definition are compatible to each other.Running at 21MHz is kinda low for integer computation, especially with a 32 by 32 maze. May be the two op-amps "helped" a lot to raise the current consumption to 54mah? :D