Embedded Systems are systems that are composed of hardware and software parts that are developed for a special task within a bigger system. Examples of such systems are smartphones, digital cameras, robot controls, set-top boxes etc. The application areas of such systems are growing rapidly. As these systems are not only composed of application software, this lab exercises the combined development of hardware (RISC-V CPU) and software, as it is typical for embedded systems. A mobile robot and hardware development (FPGA and extensions) boards are used as the target systems. The schedule of the lab is as follows: At first, the student needs to design and configure his own RISC-V processor, then the abstract behavior of the system is described. The main task is to have the robot do some useful task, e.g., follow a line. This specification is transformed into software for the configured processor. To connect it to the periphery (motors and photoresistors), additional parts have to be written in a hardware description language. This shows the usage of typical development- and design tools for simulation and synthesis. After combining the hardware and the software parts, the robot is tested against the initial specification. Prerequisites: Base knowledge in VHDL/Verilog and C/C++ programming. Target audience: This lab is suitable for electrical engineering students, computer science students and those who have an interest in embedded systems design.