Embedded application engineering across the stack: peripheral drivers, real-time task and scheduler design, synchronization (mutexes, semaphores, priority inversion avoidance) and deterministic timing, using FreeRTOS where appropriate and direct registers where it matters.