K-INFO
HU
EN
Login

Embedded Software Development Laboratory

Beágyazott szoftverfejlesztés laboratórium
A tantárgyleírás hatályossága
Hatályosság kezdete:
2026. March 21.
Hatályosság vége:
Subject name (Hungarian, English)
Beágyazott szoftverfejlesztés laboratórium
Embedded Software Development Laboratory
Subject code BMEVIMIAC18
Subject type
Training Level
Course types and hours (weekly/semester)
Course type lecture tutorial laboratory
hours (weekly) 0 0 3
type (linked/independent) autonomous course
Assessment type félévközi érdemjegy
Credits 5
Subject coordinator
DR. Kovácsházy Tamás
position: egyetemi docens
Responsible department
Mesterséges Intelligencia és Rendszertervezés Tanszék
Faculty Villamosmérnöki és Informatikai Kar
Subject website
Primary curriculum type
Direct prerequisites – Strong prerequisite none
Direct prerequisites – Weak prerequisite none
Direct prerequisites – Parallel prerequisite none
Direct prerequisites – Milestone prerequisite none
Direct prerequisites – Exclusion none

Objectives

Programme

Synopsis of the laboratory exercises:

The semester is started by a 2-hour laboratory presenting the used MCU architectures and development systems.

During the semester, students attend 10 laboratories in the below listed topics, once per topic, each for 4 hours. The planned laboratories are the following:

1. Implementation of a graphical user interface on a microcontroller, use of graphic libraries and input peripherals. Simple graphical user interface elements and their use.

2. Implementation of a graphical user interface on a microcontroller, use of graphic libraries and input peripherals. Online display of sensor data on the graphical user interface, used by related user interface elements, time diagrams and their management. This laboratory is based on laboratory 1.

3. Sound processing on a microcontroller, use of A/D and D/A on a microcontroller, online sound recording and playback, solving simple signal processing tasks (delay, distortion, etc.).

4. Application of DSP program library for the implementation of more complex signal processing tasks, implementation of simple filtering and other signal processing tasks on real signals. This laboratory is based on laboratory 3.

5. Implementation of USB peripherals with a microcontroller, USB operation and monitoring from the development PC. Implement a virtual serial port (CDC) over USB and construct a simple command line interpreter (CLI), extending the CLI with new commands.

6. Implementation of USB peripherals with a microcontroller, USB operation and monitoring from the development PC. Implementation and use of USB HID devices (e.g. keyboard) and mass storage devices with a microcontroller, mapping such devices to peripherals (e.g. mapping a push button to a keyboard). This laboratory is based on laboratory 5.

7. Automotive communication, development of microcontroller software using the CAN interface. CAN communication protocol implementation and monitoring.

8. Application of Ethernet and TCP/IP on microcontrollers. Frame transmission and reception at the Ethernet level. Getting to know the lwIP lightweight IP protocol suite, configuring lwIP, the role of DHCP. UDP service development. Ethernet and TCP/IP development tools (network monitoring).

9. HTTP server and client application technology on a microcontroller, file system and I/O mapping to WEB pages, on-line data collection and data display over TCP/IP in a client-server architecture. This laboratory is based on laboratory 8.

10. Software implementation of wireless Wi-Fi communication on microcontrollers. Software access point and client configuration, detection of Wi-Fi access points, TCP/IP communication over Wi-Fi. Wi-Fi development tools, Wi-Fi monitoring. This laboratory is based on laboratory 8 and 9.

 

Material to be processed independently

GUI library, DSP library, USB library, lwIP and Wi-Fi library documentation

 

The primary goal of the laboratory is to introduce the students to some of the more complex topics of embedded software development, which could not be discussed in the demonstrations and exercises of the Embedded Software Development class due to their complexity, equipment requirements, etc. In the Embedded Software Development class, we cover basic software topics that can be presented with a simple development card. At the same time, in the field of Embedded Software Development, many topics do not fit into that class, for example, due to time constraints, as well as those that require more complex development systems and other special tools. Such topics, e.g. software implementation and development of touch-sensitive graphic LCDs, sound processing and DSP libraries, USB peripheral libraries, automotive communication, Ethernet and TCP/IP, as well as wireless communication, details of debugging in such systems, are handled in this class.

Learning outcomes

Ez a tantárgy a KKK rendeletben meghatározott, következő kompetenciák fejlesztését szolgálja:

Knowledge

No learning outcomes recorded.

Skills

No learning outcomes recorded.

Attitudes

No learning outcomes recorded.

Autonomy and responsibility

No learning outcomes recorded.

Oktatási módszertan

Laboratory

Tanulástámogató anyagok

Online források
Preliminary; preparation and auxiliary materials published on the website of the subject.

Recommended preliminary knowledge for completing the subject

Knowledge type competencies
(azon előzetes ismeretek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
Programming in  C/C++, Embedded Software Development, Microcontroller Based Systems, Computer Architectures, Operating Systems, Computer Networks
Skill type competencies
(azon előzetes képességek és készségek összessége, amelyek megléte nem kötelező, de a tantárgy eredményes teljesítését nagyban elősegíti)
nincs
Recommended (non-compulsory) preliminary competencies
(azon ajánlott (nem kötelező) előzetesen megszerzendő kompetenciák összessége, amelyek jelentősen hozzájárulnak a tantárgy eredményes teljesítéséhez)
Programming in  C/C++, Embedded Software Development, Microcontroller Based Systems, Computer Architectures, Operating Systems, Computer Networks
General rules
Requirements: In lecture term: During the lecture period, students perform design, implementation and measurement tasks corresponding to the prescribed topics. In each case, a measurement report is prepared to document the work and results for each laboratory. The grade received for the measurement is determined based on the answers of the individual student to the small questioner at the beginning of the laboratory, the activity shown during the measurement, and the measurement report. The final grade is determined as the average of the individual grades for each individual laboratory, rounded up from x.50. Additional possibilities: In case of absence, a maximum of 2 laboratories can be repeated during the whole semester, regardless of the reason for the absence or the number of times missed. The date of the repeated topics must be agreed with the laboratory manager of the laboratory to be replaced, and the person in charge of the class must be notified. It is possible to repeat a laboratory during the lecture term or during the retake/repetition week, no laboratories can be repeated in the examination period.
Assessment methods
In-term assessments

No detailed assessments provided.

Weight of in-term assessments

No weights provided.

Exam-period assessments

No detailed assessments provided.

Weight of exam elements

No weights provided.

Grade calculation

No grade thresholds provided.

Attendance requirements

No attendance requirements provided.

Rules for retake and resubmission

Not provided.

Short description

Not provided.

Detailed description

Not provided.

Recommended courses
Microcontroller Based Systems
Workload to complete the subject

No workload breakdown provided.

Validity of subject requirements
Requirements valid from:
Requirements valid until:
Curriculum placement

No curriculum placements recorded for this subject version.