1. Define the Aim
- What problem are you solving?
- What will the final output look like?
- Who are the users?
2. Set Requirements
Hardware Requirements
- Devices (PC, sensors, controllers, etc.)
- Minimum specs (RAM, CPU, storage)
Software Requirements
- OS, libraries, tools, SDKs
- Dependencies & versions
3. Create Environment
- Setup directory structure
- Setup virtualenv / conda / Docker (if needed)
- Install necessary tools (editors, debuggers)
4. Plan the Architecture
- Block diagram / flow diagram
- Define modules/components
- Choose protocols/APIs
5. Initialize Version Control
git init
- Add
.gitignore
- First commit
6. Build a Basic Working Skeleton
- Create minimal functional code to test setup
- “Hello World” or blinking LED if hardware
7. Start Development (Iterative)
- Develop feature by feature
- Test as you go
8. Documentation
- Requirements.txt or setup.py
- README.md
- Diagrams and usage guides
9. Testing
- Unit tests
- Integration tests
- Final validation with hardware
10. Deployment/Packaging
- Build installers, Docker images, etc.
- Deploy to target device/server
Note:
This is just a template, so everyone is welcome to use it. If any modifications are needed, feel free to make them and release the updated version below. Thank you.