Embedded Systems

Embedded Systems 

Started from 4.2.2025

4.2.2025-18.3.2025 / Week 1-Week 7 

LI XINLI / 0379305

Embedded Systems  / Bachelor of Interactive Spatial Design



 Week 1:Introduction to Embedded Systems

Course :

This is the first lesson on embedded systems. The teacher asked us to introduce ourselves to the "Ice Breaking Operation" in turn. Then the teacher introduced us to the course plan and tasks for this semester.


As you can see, we have two assignments and a final project this semester.

Then the teacher introduced the definition of embedded system, which gave me a preliminary understanding of embedded design.


1. Definition: Embedded systems are electronic/electromechanical systems used to perform specific functions. They are composed of hardware and firmware (software) and are significantly different from general computing systems in terms of operating systems, user programmability, response time and performance requirements.

2. History: The first modern embedded system was MIT’s Apollo Guidance Computer (AGC), which consumed far less power than the iPhone 5 and helped humans land on the moon.

3. Classification: Classify according to different standards. By generation, from the first generation of 8-bit and 4-bit chips to the fourth generation based on systems on a chip (SoC); by complexity and performance, there are small-scale, medium-scale and large-scale/complex systems; by behavioral determinism, there are soft real-time and hard real-time systems; by triggering methods, there are event-triggered and time-triggered systems.

4. Application fields: Widely used in consumer electronics, home appliances, automobiles, telecommunications, medical and other fields, such as cameras, washing machines, automobile anti-lock braking systems, mobile phones, etc.

5. Purpose: Embedded systems are designed to implement functions such as data collection/storage/presentation, data communication, data (signal) processing, monitoring, control, and application-specific user interfaces, such as digital cameras for data collection, network equipment for data communication, and digital hearing aids for data processing.

After the course, the teacher gave us a detailed introduction to the requirements of Assignment 1. We need to analyze embedded systems and combine them with interactive spaces, and integrate the final research results into information charts or visual display boards, which will be submitted in the second week.

This is the reference the teacher gave us.


In the subsequent classes, the teacher showed us his works, which made me very interesting, and I learned that the teacher was very good at programming.

At the end of the class, we conducted group assignments, with five people in each group.

Reflection:

By studying this course, I gained knowledge about the application of embedded systems in many fields, but I have knowledge gaps in complex system architecture design and real-time operating system scheduling algorithms. Case studies helped me understand the knowledge, but the lack of practical operations made me unfamiliar with practical applications. After that, I will delve deeper into the difficult points, consult more information, ask others for advice, and increase practice to better master this knowledge.

Assignment 1:

First, the five of us each came up with three devices that used embedded systems in our daily lives, and voted for the three devices. The one with the most votes was sent to the teacher. The teacher recommended that we study Campus Interactive Walkway. First, we created a document so that we could upload the parts we were responsible for and discuss them in the group.

Week 2:Online class


This week is a public holiday, but due to limited time, our teacher gave us an online class. This class mainly introduced the reasons for design, the importance of design methodology, and the combination of top - down and bottom - up design approaches. The design process covers the requirements stage, specification stage, architecture design stage, component stage, and system integration stage, with the GPS moving map as an example for illustration.

1. Importance of design methodologies: Design methodologies can evaluate designs to ensure optimized performance and proper testing; they can help develop design tools that break down the design process into small steps and gradually automate it; and they can also facilitate communication among team members.

2. Design Process: 
  • Specification: Break down requirements into specifications, mainly for functional requirements.
  • Architecture design: Specifications describe functions, and architecture design plans the implementation of the overall system structure.
  • Component development: Develop hardware components and software components 
  • System integration: Integrate hardware and software components, including integration, verification, debugging, optimization and testing, to verify system quality and reliability.
After the explanation, the teacher taught us how to download pychart. It's a bit difficult for me as a beginner, So I plan to use my free time to watch the course replays to review and correct my mistakes, and seek help from the teacher when I encounter problems that I cannot solve.

Here are some excerpts from this class:



FEEDBACK:

In the study of the embedded systems course, I clearly felt a lack of practical ability when performing system operations. When using relevant software for system development and debugging, I was unfamiliar with the operations. Tasks such as configuring projects in the development environment and using debugging software to find code errors took a lot of time and were plagued by frequent problems, which highlighted my insufficient practice in daily life.

Week 3: 



This course mainly talks about embedded system prototyping, covering its importance, difficulties and various prototyping methods.

1. Overview of Prototyping: It is of great significance in electrical engineering, enabling the testing of ideas, error correction, and design optimization. However, it is time - consuming and costly, especially when dealing with complex components.

2. Breadboards and Wire Wrapping: Breadboards can hold components and wires, and wire wrapping is used to connect pins. They are suitable for low - power, low - frequency, and low - complexity circuits, facilitating circuit modification.

3. Rapid Prototyping and 3D Printing: Rapid prototyping creates physical models through additive manufacturing. 3D printing can print various materials and is suitable for embedded systems with special shape, size requirements or those needing integration.

4. Digital Prototyping: In the design of interactive spaces and embedded systems, a virtual space needs to be created to integrate relevant technologies. The process includes conceptualization, interaction design, and simulation, involving model building, defining interaction methods, and simulating system behavior respectively.

In the afternoon class, the teacher led us to do practical operations. I felt very excited because it was my first time to really come into contact with these..


We needed to download Raspberry PI to complete the following operations, but since most people's computers could not insert a card reader, we borrowed the teacher's adapter and followed the teacher's guidance and the documents. The whole process went surprisingly smoothly, and we were the first group to complete it.

Here are some photos of the process, and the final product:










FEEDBACK:

When I first came into contact with the circuit board, I was filled with novelty. During the course, I was confused about software operations. Tasks like configuring the development environment and debugging code were challenging. The complex procedures and error messages often left me at a loss. However, after constantly looking up information and asking teachers for help, I gradually got a clear understanding.

When I finally completed the task successfully, I felt an overwhelming sense of achievement. This experience taught me that operating embedded systems requires patience and carefulness. In future studies, I will strengthen my software learning, gain more practical experience through hands - on operations, and actively solve problems when I encounter them, striving to improve my capabilities in this area.

Week 4:


Augmented Reality (AR):
  • Definition and Application: Using devices to integrate digital elements into real-world scenes, enhancing sensory experience in real time, and applying them to multiple fields to enhance interactivity.
  • Types: divided into three types: marker-based (relying on physical markers to display virtual content), markerless (using positioning and sensor technology to locate virtual objects), and projection-based (light is projected onto physical surfaces to achieve interaction).
  • Development Tools: Unity and Vuforia are a common combination; ARKit is used for AR development on iOS devices; ARCore is used for AR development on Android devices.
Virtual Reality (VR):
  • Definition and Application: Using VR headsets to create an immersive virtual environment, widely used in games, education and other fields.
  • Development Tools: Unreal Engine is often used to produce high-quality VR games and supports visual programming; Blender is an open source 3D creation tool that focuses on creating 3D assets for VR.

Then the teacher introduced to us the working principles, pin functions and common applications of various sensor modules.

SR602 motion sensor: It is a PIR (passive infrared) motion sensor that detects motion by sensing changes in infrared light (heat) emitted by objects (usually people and animals). It has 3 pins, VCC is connected to a positive voltage of 5-12V, GND is connected to ground, and OUT is used to output high and low level signals when motion is detected. It is commonly used in security monitoring, automatic sensing equipment, etc.

TTP223 capacitive touch sensor: It can detect touch input and is often used to make touch switches such as touch sensing lights, light switches and interactive displays. The sensor has 3 pins, VCC is powered (2-5.5V), GND is connected to ground, and IO outputs high and low level signals according to the touch status.

MH - RD Rain Module: Used to detect rain, and can realize automatic operation based on weather conditions, such as controlling the opening and closing of windows, starting water pumps when it rains, etc. It has 4 pins, VCC provides 3.3V or 5V power supply, GND is grounded, DO outputs high and low level signals when rain is detected, and AO outputs different values ​​according to the rain intensity (the heavier the rain, the higher the voltage output).

MH Photoresistor Light Sensor Module: Uses a photoresistor (LDR) to detect ambient light intensity. The module has 4 pins, VCC is connected to a 5V power supply, GND is grounded, DO outputs high and low level signals according to whether the light intensity is higher than the set threshold, and AO outputs a value corresponding to the detected light intensity. Commonly used in automatic dimming equipment, street light control, etc.

Microphone module: It can detect sounds in the environment, including human voice, music, noise and other sound sources. Taking the MH sound sensor module as an example, it has 3 pins, VCC for power supply (usually 5V), GND for grounding, and OUT for outputting high and low level signals according to whether the sound exceeds the set threshold. It can be used for voice recognition, sound triggering devices, etc.


In the afternoon class, we practiced and used the TTP223 capacitive touch sensor. The following video shows the whole process we completed under the guidance of the teacher.




FEEDBACK:

After completing the practice of using the TTP223 capacitive touch sensor to light up a small light bulb, I reflected deeply. This practice allowed me to truly master the basic application of the TTP223 sensor and successfully realize the function of controlling the light bulb to turn on and off with touch, which is undoubtedly an important achievement. However, the practice process also exposed many problems. The sensor sensitivity is unstable, and sometimes it takes multiple touches to respond. This may be due to interference introduced by unreasonable circuit wiring.

In subsequent practice, I will conduct in-depth research on sensor characteristics, optimize circuit wiring, and add filtering circuits to stabilize sensor performance. I will also learn modular design concepts to improve circuit scalability. At the same time, I will pay attention to appearance design and user interaction experience to make the project both practical and beautiful.

Week 5:


Today we learned about the Embedded System Development Lifecycle (ESDLC), which consists of several key phases, which are closely linked to ensure the successful development and continuous optimization of embedded systems.

1. ESDLC key phases: including requirements analysis, feasibility analysis, design and implementation, integration and testing, product release and marketing, operation maintenance and upgrades, hardware and software teams work in parallel and collaborate after the design phase.

2. Core content of each stage: Demand analysis should clarify stakeholder needs and system requirements; feasibility analysis evaluates project feasibility from technical, economic, operational, legal and ethical aspects; design and implementation covers system, hardware, software design and component selection, development and integration; integration and testing include various test types such as function and performance; product release and marketing involve product release and market promotion; operation maintenance and upgrades require monitoring performance, providing support, fixing problems and updating systems.

After the theoretical knowledge was explained, we showed our group assignment 2 to the teacher. The teacher gave us feedback that it was good and we could try to do the practical production.

Because we are going to make a "Touch-Activated Smart Floor System", we chose the vibration sensor.We tried to write the code and finally ran it successfully.




We finished it quickly, so the teacher lent us an OLED display module so that we can continue to explore the next step.


We thought it would go smoothly as before, but surprisingly, we tried many codes and the OLED display module still didn't work.
The teacher will give us the answer in the next class.

FEEDBACK:

In this class, I successfully activated a vibration sensor with a Raspberry Pi. The hardware connection was smooth, and using Python and the RPi.GPIO library, the Pi could respond to vibrations well, enhancing my understanding of hardware - software cooperation.

But I failed with the OLED module. Hardware issues might be poor contact or wrong pin - understanding. Software problems could be library version mismatches and my lack of driver - coding and debugging skills.

Next, I'll read the OLED module's official docs, re - check hardware, verify library versions, and learn more debugging skills to make it work.

Week 6:


This lesson mainly focused on the Raspberry Pi Maker pHAT expansion board, covering aspects such as hardware interface recognition, I2C setup, OLED project practice, sensor-LED interaction programming, and resistor value calculation.

1. Hardware Interfaces and I2C Configuration: I got to know interfaces like Micro USB and Mini HDMI on the Maker pHAT expansion board. I learned how to enable the I2C function on the Raspberry Pi, installed multiple related libraries such as python3-dev, and mastered the use of commands to check the normal operation of I2C devices and displays.

2. OLED Project Setup: I learned to create a project folder, use the python3 -m venv command to create and activate a virtual environment. I installed the luma.oled library, imported example scripts from GitHub, installed the required dependencies, configured Thonny to use the virtual environment, and ran the example scripts.

3. Sensor and LED Programming: I used the SR602 motion sensor and TTP223 capacitive touch sensor to control the LED through Python scripts, and understood the logical relationship between motion and touch events and LED state changes.

4. Resistor Value Calculation: Based on Ohm's Law, considering the 3.3V voltage of the Raspberry Pi's GPIO pins, the forward voltage of the LED ranging from 1.8V to 3.2V, and the operating current of 20mA, I learned to calculate the resistance value of the resistor in series with the LED to ensure the normal operation of the LED.

In the practical class in the afternoon, we tried to modify the code several times and successfully made the OLED display module display content.

But obviously the content presented is still problematic. I did not try to change the code again.But changing the code didn't work. We finally found out that the voltage of the oled display we bought was too high, which caused the screen to have snowflakes. We finally succeeded in making it work.

After making the oled display work successfully we connected the vibration sensor and made it work successfully but it was not very sensitive so we changed the controller.





Finally, we packaged this model.


Week 7: Public holiday

As this week is a public holiday, we had a break last week. This week we further improved our model.

FEEDBACK:

Reflection on Practical Deficiencies

During hands - on operations, I realized that I am not proficient enough in the connection and debugging of hardware interfaces. For example, when conducting an SPI interface experiment, due to a shallow understanding of the timing sequence, there were frequent data transmission errors, and I wasted a lot of time troubleshooting. This reflects a significant gap in my ability to translate theory into practice. In the future, I need to participate in more actual projects to improve my practical skills.

Reflection on Team Collaboration

In the group project, there were problems in communication and collaboration with team members. The division of labor was unclear, resulting in redundant development of some functions while some modules were left unattended. When discussing technical solutions, there was a lack of effective communication, and everyone insisted on their own opinions, which affected the project progress. In the following work, I will strengthen team communication, clarify the division of labor, and improve collaboration efficiency.






Comments

Popular Posts