Nie uważam Arduino za stratę czasu - na sam początek jest to dobry wybór, żeby się czegoś nauczyć. Arduino ma ogromne community, więc szybko znajdziesz pomoc. Tak jak pisze TKZ, płytki ESP32 i podobne (jest ich dobre kilkadziesiąt wersji co najmniej) to naprawdę dobry kierunek. Można na nich zrobić wiele ciekawych rzeczy, niektóre mają już sporo do zaoferowania "na pokładzie". Micropython do zabawy i nauki w zupełności wystarczy. Do poważnych rzeczy raczej się go nie stosuje (tzn. w przemyśle, raczej tylko projekty hobbystyczne).
Jakbyś chciał iść znacznie poważniej od razu to mogę polecić stack (ale nie będzie łatwo!!!):
1) Elixir + Nerves - gdzie robi się oprogramowanie w oparciu o SBC, głównie Raspberry Pi.
albo
2) Rust który coraz śmielej wchodzi w Embedded i tu możesz programować wiele różnych mikrokontrolerów (szczególnie STM z rodziny STM32F3.....), ale także urządzenia z ARM-ami i wiele innych (zobacz "Awesome Rust Embedded").
Ad 1.
Nerves Project
https://www.nerves-project.org/
Nerves · Elixir School
https://elixirschool.com/en/lessons/misc/nerves
Getting Started — nerves v1.7.15
https://hexdocs.pm/nerves/getting-started.html
Ad. 2
Introduction - The Embedded Rust Book
https://docs.rust-embedded.org/book/
Embedded devices - Rust Programming Language
https://www.rust-lang.org/what/embedded
GitHub - rust-embedded/awesome-embedded-rust: Curated list of resources for Embedded and Low-level development in the Rust programming language
https://github.com/rust-embedded/awesome-embedded-rust
Use Rust for embedded development | Opensource.com
https://opensource.com/article/21/10/rust-embedded-development