Your work tends to be around embedded stuff so I would highly recommend C. Not because of the language itself but instead access to compilers, middleware, documentation and ecosystem.
But if you are wanting to get involved more in "hobby / consumer" embedded (RPI, Beaglebone, etc) then Python is probably the way to go because ironically, again its not about the language but instead the ecosystem. So much more middleware and documentation for all the "hats" and things.
I do a lot of "stuff" with the RPI and my dabbling with embedded is almost always consumer so Python probably was the better choice. However I stuck with C mostly out of principle and whilst it is not the worst choice, you do need to unpick all these python libraries and their bindings and work out exactly what is happening in the C underneath.
For example, in my last fun project (a mechanical owl), all the PWM servo motor python APIs (i.e
gpiozero) end up using
pigpio underneath as the best supported "backend" reducing jitter rather than using GPIO PWM directly (a non trivial problem it seems). What is so funny to see from the C end of is how ad-hoc and rough this "one-man" pigpio effort is that so many projects depend on. In many ways I *like* to know this and going from the bottom of the tech stack, upwards, is the only way to really uncover this kind of stuff.
(
Pic 1,
Pic2 to show just how amateur my use-case is. Yes, that is a Chinese take-away pot)