Revamping the circuit board became very apparent when I was programming the second version of the servo that using an analogue position sensor was just not going to cut it. I ordered the AMS AS5600 breakout board. This 12 bit digital angle sensor made the positioning much more accurate and allowed to reliably detect when the servo has done a complete turn to allow for a multi turn function. This lead to design a board that incorporates the angle sensor in it. That cemented the position of the board at the foot of the servo.
Once all that was established, I created a second version with the Mega 32U4. This "Leonardo" controller was used because I wanted to eliminate the FTDI chip and..... The serial comms were underwhelming to say the least. It would be unthinkable to have someone re-program the servo only to have it lock up with the reset button buried deep inside the servo..... So, once again, there was one more revision to incorporate the good old Arduino UNO chip with the FTDI.
I had made another project that was plagued with ground noises and different ground potentials. It ultimately lead me to install an opto isolator that cured pretty well everything. This is why on this new board. I wanted to have this feature for the RC because this problem was very hard to trouble shoot and it can be easy to say "well your servo is acting erratically when...". This leads to hunting for non existent firmware issues.....
Below is the progression of boards Oldest on top to newest at the bottom.