To reduce the costs of the controller, I chose an avr chip as the MCU of the controller. The chip is ATmega1284P; it's not the best AVR chip out there. But the functionalities and the CPU power were enough to our machine.
But recently, we were thinking to add more functions to Sophia; this will consume more CPU power and more peripherals. We didn't just to update the MCU to a more advanced AVR chip. We need a powerful CPU, so we don't need to worry about the new CPU's capabilities.
ARM is the solution
Maybe three years ago, I developed a software library for STM32 ARM chips. So I can write firmware for the STM32 ARM just like for the Arduino by using Arduino IDE (version 1.5 or higher). Here is the code, if you want to check it out:
The library was working great, except some of the peripherals were not perfect. I thought that would be a good start point for our new controller.
First thing first, I must design the circuit and the PCB. So I can send the design to PCB factory to prototype the new board. While waiting for the board, I can start the new controller's firmware.
In the next few posts, I will talk about the circuit of the new design. Stay tuned.