Olá Erk, não sei se sou a melhor pessoa mas tenho bastante contato com Python e trabalho a tempos com Linux e Linux em Sistemas Embarcados.
Python ganhou minha atenção a alguns anos principalmente por ser "batteries included", rapaz isso me cativou quando conheci a linguagem.
Hoje desenvolvo soluções em firmware bare-metal (Microcontroladores AVR, NXP e Microprocessadores ARM Cortex-Mx(x send 0+, 3 e 4)) além de ARM1176, ARM Cortex-A9 e Cortex-A8 com Linux Embedded.
Minha primeira solução com Python no mundo embarcado foi no meu TCC, quando desenvolvi em Linux Embarcado em uma Raspberry PI B um sistema de monitoramente de servidores Linux com SNMP para SO e Serviços, Monitorar Temperatura/Umidade de um CPD e usando um Arduino(Microcontrolador ATMega328P) via UDP coletando informações de Temperatura, Umidade, Tensão, Corrente de um dado equipamento além de outras "firulas".
E o 'banco de dados' disso no TCC para facilitar ficava na Raspberry PI B, e ela que fazia aquisição dos dados, processamento, gerava alertas e outras coisas, e o daemon que fazia aquisição dos dados via SNMP e via UDP, fazia o insert no database, enviava e-mail, sms e alerta via XMPP e também executava a aplicação web era 90% em Python.
Só não foi 100% porque precisei implementar umas rotinas I2C na Raspberry PI e não tinha o know-how de hoje em Python e escrevi em C.
A uns tempos atras na empresa precisávamos implementar uma ferramentas para atualizar N equipamentos em campo, esta aplicação iria rodar em um servidor para realizar update mas os equipamentos são embarcados em locais diferentes e com internet muitas vezes precária, então toda parte de comunicação, checksum, manipulação dos pacotes e tudo em Python e foi algo bem bacana.
Hoje não desenvolvo em muitas linguagens sou bem restrito em C, Python, Qt5 e Shell Script e acho que esta de bom tamanho, o que faz eu pensar em um embarcados se faço em C ou Python?
* A tal aplicação deve ser critica quanto a tempo de processamento?
* Stream de Texto !?! (Comparado a C e Perl, esquece ;/)
Teve um serviço ano passado que realizei free-lancer que tive que implementar em C, porque? Porque o intervalo de tempo para aquisição dos dados que era em 4 canais no GPIO era muito baixo e tive que fazer a aplicação em user-space "conversar" com um modulo do kernel que rodava em kernel-space, alias, não tive sucesso no GPIO e tive que aplicação o RTLinux para isso, enfim...
Mas já adotei Python para muita coisa e consegui ganhar credibilidade com isso, algumas coisas como:
* Comunicação I2C
* Comunicação SPI
* Comunicação Serial
* Comunicação com modem GSM (Comandos AT)
* Manipulação com MMAP com endereços de GPIO
* Comunicação TCP, UDP, SNMP, SMTP entre outras
* Sinais e IPC em Linux
* Comunicação CAN
* GUI com PySide e TKinter
* Escrever parte de aplicação em CPython
* Acessar lib compartilhada do Linux em Python
* PyPy, Cython e outras 'filuras' para melhor desempenho
* Profiling em cima de aplicações
E outras coisas que de cabeça agora não me recordo.
Uma conclusão minha, "não dá" para enfiar um Python dentro de um Arduino UNO, ou querer fazer magica, mas em Python em tenho tudo em um só que em pouco tempo consigo prototipar e em pouco tempo colocar a solução para funcionar e ae ir refatorando e hardening na aplicação.
Mas como desenvolvedor você tem que ter bom senso e colocar em uma balança, e pensar em varias coisas como tempo de desenvolvimento, equipe, manutenção de código, em Python você pode alterar direto no target, em C muitas vezes tera que fazer cross-compiling e transferir o novo binario.
Ficou muito extenso mas tentei resumir minha vivencia com Python ;)
PS: Digi e Telit já usam Python em suas soluções embedded, olha só! Eu estou em um projeto de um cliente mexendo com Telit.