Für jeden Mikro-Controller (PIC, AVR, 80C166-Familie, uvm.) ist eine Entwicklungsumgebung und ein Programmiergerät erforderlich. Beides gibt es von kostenlos über sehr preiswert bis sau-teuer.
Je nach Entwicklungsumgebung kann dann in Assembler, C oder einer anderen Programmiersprache das Programm erstellt werden. Die unterschiedlichen C-Compiler übersetzen das C-Programm in ein Assembler-Listing. Ein Assembler (evtl. noch ein Linker) generiert aus einem Assembler-Listing den erforderlichen Hex-Code zum 'Brennen' des Controllers.
PS: es wäre erst mal zu klären, welcher Mikro-Contoller in welchem Robbi / Gerät drin ist.