While the code is fairly simple (given the user has a good background with python) there are very few comments explaining WHY things are done.
For example in PCA9685.py there is no explanation/description about the register's and their purposes, why setPWM() has to write to the 4 LED0_* registers in order to set the pwm signal, or what the setPWMFreq() function is doing.
doing my own research led me to find the PCA9685's datasheet which sorta explains the reasoning behind the code, but I only knew to do that because of experience in the industry
IMO, if the point of this product is to provide people (especially beginners in the world of programming) with an easy to use learning platform to make a robotic RPI then the code should reflect that and help facilitate learning via better documentation
my suggestion would be to either add comments directly in the code or to provide external documentation that explains both hardware/software design decisions so that people who use this product as a learning tool can actually get more out of it
PCA9685.py
there is no explanation/description about the register's and their purposes, whysetPWM()
has to write to the 4LED0_*
registers in order to set the pwm signal, or what thesetPWMFreq()
function is doing.