8 AnswersNew Answer
There a lot of microcontrollers to create a robot. Examples: PIC, Atmega, 8051, STM32, ESP 32. Currently Arduino board is very popular. because there are many libraries and so cheap. IDE arduino You need to know C / C++. Mplab X IDE for microcontrollers PIC you will code using C language. STM32 are 32 bits microcontrollers. It's so good and you can configure pins using Graphical Interface (STM Cube MX). I used Keil IDE with C language. Raspberry is a computer So it's expensive but you can coding using high level languages like Python. If you new in embedded system then I recommend Arduino with C/C++. All microcontrollers can coding using Assembly but It's so so hard. To learn Assembly for microcontrollers I think 8051 is great and simple.
Adrino Python Pedro H.J
Thank you Gordon for mentioning me.
Edward Hard is relative. I made a game using assembly for 6502. It's hard. Try to make the same game with pygame its so easy. Try to make a GUi using asembly. It is so so hard but a blink led using assembly it is so so easy.
Well. Depends on the platform you are using for your project. Arduino? The official IDE uses c/c++ Raspberry pi? Raspbian - mostly used python but you can use any language that supports IO pins. Windows IOT core - mainly c# PIC? There are several compilers for C, basic etc. As long as there's a compiler for your platform you can use any language.
Pedro H.J “...assembly but it’s so so hard.”? Hard is Calc V or Thermo III or Fluid dyn. III @ ITA. Assembly anyone can lear, specially PIC RISC. Yes, you will need to work hard and work your butt off. But than you might spend less than 2$ in a board with ucontroller capable of sync events with better precision than 2microseconds. Maybe the 8 bit 6 IO 4MHz clock Chip is not the most recommend for robots, but for embedded: smile and shine! For mission critical systems there is only one answer: assembly.
Pedro H.J I fully agree. One should is the tool that best suit it’s case. I made some tiny self replicating programs in the late 80 using assembly for 8086. In the late 90 until today I made some (about 10?) embedded for customer products. I would not do it in assembly if it has something like an USB communication or Ethernet. But for stable, timing critical processes there is nothing better. And learning RISC you also learn a lot of routines, since you need to implement everything, even multiplication and number formats. By the way, I’m UNICAMP 93.