Esta pregunta es realmente abierta. Intentaré y daré algunos comentarios sobre los aspectos de programación de la pregunta.
Hay una diferencia muy pequeña entre la programación de un microcontrolador y una PC. Si tiene poca experiencia en programación, aprenda cómo programar en una PC en lugar de en un microcontrolador. Los microcontroladores son más difíciles de usar (compilación cruzada, tiempos de descarga lentos, inicialización de hardware, cargadores de arranque, depuración más compleja, ...), así que primero aprenda a escribir programas para su PC. Aprende C ya que es el lenguaje de programación más utilizado para microcontroladores. Hay toneladas de sitios web y libros para nuevos usuarios.
Sugeriría descargar y usar Eclipse para escribir, compilar y depurar sus programas. La experiencia con Eclipse es valiosa ya que muchos microcontroladores usan esto como su entorno de programación.
Una vez que tenga una comprensión firme de la programación y tenga en mente un proyecto que requiera un microcontrolador, compre un kit de desarrollo que cumpla con los requisitos de hardware y, lo que es más importante, se asemeja más a su PC y su conjunto de habilidades. La compra de una Raspberry Pi puede ser excesiva para un pequeño proyecto, pero el hecho de poder interactuar con ella como si fuera una PC facilitará su transición al desarrollo del microcontrolador.