• High level architecture
    • Processor and peripherals selection
    • Programming approach finalization
    • System software development
    • Firmware development
    • Application development
    • Code optimization 
    • Testing