Skip to main content
5 answers
12
Updated 2383 views

Lost in embedded systems, how to get back on track?

Hi,

For fall 2025, I'm going to take Embedded Systems 2 which covers more embedded systems and stuff using the Tiva C Series TM4C123G LaunchPad - EK-TM4C123GX.

The problem is I don't even know what's happening anymore. I have no idea how I passed Embedded Systems 1, let alone Intro to Embedded Systems (which is basically Embedded Systems 0)... Every time I'm in class, I hate everything and wished I could switch my major to applied mathematics or something (it's too late to change now). I legitimately have no idea what's happening anymore and it's worse that there's an embedded systems 3 class afterwards.

I'm, admittedly, a little worried I won't be able to graduate because I kind of need to do a senior project that involves embedded systems (I could do a thesis but I don't know what to research). All in all, both sound god awful.

Does anyone have any good resources I could use? Or should I just keep guessing on the exams and just help with the writing parts of the projects... because I'm so lost... could not explain anything to anyone--I'm only good for moral support, that's how useless I am in the labs. I fear I lost the plot. Help.


12

5 answers


2
Updated
Share a link to this answer
Share a link to this answer

Teklemuz Ayenew’s Answer

It's completely normal to feel overwhelmed by embedded systems, but don't worry—you've got this! Start with the Tiva C TM4C123G LaunchPad and build a strong foundation. Review the basics from Embedded Systems 1, improve your C programming skills, and get to know microcontroller architecture. Learn to use tools like Code Composer Studio. Begin with simple projects like blinking LEDs or reading buttons. Check out resources like Jonathan Valvano’s book, TI’s documentation, and YouTube channels like Phil’s Lab or Microcontrollers and More. You can also explore online or in-person training on RTOS, robotics, and real-time systems. For virtual practice, tools like Proteus, TinkerCAD Circuits, Wokwi, and Keil Studio Cloud are great for microcontroller simulations.

If you find yourself struggling, reach out to teachers, classmates, mentors, or alumni for help. Focus on understanding the concepts, not just completing tasks. Make steady progress by breaking problems into smaller parts, practicing regularly, reading datasheets, and learning to debug. Join forums like TI E2E, Stack Overflow, or Reddit to get support. Important topics to grasp include interrupts, timers, communication protocols, and memory.

For your senior project, pick something that matches your strengths and interests. With consistent effort and practice, especially using simulations and virtual tools, embedded systems will become easier and even enjoyable. If you're thinking about switching to applied mathematics or another field, remember that the choice is yours. Consider what excites you and where your strengths are. Whether you stick with embedded systems or try something new, the most important thing is to choose a path that inspires you to grow and succeed. Good luck!
2
1
Updated
Share a link to this answer
Share a link to this answer

Jeffrey’s Answer

Hi Stephanie,

No, it's not too late. I switched majors from Engineering to Applied Mathematics in my Junior year. Never looked back. If you enjoy the "language" of Math, then there are no limits to where it can be applied. Many of the challenges we are facing with exponentiating growth (population, computing, AI capabilities, power generation, and investment in space) will require the application of Math. Math helps us discover, understand, and decide where & increasingly when to invest in change. Change is accelerating, so many of the in place models in private and public institutions will need to be "upgraded". Systems Thinking is extremely useful for applying models within Theory of Constraints. Embedded Systems has roots in component design (Systems of Systems) and is very powerful for promoting reuse, leveraging modularity, and enabling scalability. Systems of Systems (SoS) only works when you have proper models about the nature of component design and the way components interact with each other as within any ecosystem. The challenge with SoS is that we need don't have good models for designing and building these artificial ecosystems and how they need to interact with each other and with the natural ecosystems (those on our pale blue dot where life exists and those beyond). Designing and building the fabrics within and across ecosystems will require applied mathematics.

Assuming any of the above makes sense, then here's where the next frontier of challenges exist:

Modeling & Simulation using Graph Theory (another application of math) and Agent Based Modeling (ABM) will require advanced mathematical representations of contained behavior and emergent behavior.

Optimization (linear and increasingly non-linear) & Control using Control Theory (learning, feedback, and adaptation) will become critical path to monitor, measure, and control embedded systems (components) in dynamic environments and accelerating change.

Security & Resiliency against internal and external threats will require new capabilities in Game Theory to understand intended behaviors (built using Formal Methods) and unintended behaviors (chaos theory and probabilistic analysis). There is much more to this topic, but you can see where applied math will become more important as computing moves beyond human-in-the-loop and our ability to manage let alone survive in a world where we are eager to hand over agency to AI.

As for good resources, there are tons but you probably don't have time sift through. Start using Google Gemini and Perplexity.AI to gain a better understanding for specific projects and/or aspects. If any of the above topics resonate, I can suggest a few places to start.

Hope this helps
Jeffrey
1
0
Updated
Share a link to this answer
Share a link to this answer

William’s Answer

Hi Stephanie,
It's quite a challenging situation that you are in. We often experience these challenges in our lives at some point.
One of the most enduring approaches is to understand things from first principles. Functionality is the end result of any basic engineering design. Once we understand what the component, system or device is meant to achieve, it's easier for us to visualize what form the design should take. At the center of this is the process: what tasks are required for us to achieve the desired outcomes? A functional design is then specified. A detailed design then looks at specifications for inputs e.g. field instruments for the desired incoming signals, a processor that interprets the incoming signals and generates outputs to realize the end result e.g. actuators, drives, fail safe/fail soft elements etc. Optimization often focuses on such requirements as reliability, availability, maintainability & safety (RAMS).
Attention to detail is paramount and so is deep knowledge of components that can be put together to create a functional design. A wide range of components can be obtained from 3rd parties. Specialized components are designed in-house. Understanding the key principles involved, however is the most important aspect of not only training but also practice. Internships are essential in exposing you to the real world so you can appreciate the value of theoretical knowledge. Consistent practice will eventually drive you towards perfection.
0
0
Updated
Share a link to this answer
Share a link to this answer

a’s Answer

Stephanie - CA

First off, kudos for your honesty and awareness.

It's probably futile to continue pushing deeper into a subject that you're not grasping the basics on. That will just add to your stress.

Here's some possible paths:

Find / hire a tutor to help you understand the basics. It may be that your learning style doesn't match the course presentation, or the course made some large assumptions about what you already knew and passed over some basic concepts that you need.

Do you know of any mentors or family/friends that work in embedded systems. Can you visit with them, and possibly get some assistance from them?

Practice meditation and visualization - go to a dark room and imagine you're an mcu that's getting signals from various places, and controlling some machinery. Walk through in your mind the steps that you need to take to monitor incoming signals, make decisions, and then modify the behavior.

More mental exercises: Think about things around you that use embedded systems - car, microwave, security system. What is their goal / purpose? What incoming signals do they rely on to determine what to do. What do they control?

Take a break - re-examine your priorities and decisions - why did you go into embedded systems to begin with? What did you expect working in that field to be like?

Maybe you're more of a management person, and just need to know the language and concepts so you can communicate with engineers you manage.

Hope this helps you re-focus and get direction.

Blaine - OR
0
0
Updated
Share a link to this answer
Share a link to this answer

Jacky’s Answer

Embedded systems can be a tough subject because it combines many areas at once, like C programming, digital logic, electronics, timing, and interrupts. It can quickly go from simple tasks to complex ones, like writing a real-time scheduler, with not much in between. In labs, if one small part doesn't work, nothing works, which can make you feel frustrated, even if you're just missing a tiny detail.

You're not alone in this; many engineering students face similar challenges between Embedded 1 and 2. Trying to grasp everything in class can be overwhelming. Instead, focus on small, one-night projects with simple goals:

- Make an LED blink without delay using the SysTick interrupt.
- Read a button press and toggle the LED.
- Change the LED's blinking speed based on the button press.
- Send "Hello" over UART to your computer terminal.

These small steps can build your confidence and understanding.
0