Gems of Wisdom
General
Mechanical
Electrical
Software
- Overview state diagrams and figure out circuit schematics as a team early.
- Think ahead for delegation of work. With 3 team members working on 3 separate PICs, we were able to avoid lots of Git version control merge conflicts.
- Simplify! Make sure to meet project requirements first and tackle any further improvements/added bells and whistles if you have time.
- Make use of the Bins of Freedom...but be wary of electrical components that were discarded for a reason.
- Integration will always take more time than you originally intended.
- Checkoffs are great to ensure you're on track, but don't waste too much time trying to meet a checkoff when your team isn't at that point. It's better to do things slowly and carefully, rather than rushed and haphazardly to meet a deadline since you will most likely end up having to redo things.
- Take photos at every step. You will be thankful for them when it comes time to do the report.
- Record everything and anything! You never know when your robot will decide to work.
Mechanical
- Iterate early and quickly, especially with mechanical systems (i.e. launcher)
- Don't worry too much about designing a seamless, adhesive-less assembly process. You'll be adding things constantly and it's not worth re-cutting or re-printing parts just to avoid the use of hot glue (but nice to avoid when you can!)
- Don't feel bad about throwing parts out (again, and again) – it's all part of the process.
- Design your chassis to allow for easy access to circuitry/wiring during debugging.
- Mounting of electrical components (i.e. encoders) is essential! To ensure consistent readings from sensors, you must design them to be mounted in a stable way. Software can only do so much to correct for mechanical inconsistencies.
Electrical
- Solder the breakout boards early so that you can test and use them during software development and re-solder if necessary.
- For involved circuits such as the signal conditioning board, have a replicate circuit built up on a solderless breadboard to revert to if/when your soldered circuit doesn't work.
- Remember to use pull-down/pull-up resistors on the PIC
- Always double-check your wiring for power and ground to avoid shorting & blowing of fuses.
- If you ever switched power and ground at any point (or supplied 5V to a 3.3V control pin), make sure things still work. There's a chance you'll start having issues that are difficult to debug unless you figure out that you've burned up a component.
- For debugging, check that you have common ground!! Even when you think you do, you probably don't. Check that the power supply itself has common ground, all relevant breadboard rails have common ground, etc.
Software
- Use keystrokes for testing.
- Integrate early, and re-test prior functions after adding a new feature. Things often break in unexpected ways once things start to come together.