If you're reading this it's too late.
- Start early! Try to get the first checkpoint done as soon as possible in order to quickly pass to start building the drivetrain
- If there is a difficult design mechanism (such as a ball collection mechanism), try to prototype ideas quickly and prepare backups.
- When coding, build a separate hardware initialization file to charge all subsystems needed, but enable them individually. In this way you don't need to initialize internal clocks more than once.
- Program a simple service to send events and commands to the robot using the keyboard. It helps when debugging on the field.
- Consider details of wiring and robot assembly before design begins
- Make the motors easy to replace
- Solder IR receivers directly to the protoboard with the signal conditioning
- Dress in layers, the SPDL can get hot and ~smelly~, or cold and damp
- Avoid knockoff (generic Amazon) Molex connectors at all costs!
- Avoid having the wheels in the center (from top to bottom) if your robot is not circular. Think about how it would turn if one side is against a wall...
- Consider using wheels that slip a bit on the floor so the motors can never stall against a wall (magic smoke isn't fun)
- Use thermal paste to protect the motor drivers, and minimize risk of magic smoke
- Use magnetic encoders, will save difficulties instead of implementing optic encoders. If you get magnetic encoders from the SPDL, you need to make connector mounts to adapt to the motors, as the encoders are made for a smaller axis.
- If using encoders to calculate RPM, remember to add timers that restart each encoder detection, in order to determine if the motor is stopped or not.