There are a great many segway bots based on the Nema 17 motors. This one is focused on use of Esp32 so I liked it.
This is by Wouter Klop but a great deal of code had 'hacker' sort of issues like hard coded constants and extreme lack of comments.
I do feel that Wouter Klop DOES get PID and all of this technology so i will give him benefit of the doubt to say he offered it all and this was just some 'diversion' project.
I am VERY well aware that to go from working project to fully documented and supportable code is a MASSIVE effort so i wil say he put it out there but it is 'crude'.
I have my own code greatly documented beyond his so contact me if you 'really' are doing this. Don't ask me if you are NOT really going to do this.
There is near zero discussion of the PID parameters so I added a great deal of explanation there. I think 'Wouter' gets it but mere mortals will have to struggle with his original code (with near zero comments). His PID stuff is written in a super concise way that is not at all 'self documenting' in reading it.
Ideal PID code for readability separates the P, I , D components for the next output sample nicely in variables. He jams it all together with zero comments.
I did 3D printed wheels, the lower 'chassis' for holding the Nema 17 motors then made my own upper body to nicely match my own bot seen in the video. I used some of his lower body ideas but found other wheels that are for 5mm shaft of the Nema 17 motors and had to enlarge them a tiny bit to properly hold these big O-Rings used for the floor surface 'tires'. Nuff of that except to give you the thought that the body of a robot generally always needs tweeking for what materials you can have and find.
Today I got my 'FlySky i6' RC transmitter and I already had a receiver but await a receiver with direct PPM output. I will at this time try to use RC filter into a couple A/D inputs. I am learning a great deal about RC control that I feel is an area I lacked before so 'it's all good'. For details on the FlySky i6 which is 6 channel but there are hacks with firmware for up to 10 channel. This controller has a great many control switches, joysticks and even pots so I think I will get a lot of milage out of this transmitter. The main thing about RC is there are older AFHDS receivers and then the newer AFHDS 2A receivers that are a HUGE improvement.
So high level: I hope to have full movement ability with this RC controller that is FAR FAR FAR more 'friendly' than the onboard webserver and I suspect more responsive as well. This will be a fun weekend I suspect!!!!!
Mark