Fun course if you like or are passionate about embedded systems and C programming. If you don't, you will definitely regret taking this course. Its extremely difficult, but rewarding. I found it a lot more difficult than 2310, 4010 etc. It teaches bare metal STM32 programming with FreeRTOS.
I took this course in 2022 with Matt D’souza. Compared to other subjects, it’s a massive time sink, so if you can try to take it with less courses or easier courses to avoid burning out. I invested most of my time in this course than any other throughout my degree (3rd year software eng).
This also isn't a course where you will receive a lot of help on the assessments (there is pretty much no useful information available online, you mostly have to refer to datasheets or example code given in the environment), so you must self-learn and be motivated to learn everything yourself. The best way to get help for stages/project is to go to pracs, the ED discussion board wasn’t really maintained, and some questions weren’t answered at all. I found ED was only a good place to ask questions about the final and other general stuff.
The stages I found difficult in the beginning, but after getting set up and comfortable with the environment and example code I found it easier (the first 2 stages easiest) and got close to full marks, but the final project was difficult. Because the stages develop the peripherals you need for the final project, aim to do well or when the final project comes out you will be stuck implementing them. The example code given in the development environment is really useful, and most of it can be reused in the stages.
The learning curve in the start of the semester is steep, but if you can implement the first stage and do well you will be fine. If you can’t, honestly consider dropping this course as everything else is far more difficult than the first stage.
One more thing, they offer a virtual machine that you can install on your device and has the environment already set up. Its nice, but it’s a lot better to install everything yourself natively as everything runs quicker. I used a macbook, installed everything with brew and it all worked fine.
Final exam is easy compared to stages and final project, but it requires a lot of memorisation. Do past exams and pretty much memorise the lecture slides, especially the diagrams for the types of ADC and similar. It doesnt change much from year to year from my experience.
Overall, my experience was good and the course content was challenging but doable, but I went into the course with relevant experience (I had already programmed with STM32 before), so I had an advantage. Talking about this course (especially the freeRTOS parts) also helped me land an internship in robotics/embedded systems so id say its pretty relevant to industry.