Through last year, I got questions from a lot of people both through social media and in the Computer Engineering department about one specific thing: What the topics of more technical courses in a Computer Engineering degree are like, and how to deal with them.
Therefore, I have created these series of blog posts to help people get familiar with Computer Engineering, and also answer the questions in people’s minds related to the courses in such a degree. Thus, I will slightly go through the courses that I find the most important by giving some insights about how I felt during the course and what I had learned.
Now, let us begin with Embedded Systems Development.
The objective of this course is to design and implement software for embedded systems, starting with the assembly language and concluding with C. Before taking such a course, I could have never imagined that being so close to hardware could have been this fun!
At the beginning of the course, I felt a little overwhelmed about the things that we will do in the course, let’s see why:
The course was really entertaining since we had a lot of programming homeworks to have hands-on experience with embedded systems development.
For example, the aim of one of our homeworks was to design and implement a simple version of the well-known pong game by using interrupts and timers. I re-named it as “Pic-Pong” since the name of the microcontroller that we used during the course was PIC. At the end, we built something like this:
Another homework was about implementing and application for a product called “very safe” which is a steel safe protected through an electronic lock. It took me 12 hours straight in the laboratory looking at the computer and the embedded development board, but eventually, I made it! The results were amazing:
To give more insights about the video above, the thing that I control using the stick is called a “potentiometer”. In this basic application, it helps the user to select a 4-digit password by turning it. When the user turns it to left or right a new voltage value is assigned. These voltage values are read by the program to map them to digits in a range of 0 to 9.
What I had learned?
I learned…
How to read such an assembly instruction:
ADDWF 0x059, W
That’s all about the Embedded Systems Development course. I hope this article gave you some insights about the courses in a Computer Engineering degree!