I am designing actuator inspired by the project (berkeley-humanoid actuator docs). While their design uses I2C for the encoder and custom firmware for the FOC loop, I want to utilize the AS5047P (datasheet) over SPI for higher bandwidth and accuracy, and the simpleFOC library for control.
I want to run SimpleFOC on the B-G431B-ESC1 with the following requirements:
-
Encoder: AS5047P via SPI.
-
Telemetry: Real-time (position, velocity or torque) setpoints and telemetry over CAN
-
Control: High bandwidth current/torque control loops using simpleFOC
Is this even possible and if so what is the most effective pinout to use both SPI and CAN bus functionality? If this is not possible what is the next best option to achieve my requirements?
Thanks in advance! ![]()