[en] This manuscript presents a practical laboratory session imparted using a project-based learning methodology (PBL) to provide the capacity of designing and developing a computer status monitoring device, integrated in an embedded system that communicates with a desktop software tool, to our students in the Computer Engineering Master's Degree. This practice session encompasses Hardware/ Software communication between a microcontroller with a Cortex-M4 kernel and a desktop software application through virtual COM ports (VCP) written in C# using Visual Studio Community 2015. This lab session is focused as a project that students must be making from scratch by achieving and completing some milestones to obtain a final functional system. The project is divided into two different parts. First, we have a Windows PC where a visual software application that gathers information from the system and sends it periodically to the microcontroller (USB or Bluetooth) has to be built using Windows Forms. On the other hand, we have a microcontroller from the STM32 family that has a 2.4' LCD display executing .NET Micro Framework that receives the information obtained from the PC through the serial port and displays it in the screen. This way, students create a computer status monitoring tool that does not need to be connected physically to it to receive the information. The development of this project is added to the need of using different tools for firmware and software development, focused to very different fields of use. This practice has been well received by the students, because it has served as an example of the firmware development for a microcontroller using the .NET MF platform as well as the communication between the PC and the microcontroller using a visual software application.

[es] Este artículo presenta una práctica laboratorio impartida mediante una metodología de aprendizaje basado en proyectos (ABP) [1] para dotar de la capacidad de diseñar y desarrollar un monitor del estado de un ordenador, integrado en un sistema empotrado que se comunica con una aplicación de escritorio, a nuestros alumnos de la asignatura de Diseño de Microcontroladores (DM) en el contexto del Máster en Ingeniería de Computadores y Redes. Esta práctica abarca la comunicación Hardware/ Software entre un microcontrolador con un núcleo Cortex-M4 y una aplicación software escrita en lenguaje C# usando el entorno Visual Studio Community 2015 a través de puertos series virtuales (VCP). Esta práctica está enfocada como un proyecto que los alumnos han de ir realizando desde cero, avanzando mediante la consecución de hitos, hasta conseguir obtener un sistema final. El sistema a desarrollar se divide en dos partes, por un lado tenemos un PC con un sistema operativo de la familia Windows, en el que se construye una aplicación visual mediante Windows Forms, la cual obtiene información del sistema de forma periódica y la envía al microcontrolador mediante comandos usando el puerto serie (USB o comunicación Bluetooth). Por otro lado tenemos un microcontrolador de la familia STM32 que dispone de un display LCD ejecutando una plataforma completamente libre, .NET Micro Framework, la cual recibe a través del puerto serie la información obtenida gracias a la aplicación software del PC y la muestra en la pantalla, obteniendo así una herramienta de monitorización del PC sin tener que estar conectado físicamente a éste. El desarrollo de este tipo de proyectos se añade la dificultad de la necesidad del uso de diferentes herramientas para el desarrollo del firmware y del software en paralelo, de manera incremental, y enfocadas para ámbitos de uso muy distintos. Esta práctica ha tenido una gran acogida por parte de los alumnos, ya que les ha servido de ejemplo del desarrollo de firmware para un microcontrolador usando la plataforma .NET MF y de su comunicación con el PC por medio de una aplicación visual.