While the video is geared to Arduino, almost everything is applicable to any microcontroller programming language. Here are the basic considerations that she outlines:
- Define your purpose – Write down the goals of your project, and what features are required and which ones are optional.
- Classify inputs and outputs – List out all of the inputs and outputs you plan on using.
- Write pseudocode – Explain in plain English the steps the program will walk through as it's executed.
- Test your hardware – Test out each subsystem of your design by using sample code known to work with each input and output component.
- Create your program – Paste in all of your now-verified code samples, and start building your program from there.
- Make incremental improvements – Once you get everything working, you can then fix or change any issues you encounter or changes you care to make.