Full text
Diseño y utilización de Teaching Boosterpacks en Sistemas Electrónicos Digitales M. Perales, F. Barrero, S. Toral Departamento de Ingeniería Electrónica Escuela Técnica Superior de Ingeniería Camino de los descubrimientos s/n, 41092 Sevilla [email protected] Abstract—El uso combinado de herramientas docentes que combinen la enseñanza teórica y práctica se ha mostrado, en general, superior a otras metodologías docentes de tipo eminentemente teórico o práctico. Un ejemplo especialmente interesante de esta superioridad como metodología docente es la enseñanza de sistemas electrónicos digitales y, en concreto, el aprendizaje sobre el manejo y uso de los microprocesadores. En este trabajo se desarrolla una metodología docente para el aprendizaje de microcontroladores que combina y alterna clases teóricas y prácticas. Para ello, se han elaborado un conjunto de sistemas hardware, complementados con aplicaciones software que se presentan asimismo en el artículo y que permiten la implementación en el aula de la metodología docente diseñada. Keywords—Microcontroller, MSP430, Launchpad. I. INTRODUCCIÓN La situación actual de las universidades españolas tras la declaración de Bolonia de 1999 [1] presenta notables cambios en el aula desde el punto de vista de la práctica docente [2]. A grandes rasgos, los principios del modelo educativo hacia el que claramente nos dirigimos es un modelo caracterizado por enseñar a aprender, aprendizaje autónomo del estudiante tutelado por profesores, el trabajo cooperativo entre profesores y alumnos o la exigencia de una nueva definición de las actividades de aprendizaje-enseñanza con una nueva organización multi y transdisciplinar al servicio del proyecto educativo global (plan de estudios) [3]. En este entorno, una de las decisiones más comprometidas que se toma en el momento del diseño de un curso básico sobre Sistemas Electrónicos Digitales centrado en la enseñanza de microprocesadores y microcontroladores en cualquier titulación de ingeniería de grado es el establecimiento del porcentaje de docencia teórica y práctica a impartir. En este artículo se presenta una metodología docente en el que las clases de teoría impartidas en el aula se complementan con ejemplos realizados en el propio aula [4]. Para poder llevar a cabo esta propuesta metodológica, se han diseñado una serie de pequeños elementos demostrativos de varios periféricos usando la filosofía de los denominados Boosterpacks [5], [6]. En nuestro caso, se han desarrollado un conjunto de pequeñas placas que se conectan al sistema principal de depuración de un microcontrolador que se analiza en clases de teoría. Así, se han desarrollado un conjunto de piezas de hardware y software de ejemplo que se emplean en las clases magistrales para explicar mediante la exposición y realización de ejercicios de tipo práctico el funcionamiento y manejo del microcontrolador. En este trabajo se describe la metodología docente empleada, así como los elementos desarrollados y su utilización en el aula. II. CONTEXTO DOCENTE Con la creación de los nuevos planes de estudio de Ingenierías, se han definido y diseñado numerosas asignaturas relacionadas con los Sistemas Electrónicos Digitales en las diferentes titulaciones de Grado de Ingeniería impartidas por la Escuela Técnica Superior de Ingenieros de la Universidad de Sevilla. Este es el caso del Grado de Ingeniería en Tecnologías Industriales (GITI) así como del Grado en Ingeniería en Electrónica, Robótica y Mecatrónica (GIERM), con la peculiaridad de que este último se imparte conjuntamente con la Universidad de Málaga en el marco del Campus Internacional de Excelencia Andalucía Tech. En ambos grados, las asignaturas se sitúan en tercer curso, si bien el contexto docente es muy distinto. En el caso de la asignatura del GITI se trata del primer contacto que tienen los alumnos con la electrónica digital. En este caso, es necesario abarcar un temario muy amplio que incluye desde elementos básicos relacionados con la electrónica digital hasta llegar a los sistemas microprocesadores y microcontroladores. En el caso del GIERM, la situación es bien distinta. Los alumnos cursan con anterioridad a la asignatura de Sistemas Electrónicos Digitales otras asignaturas de electrónica digital y analógica. Esto permite trabajar con un mayor nivel de profundidad teórica y práctica con el microcontrolador. A pesar de estas diferencias, y en aras de unificar esfuerzos personales y económicos, se ha optado por estudiar el mismo microcontrolador en ambas asignaturas, para lo que éste debe cumplir algunos requisitos, tanto generales relacionados con cualquier asignatura similar como específicos a la situación planteada de “coexistencia” de contenidos. Por ejemplo, la plataforma empleada para el desarrollo de aplicaciones basadas en el microcontrolador estudiado condiciona el tipo de docencia hacia una metodología eminentemente práctica o con mayor peso de las TICs y las simulaciones. En todo caso se ha optado por actualizar el microcontrolador estudiado a las nuevas posibilidades que ofrece el mercado, escogiéndose un dispositivo más actual frente a los microcontroladores populares pero claramente superados que se estudiaron en su día en las titulaciones ya extinguidas como el Motorola
68HC11, el PIC16F84, el Intel 80C32 o la familia QG de Freescale, por citar sólo algunos. Cada uno de los microcontroladores antes mencionados tiene indudables ventajas, no siendo la menor de ellas la existencia de abundante literatura. Sin embargo, consideramos que la elección de un microcontrolador más actual ofrece también importantes ventajas como son la realización de aplicaciones más relacionadas con el grado estudiado merced, por ejemplo, a la disponibilidad de mayor cantidad de periféricos internos. III. PLATAFORMA LAUNCHPAD DE TEXAS INSTRUMENTS A. Selección del microcontrolador Tras una ardua búsqueda, el microcontrolador seleccionado para servir como base a las asignaturas mencionadas fue el MSP430G2553 de Texas Instruments y, más genéricamente, la familia denominada Value Line, formada por un buen número de elementos designados genéricamente por el fabricante con las siglas MSP430G2XX. La serie MSP430 de Texas Instruments lleva ya tiempo instalada en el mercado, ofreciendo unos microcontroladores de gran aceptación. La familia G2XX es, sin embargo, relativamente reciente, habiendo sido presentada en 2010 [7]. Los principales motivos para esta elección pasan por las características y capacidades que ofrecen estos microcontroladores, así como su precio y el de los sistemas de desarrollo disponibles. Entre estas características podemos destacar: • Aritmética de punto fijo de 16 bits • Memoria interna de tipo Flash de 16kB y de tipo RAM de 512 bytes • Numerosos periféricos de comunicaciones, incluyendo puertos SPI, I2C y UART • Convertidores analógicos digitales de 10 bits (8 canales de entrada), así como sensor de temperatura interno • Comparadores analógicos • Temporizadores de 16 bits con módulos de comparación que permiten modular señales por anchura del pulso (PWM) • Hasta 16 pines de entrada/salida digital, con posibilidad de ser usados como interrupciones y como sensores capacitivos sin necesidad de componentes externos • Modos de ultra bajo consumo (del orden de 100nA) • Encapsulados en formato SMD y DIP que facilitan la creación de prototipos de laboratorio de bajo coste, así como el posterior desarrollo de sistemas microprocesadores de tamaño y complejidad limitados • Precio aproximado de 1€ por unidad para tiradas de más 100 unidades Con todo, la principal característica que inclinó la balanza a la hora de escoger este microcontrolador, fue la existencia de un sistema de desarrollo muy barato y flexible, el sistema Launchpad que se describe en el apartado posterior. B. Launchpad EXP430G2 El sistema Launchpad (Fig. 1) es un entorno de programación y prueba para los microcontroladores de Texas Instruments de la familia G2XX. Permite, de manera cómoda y económica, la realización de programas y desarrollos hardware. Está provisto de un puerto USB a través del cual se puede programar el microcontrolador, realizar una depuración en tiempo real del mismo, y emular una conexión RS232 sobre USB. Se incluyen en la placa dos LEDs y un pulsador de propósito general, así como un pulsador para el RESET. Todos los pines del microcontrolador están accesibles mediante unos conectores laterales incorporados al sistema. Fig. 1. Placa Launchpad de Texas Instruments Este tipo de placas para prototipado rápido se han hecho muy populares internacionalmente, tanto a nivel académico como comercial y sobre todo desde la aparición de la plataforma Arduino [8]. Al igual que su competidora, el éxito de la plataforma seleccionada se debe a la existencia de todo un ecosistema de complementos hardware que se pueden conectar directamente a la placa, para dotarla de numerosos periféricos y ampliar su funcionalidad. Si en el caso de la plataforma Arduino estos elementos se han denominado Shields, para el caso de la plataforma Launchpad han pasado a llamarse BoosterPacks. Conviene mencionar por último que el entorno de programación del Launchpad gestionado por el programa del fabricante denominado Code Composer Studio, aparte de un compilador de lenguaje C incorpora un lenguaje de programación idéntico al de Arduino denominado Energía, que ha sido desarrollado de manera independiente y colaborativa en la red. IV. PLANTEAMIENTO DOCENTE Aprovechando la facilidad con la que se pueden desarrollar pequeños sistemas conectables al Launchpad, se ha realizado el diseño de las asignaturas utilizando los Boosterpack como herramienta docente. Para ello, se han realizado una serie de
placas que llamaremos genéricamente Teaching Boosterpacks, que serán utilizados en las clases de teoría y en las explicaciones de cada uno de los periféricos del microcontrolador. A. Antecedentes Es de sobra conocido el problema que representa el aprendizaje del manejo de los diferentes periféricos de un sistema microcontrolador. Esto se debe, entre otros factores, a la dificultad para entender para qué sirve un determinado periférico y qué le diferencia de otro similar. Este problema aparece, por ejemplo, al introducir al alumno los periféricos I2C, SCI y SPI, cuyas siglas y similar denominación a menudo no facilita la comprensión de los registros necesarios para su configuración. Se ha intentado en cursos anteriores basar la docencia en clases prácticas en el laboratorio. La experiencia de los autores confirma la complejidad de esta metodología docente si el número de alumnos es alto, entre otros motivos por la tendencia del propio alumno a considerar las clases de laboratorio como algo secundario y de menor necesidad de esfuerzo intelectual, lo que les lleva a mantener una menor concentración en el laboratorio, con el consecuente menor aprovechamiento de tipo lectivo. La idea que subyace en esta propuesta pasa por plantear una nueva metodología docente en la que se usen en clases “de teoría” (y con un número de alumnos elevado) estos pequeños elementos que hemos denominado Teaching Boosterpacks, como forma de ilustrar de manera inmediata el manejo y funcionamiento de los diferentes periféricos del microcontrolador. B. Propuesta Se han diseñado un conjunto de Teaching Boosterpacks con las siguientes características comunes: • Muestran el funcionamiento de algún periférico del microcontrolador • Se conectan al Launchpad • No requieren instrumentación adicional para mostrar el funcionamiento de los periféricos del microcontrolador, aunque están provistos de pines de test para poder comprobar el manejo en bajo nivel En nuestro caso, y como primera aproximación a la nueva metodología docente, se han desarrollado tres placas que realizan aparentemente la misma función, para demostrar las diferentes posibilidades de resolver un diseño usando distintos periféricos. El ejemplo elegido ha sido el de dos displays de 7 segmentos, por ser bastante visual. Estos displays se usarán de tres maneras distintas: • Con conexión directa a los pines del microcontrolador, multiplexando en el tiempo ambos dígitos • A través de un par de registros de desplazamiento conectados al puerto SPI • A través de un par de circuitos PCF857a conectados al bus I2C Para los tres casos se desarrolló el mismo ejemplo de programación: un contador descendente desde un valor de 30 hasta 0, con un periodo de 1 s, que al llegar a 00 parpadea tres veces y luego vuelve a empezar. Al ser un mismo ejemplo de programa, los alumnos pueden ver las diferencias entre usar un periférico u otro, así como deducir en qué casos deberían utilizar cada uno y comparar los recursos que consumen en cada caso, incluido el consumo de energía ante la posibilidad de usar modos de bajo consumo. Aparte de estas tres placas iniciales, se han diseñado, desarrollado y utilizado en clase otras placas más complejas en las que se prueban más de un periférico. Asimismo se ha usado un Boosterpack existente en el mercado, cuyo nombre comercial es Educational Boosterpack, que incluye numerosos elementos para la demostración de periféricos (pantalla LCD, LED tricolor, BUZZER, potenciómetro, etc.). V. ANÁLISIS DE LOS TEACHING BOOSTERPACKS En este epígrafe se hará una descripción detallada de cada uno de los Boosterpacks desarrollados, comentando sus peculiaridades. A. Placa Launch-disp En esta placa (Fig. 2), los dos displays se conectan a los pines del puerto 2. El modo de funcionamiento que permite el encendido y control de ambos displays se basa en la multiplexión en el tiempo de las líneas de datos, encendiendo secuencialmente cada uno de los dos displays o dígitos. Para ello, el ánodo común de cada display ha sido conectado a un pin del microcontrolador que irá activando alternativamente sólo uno de los dos displays. Fig. 2. Placa Launch-Disp Con este montaje los alumnos pueden analizar y comprobar el concepto de barrido horizontal que se utiliza en todos los sistemas de representación gráfica (pantallas, displays LCD, etc.). Además, pueden ver cómo la limitación de corriente de los pines del microcontrolador hace que los números no aparezcan todos con la misma intensidad. Esto es debido a que, al estar el terminal común directamente unido al microcontrolador, éste no es capaz de dar la corriente necesaria para encender todos los segmentos (para el caso del 8), mientras que sí es capaz de suministrar corriente suficiente para encender los segmentos necesarios para mostrar un 1 o un 7. Al sistema se le ha añadido un botón que permite hacer pruebas
respecto a la eliminación de los rebotes por hardware, conectando un condensador de alisamiento, o por software, desconectándolo y programando algún mecanismo de filtrado. El consumo elevado de pines (10 en total) se compensa con el hecho de no necesitar elementos externos, con lo que la placa es mucho menor que las otras dos. Por otra parte, el microcontrolador deberá refrescar continuamente el display, por lo que no se podrán usar los modos de bajo consumo al tener que permanecer el microcontrolador activo todo el tiempo de procesamiento. La limitación de corriente de los pines que dan servicio a los ánodos comunes se puede evitar usando un buffer o con un simple transistor por cada pin. B. Placa Launch SPI Esta segunda placa utiliza el puerto SPI del microcontrolador para activar los display. Para ello, se usan dos registros de desplazamiento 74HC595 conectados en serie, como se observa en la Fig. 3. Se han añadido tres pines para poder observar en un osciloscopio, en el laboratorio, el protocolo completo de transmisión, formado por las líneas de reloj, de datos y la de fin de transmisión, que provoca el volcado de los registros de desplazamiento en las salidas. Fig. 3. Placa Launch-SPI Una vez explicado el funcionamiento y estructura del puerto SPI, se comprueba con esta placa que la disminución de pines usados para el control de los dos displays es significativa (pasamos de 10 a 3), y que este número no crece aunque empleemos un mayor número de dígitos. Como ventaja adicional, se puede ver que el microcontrolador pasa a modo de bajo consumo durante todo el tiempo en que no es necesario mandar nuevos datos a los dígitos, por lo que la mayor parte del tiempo estará en un modo de funcionamiento stand-by, consumiendo una corriente del orden de 0,7μA. Dado que la comunicación SPI se produce a 500 kbit/s, el microcontrolador tarda aproximadamente 32 μs en enviar el nuevo dato a la pantalla, por lo que el resto del tiempo (aproximadamente el 99.99% del tiempo) estará en este modo de bajo consumo, esperando una interrupción que lo saque del estado de letargo. C. Placa Launch I2C Esta tercera placa, Fig. 4, realiza la misma función que las anteriores, pero empleando para ello el bus I2C. Se hace uso del clásico dispositivo externo PCF8574, que en este caso hace la función de extensor de puertos controlado por el bus I2C. Se han colocado dos dispositivos en dos direcciones distintas del bus, usando sus tres pines de dirección propia. De esta manera se insiste en el concepto de bus I2C como bus de comunicaciones en el que múltiples elementos se conectan a una misma línea de datos y de reloj. La placa es muy similar a la anterior, de manera que las ventajas e inconvenientes del uso del bus I2C se pueden visualizar de manera muy sencilla. Por un lado, el número de pines necesarios se disminuye aún más a sólo dos, siendo además esta comunicación bidireccional, lo que en el caso del puerto SPI nos llevaría a tener que usar un cuarto pin. Otra pequeña ventaja del bus I2C frente al SPI es que sólo se tiene que actualizar el dígito que cambie, con lo que la comunicación es más rápida que en el caso del SPI, que debe sobreescribir los dos dígitos siempre. De nuevo, esta ventaja se vería incrementada en caso de contar con más dígitos. Como inconveniente frente a la comunicación SPI cabe destacar la mayor dificultad para manejar dicho protocolo, así como el mayor precio de catálogo del elemento necesario (1,23 € del PCF8574 frente a 0,15 € del 74HC595). Fig. 4. Placa Launch-I2C TABLA I. COMPARATIVA ENTRE LOS TEACHING BOOSTERPACKS DESARROLLADOS D. Comparación de las diferentes placas Como ayuda para el análisis de las tres soluciones presentadas, se ofrece a los alumnos la comparativa asociada a la Tabla I en la que se muestran las principales características de cada solución, extendiendo la comparación para el caso general de N dígitos. Boosterpack Launch-Disp Launch-SPI Launch-I2C Pines usados 10 3 2 Pines para N dig. 8+N 3 2 Presupuesto (€) 2,46 2,93 4,01 Bajo consumo No Sí Sí
Viendo la tabla, se puede comprobar que la primera solución sólo es viable para un reducido número de dígitos, sin tener en cuenta el resto de problemas. Las otras dos soluciones son muy similares en características y, probablemente, la elección de usar una u otra dependa más del resto de otros requerimientos en el caso de un diseño real. Por ejemplo, si el diseño completo incorpora el uso de I2C, resulta conveniente emplearlo también para el display dado que al ser un bus puede direccionar distintos elementos, no consumiendo pines extra para el display. Por el contrario, si el diseño necesitase usar la comunicación SPI, sería más conveniente usar para el display la comunicación I2C dada la complejidad de conectar diferentes elementos en una misma cadena SPI. VI. DESARROLLO DE LA EXPERIENCIA Al ser el curso 2013-2014 el primer curso en que se usan estas placas así como la metodología docente presentada, sólo se ha podido disponer de una de cada, por lo cual la utilización de las mismas se ha restringido a hacer las demostraciones en clase de los diferentes periféricos, así como fomentar la comparación entre ellos. El uso de las placas ha seguido el siguiente esquema temporal: • Explicación del periférico en cuestión. Se explican sobre una presentación los registros de configuración y el manejo del mismo: para qué se usa, qué peculiaridades presenta, topologías de uso, etc. • Presentación del ejemplo. Se muestra, sobre el propio entorno de programación, el código del ejemplo propuesto. Sobre éste, se ven las distintas partes del mismo (configuración, zona de operación, etc.). • Demostración del funcionamiento usando la Teaching Boostrepack correspondiente. Se ejecuta el código sobre el microcontrolador, conectado a la Teaching Boosterpack correspondiente. Si fuera de interés, se puede medir el consumo del sistema, ya que dispone de un jumper en la alimentación que permite incluir un amperímetro en serie. • Uso en prácticas. Los alumnos hacen uso de los diferentes periféricos vistos en clase teórica (pines de entrada/salida, puertos SPI e I2C, convertidores A/D, etc.) en las clases prácticas, tomando como base los ejemplos desarrollados en clase disponibles a través de la plataforma de Enseñanza virtual de la Universidad de Sevilla. Además de las placas comentadas, englobadas dentro del conjunto que hemos denominado Teaching Boosterpacks, se han desarrollado otra serie de Boosterpacks que incorporan diseños más complejos, entre las que destacan la placa MIDI- I2C, y la placa Matriz-Touch. La primera de ellas dota a la placa Launchpad de entrada y salida MIDI estándar, conectando al microcontrolador dos potenciómetros lineales y otros dos rotativos, así como 4 pulsadores. Por otro lado, deja accesible los pines del puerto I2C por si fuese necesario ampliar el sistema con una pantalla, por ejemplo. La segunda placa de las comentadas desarrolla el concepto de matriz de LED con 4 displays de 5x7 LEDs, cada uno de los cuales es controlado localmente por un circuito MAX7219, conectados todos ellos al bus SPI. Además, se han incluido 4 pads para demostrar el funcionamiento de los pines como sensores capacitivos. Tanto las Teaching Boosterpack como las demás placas desarrolladas, así como las placas comerciales (Educational Boosterpack) fueron puestas a disposición de los alumnos para que elaboraran sus propios proyectos. En el caso de la asignatura de GITI, dado que eran del orden de 100 alumnos, se ofreció de manera voluntaria la posibilidad del desarrollo de un proyecto como evaluación alternativa al examen. Esta posibilidad fue empleada por 6 alumnos, que desarrollaron distintos proyectos, basados en el kit comercial. Al ser ésta una asignatura inicial, y no poseer los alumnos conocimientos previos sobre desarrollo de placas, ninguno se animó a realizar algún nuevo Boosterpack. Sin embargo, en la asignatura de GIERM, en la que había matriculados 21 alumnos, el trabajo fue el método fundamental de evaluación, siendo el examen únicamente una alternativa para casos excepcionales. Estos alumnos realizaron trabajos muy notables, en los que desarrollaron tanto hardware específico como programas en el microcontrolador, alcanzando un gran nivel algunos de ellos. VII. RESULTADOS Se realizó una encuesta a los alumnos de la asignatura de GIERM, en la que se les preguntó por la utilidad de diferentes herramientas docentes, como son las transparencias de clase, los ejemplos de programación, el uso de Teaching Boosterpacks, las prácticas de la asignatura, y la realización del proyecto final de la asignatura. Los alumnos puntuaron de 1 a 5 todas estas herramientas, obteniendo los resultados agregados que se muestra a continuación, en la que se han ordenado las herramientas docentes según la puntuación media obtenida: Fig. 5. Resumen de los resultados de la encuesta Analizando los resultados, se comprueba que el uso de Boosterpacks está más valorado por los alumnos que las clases de teoría o las prácticas de laboratorio, siendo sólo superado como método de aprendizaje por el desarrollo de un proyecto que ellos mismos realizan. También se comprueba que los
alumnos estiman que sería positivo contar ellos mismos con boosterpacks para poder seguir la explicación y ejecutar los ejemplos a la vez que el profesor. VIII. CONCLUSIONES Y FUTURAS LÍNEAS En este trabajo se ha presentado una metodología docente para la impartición de Sistemas Electrónicos Digitales basada en la utilización en clases teóricas de elementos reales, denominados Teaching Boosterpacks, que permiten ilustrar el funcionamiento y manejo de los periféricos asociados a microcontroladores. Le experiencia se ha aplicado por primera vez el curso académico 2013-2014 en dos titulaciones de grado impartidas en la Escuela Técnica Superior de Ingenieros de Sevilla. Del análisis general de los resultados obtenidos se puede concluir que el uso de los Teaching Boosterpacks en el aula ha mejorado de manera notable la comprensión por parte de los alumnos del funcionamiento de los diferentes periféricos de los microcontroladores, ofreciendo una herramienta para la rápida demostración en el aula del manejo de los mismos. Para años siguientes, se pretende desarrollar una tirada de unas 20 placas de cada modelo, para poder ser usadas por los alumnos en el aula, así como facilitarlas para el estudio personal. REFERENCES [1] Bolonia (1999) Declaración de Bolonia (español) en: http://www.educacion.es/dctm/boloniaeees/documentos/02que/declaraci on-bolonia.pdf?documentId=0901e72b8004aa6a [2] M. Brooks, J. Huisman, “The Eagle and the Circle of Gold Stars: Does the Bologna process affect US Higher Education?”, Higher Education in Europe, Vol. 34, No. 1, 2009. [3] A. Fortes Martín, “Bolonia o la supernova: la “explosión” del proceso de Bolonia y el tránsito del modelo de enseñanza al de aprendizaje”, El Cronista del Estado Social y Democrático de Derecho, No. 4, pp. 36-37, 2009. [4] D. Schor, T. Denton, M. Sebastian, M. Woelk, F. Serafin, C. Nemeth, P. Glowacki, K. Poon, K. Anderson, G. Linton, A.F. Darbandi, W. Kinsner, A. McKay, K. Biegun, U. Annakkage, “Complementing Classroom Experience with Student-Run Workshops”, Proceedings of the Canadian Engineering Education Association (CEEA12), pp 416- 420, 2012, Winnipeg (Canada) [5] TI University Program. Texas Instruments Hardware, Software and Teaching Materials: Microcontrollers. ASEE Annual Conference and Exposition 2013, Atlanta, Georgia. [6] Fernandez, Dang, “Getting Started with the MSP430 Launchpad”, 1ª edición, Ed. Elsevier, ISBN: 978012411588 [7] A. Fernández, “MSP430 Value Line LaunchPad Development Kit. White paper”, http://www.ti.com/lit/wp/slay017/slay017.pdf [8] P. Jamieson, “Arduino for Teaching Embedded Systems. Are Computer Scientists and Engineering Educators Missing the Boat?”, International Conference on Frontiers in Education: Computer Science and Computer Engineering, FECS'10, Las Vegas, Nevada (USA).