This will include specifying architecture, component identification, generation of supporting documentation as well as writing, testing and debugging firmware.