¿Es Arduino una mala forma de aprender sistemas embebidos? Mis habilidades en C son buenas y quiero ser un ingeniero de software integrado profesional. Compré un kit Arduino y comencé a hacer proyectos, pero fue fácil. No estoy aprendiendo ¿Cuál debería ser el siguiente paso?

En mi opinión, después de haber realizado una programación integrada de vez en cuando durante más de 30 años, la plataforma Arduino puede ser una herramienta muy buena, por ejemplo, para hacer prototipos rápidos de cosas que necesitan un “cerebro”. Pero no es necesariamente un buen entorno para aprender el oficio de la ingeniería de software embebido. Creo que ya has descubierto esa parte, porque pareces tener la sensación de que realmente no estás aprendiendo nada.

Para adquirir el tipo de experiencia y comprensión de programación de bajo nivel necesarias para convertirse en un buen programador de entornos integrados, le sugiero que se familiarice con el diseño y desarrollo del sistema operativo. Si observa, por ejemplo, un kernel de Unix, encontrará muchas interfaces de hardware y muchas técnicas de programación que son similares a las que encontrará en un entorno integrado. Encontrará secciones de arranque que inicializan el hardware y el software, puede examinar varios controladores de dispositivos de hardware (preste especial atención a los temporizadores programables y dispositivos básicos de E / S como puertos serie) y encontrará cosas más avanzadas como MMU (unidades de administración de memoria) eso, aunque no está presente en microcontroladores más simples, aún proporciona una gran cantidad de información sobre cómo un sistema operativo adecuado maneja la memoria y la gestión de procesos.

Cuando haya jugado un rato con eso, intente escribir un controlador de dispositivo. Por ejemplo, para algún tipo de dispositivo USB simple que pueda tener en casa.

Además, familiarícese con la electrónica básica. No necesariamente al nivel de convertirse en un diseñador o ingeniero electrónico, pero lo suficiente como para comprender lo que sucede después de que los suyos y los ceros dejan los puertos de E / S de su procesador.

Luego, aprende a pensar y programar en lenguaje máquina. Ensamblador. Si observa los sistemas operativos principales que se ejecutan en una computadora personal, su primera opción será, por supuesto, x86 o posiblemente ARM. Pero hay una serie de buenos microcontroladores, todos con buena documentación técnica de su respectivo lenguaje de máquina, y la mayoría tienen herramientas de desarrollo gratuitas, como ensambladores y compiladores de C. Mire estas hojas de especificaciones y otra documentación de varios microcontroladores. Consígase una placa de desarrollo con una que le parezca interesante. No te daré ninguna sugerencia, porque todo es cuestión de gustos y qué cualidades específicas se adaptan a las necesidades de cualquier proyecto en particular.

¡Pero no dispares demasiado alto! Alguien sugirió 8051, y esa es de hecho una excelente plataforma para comenzar a mirar. Ha existido desde la década de 1980, por lo que es maduro, y hay muchos kits de herramientas y conocimientos que se pueden encontrar. Pero la parte más importante es que es una arquitectura algo limitada. Es de ocho bits, y aprender a programar código incrustado en algo con capacidad de procesamiento y memoria limitadas y pocos modos de direccionamiento fomenta el buen pensamiento y las habilidades de programación.

Un buen programador no escribe código C o Java o Python, escribe * código *, en cualquier lenguaje y entorno en el que se encuentre.

No, Arduino no es algo malo, solo significa que ha comenzado a aprender sobre sistemas integrados. No se preocupe, usar Arduino no es una pérdida de tiempo completa, estoy seguro de que aprendió qué es un microcontrolador, qué es el parpadeo de código, probablemente algo sobre compiladores, enlazadores (¿lo hizo?), SPI, I2C, UART? Sin embargo, diría que Arduino te presentó los conceptos básicos.

Su próximo paso sería pasar a Raspberry pi u otras placas integradas complejas. Raspberry pi es una excelente manera de aprender sistemas integrados basados ​​en Linux. También debe explorar los gestores de arranque, la programación del sistema operativo, el manejo de interrupciones, la optimización de la memoria, los controladores de dispositivos, los temporizadores, etc. Aprender la arquitectura de un microcontrolador es una gran cosa, obtenga conceptos como FPU, ALU, DMA, RISC y CISC, unidades de memoria como Flash, RAM / ROM, caché, etc. Si estas cosas están en la escala ligeramente avanzada, compre un microcontrolador TI MSP430 y destrúyalo.

Desde mi experiencia personal, MSP430 es una alegría absoluta de usar. Tienen una gran cantidad de recursos y materiales, una buena comunidad donde puede discutir y publicar cosas y una hoja de datos muy bien documentada. Sí, leer una hoja de datos es algo tan importante, que muchos de nosotros pasamos por alto. Ponga sus manos en la programación C integrada (relajarse, es muy similar a C), protocolos de comunicación como SPI, CAN, I2c, UART, Bluetooth, Ethernet, etc.

También debe tener sus habilidades de codificación correctas (bueno que ya haya trabajado en ellas). Algunos temas importantes serían estructuras, macros, listas vinculadas, conceptos de punteros (., ->, *, &) etc.

Te sugiero que implementes una idea o algo así, de esta manera estarás expuesto a cada etapa del desarrollo del sistema embebido.

¡Todo lo mejor!

¡Felicidades! Has descubierto que Arduino es ‘microcontroladores sobre rieles’ 🙂

Arduino tiene valor como herramienta de aprendizaje para neófitos, y como herramienta de realización de proyectos para aficionados, y como herramienta de creación de prototipos para profesionales.

Para los neófitos, todo es nuevo, hasta que no lo sea.

Para los aficionados, Arduino hace muchas cosas aburridas y tediosas para usted, o simplemente se ocupa de cosas que ya sabe, al tiempo que le permite concentrarse en los aspectos que son nuevos para usted o que son más difíciles de comprender.

Para los profesionales, más o menos lo mismo que los aficionados creen que es, en aras de hacer que un prototipo funcione lo más rápido posible, antes de comprometerse con una implementación de menor costo en hardware y firmware a medida.

Parece que tienes una buena comprensión de la programación en C y cómo usar las bibliotecas que otras personas han hecho para ti. Excelente, ese es un gran punto de partida.

Ahora es el momento de seguir adelante:

  • Elija un chip periférico, ya sea uno para el que no puede ver una biblioteca, o incluso si hay una biblioteca para él: ignórelo, ni siquiera lo mire, luego vaya y cree su propia biblioteca para usar ese chip periférico conectado a un Arduino. Luego, si es un chip para el que ya existe una biblioteca, compare su biblioteca con la de ellos, intente trabajar con ambos: ¿cuál es más fácil, más completo o tiene una función que usted o ellos no habían pensado?
  • Ahora aborde su propio proyecto completo, algo que reúne hardware, control de software, quizás algo de conectividad a Internet, para hacer algo nuevo o novedoso.
  • Aprenda a leer hojas de datos: esto es fundamental. Como desarrollador de software incorporado, su trabajo es ser la interfaz entre el hardware y el software, ya sea que esté o no codificando el código de aplicación de nivel superior. Debe comprender cómo se presentan típicamente las hojas de datos, que hay excepciones a la regla de cómo se presentan algunas y que hay errores en ellas.
  • Además de ser un IDE de mierda, Arduino también es un intento completo de ocultar toda la parte inferior oscura de una cadena de herramientas de compilación cruzada, lo que puede ser muy difícil de configurar. Pero es algo con lo que tendrás que aceptar tarde o temprano. Sugeriría configurar su propia cadena de herramientas AVRGCC y luego programar sin las ruedas de entrenamiento Arduino, y ver qué diferencia hace.

Mira mi respuesta a una pregunta similar:

La respuesta de Anthony May a He aprendido C, microcontroladores y C ++. ¿Qué debo hacer después de trabajar en sistemas integrados? ¿Debo aprender Java?

¡No! Es una forma moderna y excelente de comenzar a utilizar sistemas embebidos. Deje de lado a las personas que dicen que Arduino es para niños.

¡Ingresé al dominio de sistemas incrustados solo por Arduino! Hace que los principiantes no pierdan interés y los motive a hacer más. Ahorra mucho tiempo durante la fase de aprendizaje.

¡Hay muchas cosas que una biblioteca Arduino puede enseñar!

  • Cómo escribir software bien estructurado
  • Cómo prototipar cosas antes de comenzar con el proyecto real

Nos hace más imaginativos y creativos sin estar limitados por un conocimiento limitado.

Aunque he avanzado con Tiva C, todavía uso Arduino (Debido) para hacer prototipos con FreeRTOS, CAN, USB, Ethernet, etc.

Una vez que sienta que se ha saturado con Arduino, pase a algún microcontrolador como PIC o MSP430 o incluso controladores basados ​​en ARM Cortex-M de 32 bits como STM32.

Seguir con Arduino sin trabajar con otros microcontroladores no te ayudará a desarrollar tu carrera. Trabaje en Arduino y otros controladores para maximizar su aprendizaje.

Hola,

Sí, tienes razón, Arduino es una forma incorrecta de aprender el Sistema Embebido. A partir de ahora, comprende que Arduino tiene todo como biblioteca, por lo que es fácil, pero no entendemos lo que está sucediendo internamente porque la biblioteca no se revela a un usuario.

Por lo tanto, puede avanzar hacia el uso del kit de controlador 8051 o ATmega, donde tiene la sensación real de trabajar en el sistema incorporado, allí comprende la complejidad y la comprensión del manejo de registros del controlador específico.

Después de eso, debe seguir adelante con Raspberry Pi para aprender el sistema operativo incorporado.

Seguir aprendiendo…

Salud…!

Entonces, ¿Arduino es un poco fácil para ti?
Bueno oír eso. Vayamos a los negocios reales.

  1. Escriba una biblioteca que pueda admitir todas las formas de actuadores. Ya sea un servo, un motor de corriente continua o un motor paso a paso. Demonios, podría ser un motor de corriente alterna. La biblioteca debe poder tomar parámetros básicos del usuario y hacer que el motor funcione como el usuario lo desee. Pueden ingresar el grado de rotación requerido en un momento dado para un motor de corriente continua, o el número de pasos para un motor paso a paso. Puntos de bonificación, si la biblioteca incluye algún mecanismo para encontrar el número de rotaciones realizadas por el motor (usando algún codificador)
  2. Escriba una biblioteca para convertir datos de acelerómetro, giroscopio y magnetómetros a los valores de cuaternión apropiados. Luego, con el tiempo, proporcione un ángulo de movimiento apropiado para los tres ejes. ¡Optimiza el código de tal manera que el diablo lo maldiga!
  3. Escribe una biblioteca para pantallas LCD. No una pantalla LCD de un tipo. Escríbalo para acomodar a la mayoría de ellos. Desde caracteres LCD a gráficos a OLED. Punto de bonificación si se admiten los formularios SPI e I2C. Puntos de bonificación extra si se pueden usar en cualquier pin del arduino.
  4. Paralelo entre dos o más arduinos. Hazlos esclavos en los modos SPI / I2C. Si es posible, defina su propio protocolo basado en software si lo encuentra más fácil.
  5. Escriba una biblioteca para leer datos de un mouse.
  6. Conecte el arduino a una computadora portátil y conéctelo al software de procesamiento. Use el código en 2. para hacer una cabeza virtual.
  7. Usando 3 y 4, haga un paquete de LCD, que pueda usarse como esclavo en cualquier otro controlador, ya sea arduino o Rpi.

Para ser honesto, estos son fáciles. Pero comprueban tus habilidades de codificación muy bien. Te muelen y te hacen darte cuenta de cuánto es necesario cada bit de memoria. Te hacen darte cuenta de la importancia de los ciclos de reloj para cada iteración. Te hacen darte cuenta de lo útil que es la programación basada en C ++ para arduino.

Un consejo: no use bibliotecas precompiladas para ninguna de estas tareas si lo hace. Y trate de no usar declaraciones de lectura / escritura digitales / analógicas. Más bien, busque la hoja de datos del microcontrolador en su arduino y descubra cómo hacerlo a nivel de registro. Verá un aumento significativo en el espacio libre y la velocidad de su bucle.

Espero que esto ayude.
Todo lo mejor.

Los kits Arduino son un excelente punto de partida para desarrolladores que no tienen experiencia en ingeniería eléctrica. Le dará una idea razonable de cómo juntar diferentes piezas y codificar adecuadamente para crear su sistema de trabajo. Tus próximos pasos deberían ser aprender a escalar tu trabajo

  • debes entender por qué las bibliotecas que estás usando están escritas de la manera en que están
  • entonces puede optimizar su código, a diferencia de las computadoras, los sistemas integrados están muy limitados en la memoria y los recursos de la CPU, puede quedarse sin memoria fácilmente si no aprende a optimizar
  • aprenda cómo crear nuevos módulos y usarlos con placas base Arduino para agregar nuevas funcionalidades
  • tal vez cree una sola PCB con el microcontrolador compatible con Arduino si planea producir una pequeña cantidad

al final todo depende de su objetivo, qué sistema está tratando de construir, debe tener un proyecto de controlador que lo guíe a través de todos estos pasos de aprendizaje

En mi experiencia con proyectos integrados (más de 45 años), nunca he usado Arduino para un proyecto. Pensé en usarlo para un proyecto, pero eso no me entusiasmó en absoluto. La razón es muy simple, me pareció un juguete de color azul preparado para cualquier proyecto que quieras hacer. Es realmente fácil de manejar, debido a sus bibliotecas. Arduino es en realidad una placa de desarrollo construida sobre AVR mcu inicialmente. Tratar con AVR o cualquier otro microcontrolador directamente es algo difícil para los principiantes, por lo que llega Arduino. La intención detrás de los fabricantes de Arduino es que quieren ayudar a las personas que luchan para lidiar con los microcontroladores. Por supuesto, ahora Arduino s con sistemas operativos también están disponibles en el mercado. Arduino no es una buena manera de aprender cosas si realmente quieres convertirte en un ingeniero integrado con habilidades de programación. Dicho esto, hay empresas que usan Arduinos en los productos, porque puede producir buenos resultados en menos tiempo sin poner mucho esfuerzo. Realmente me gusta tratar con bits en microcontroladores a diferencia de Arduino. Y aprender el sistema operativo Linux realmente te ayudará mucho.

Editar:

Puede consultar las conferencias de Bruce Land en youtube, enseña en la Universidad de Cornell.

Lo diré en resumen.

Arduino es excelente en el sentido de que desea que su prototipo se desarrolle rápidamente y funcione con éxito. Tienen bibliotecas para cada uno de los módulos de microcontroladores AVR ATMEGA, que utilizará directamente en su programa. Pero si está comenzando a aprender sistemas embebidos desde cero, entonces esa no es una buena opción. Porque al usar Arduino nunca sabrás lo que sucede en el interior de tu microcontrolador.

Y para aprender Sistemas Embebidos en general, sería un aprendizaje más concreto si usted mismo comienza a trabajar en un microcontrolador de su elección y comprende cada uno de sus módulos paso a paso.

Comenzar con 8051 es una buena opción, pero los microcontroladores AVR de Atmel son una buena opción para comenzar, ya que tiene muchas características avanzadas.

Puede ver mis videos en Embedded Systems aquí, aunque todavía están en etapa de desarrollo.

Conceptos básicos de sistemas embebidos y programación de microcontroladores: conceptos básicos de sistemas embebidos y programación de microcontroladores

La pregunta supone que, de hecho, sí enseña sobre sistemas embebidos. Sostengo que lo hace solo de la manera más leve. Arduino es una herramienta para aficionados que fue creada para evitar que los usuarios tengan que aprender sobre los sistemas integrados. Su experiencia parece apoyar esto.

Si realmente quieres aprender sobre sistemas embebidos, crea tu propio sistema tipo Arduino. Eso lo obligará a aprender y comprender todas las bases del sistema que facilitan el uso de otros. La gama de habilidades requeridas será diversa, y el grado de experiencia adquirida será bastante profundo. Si está realmente intrigado por tal proyecto, le enseñará que realmente desea ser un experto en sistemas integrados. Si todo parece trabajo, entonces habrás aprendido algo igualmente valioso.

Sí, es una mala forma de aprender sistemas embebidos.

Es genial para preparar un prototipo rápido o sumergir los dedos de los pies en el incrustado, ya que puedes instalar el IDE y hacer que las cosas básicas funcionen más rápido que la mayoría de las plataformas de desarrollo (aunque mi experiencia reciente muestra que algunas plataformas reales se están poniendo al día, mira Cypress ‘ PSOC4 BLE Pioneer Kit, por ejemplo, me ha impresionado bastante la facilidad de comenzar, pero es un verdadero sistema de desarrollo).

Pero si quiere ser un profesional integrado, faltan demasiadas cosas en el sistema Arduino, incluidas muchas de las partes difíciles de la programación integrada que necesita aprender: configurar su plataforma, usar un depurador, por aire programación, construcción de código complejo con múltiples módulos, seguridad, pilas de red, etc.

Además, los estándares de Arduino para la codificación no son completamente los estándares que codificaría un profesional, y enseña muchos malos hábitos. Por ejemplo, Arduino fomenta el uso de todas las características de C ++, lo cual es una idea terrible. Está bien usar un subconjunto restringido de C ++, pero uno de los estándares de codificación clave que un equipo debe desarrollar temprano es qué prácticas de C ++ prohibir. Es fácil usar C ++ para producir código que no pueda ser borrado, hinchado o menos estable que un equivalente en C.

No es solo una cuestión de disciplina o habilidad, usar todo el poder de C ++ es como tratar de cortar con una motosierra, excelente para algunos propósitos, como construir sistemas muy grandes y moderadamente confiables con muchos desarrolladores, sino para construir sistemas restringidos con altos estándares de fiabilidad, no tanto.

Y muchas de las bibliotecas que encuentra en Arduinoland no son muy profesionales, no solo en cuanto a su diseño, sino que he encontrado varias que solo funcionan por accidente; violan los parámetros de la hoja de datos (por ejemplo, usar un borde ascendente en lugar de un borde descendente ), pero sucede que las fichas funcionan de todos modos. Ahora, estos módulos a menudo funcionan, porque mucha gente los está golpeando. Cuando solo haces prototipos, puedes vivir con eso. Pero no está aprendiendo cómo pasar de una hoja de datos a un código que lo impulsa, y puede llegar bastante lejos antes de encontrar los problemas sutiles.

Por último, pero no menos importante, gran parte del trabajo de embebido es trabajar el diseño conjuntamente con EE; oh, necesito otro ADC mejor, así que reduzcamos nuestro micro principal y agreguemos otro con un buen ADC … y mientras estamos en podemos usar eso para ejecutar nuestros PWM y proporcionar una verificación de seguridad en ellos, mientras dejamos el flujo de alto nivel y la pila de red en la MCU más grande. Y si está atado al hardware Arduino, no está involucrado en ese tipo de iteración, que pronto será su vida.

Actualización de noviembre de 2016: mi nueva recomendación para una alternativa Arduino es la placa Pioneer Cypress PSoC 4 BLE. es un SoC basado en Cortex M0 que incluye Bluetooth y una interfaz analógica y digital configurable: puede construir circuitos de amplificador operacional simples en el firmware, lo cual es muy bueno. Y su entorno de desarrollo se pone en funcionamiento tan bien como Arduino, pero es un IDE real con toda la potencia con depuración, programación inalámbrica y una gran selección de interfaces y bibliotecas, escritas en C real incrustado por profesionales. No hay una comunidad tan grande como Arduino, pero hay muchos buenos ejemplos. Lo más importante es que no tendrá que volver a escribir todo para que sea un dispositivo integrado real, confiable, mantenible y vendible como siempre lo hace con Arduino.

Incluso después de haber sido un desarrollador incrustado durante casi 40 años (principalmente usando C), yo mismo he realizado algunos trabajos de Arduino, con fines de hobby.

Encontré que el desarrollo de Arduino es divertido, pero como profesional rápidamente me sentí un poco frustrado por sus limitaciones, en gran parte debido al entorno / editor “apenas lo suficientemente bueno para ser utilizable” de Arduino, pero también debido a su versión “tonta” De c.

De hecho, estoy usando Arduino para un proyecto desarrollado en casa que espero comercializar en el futuro. Mi decisión de usar Arduino para este proyecto se basó en parte en el hecho de que mi placa Arduino elegida tenía todas las E / S correctas y suficiente memoria para mi proyecto, y para este tipo de proyecto no necesitaba nada que “Arduino C “no proporciona. Incluso puedo apreciar el ahorro de tiempo de tener esas cosas que Arduino “esconde” del programador ya escritas y probadas, pero solo para ciertos tipos de proyectos.

Otro proyecto que estoy diseñando con la esperanza de comercializarlo y venderlo se está haciendo usando un procesador “bare metal” y un IDE C integrado profesional, ya que ese proyecto requiere una extensa programación de nivel extremadamente bajo para hardware personalizado, y aquí es donde Arduino simplemente no puedo hacer lo que requiero.

Entonces mi respuesta es que Arduino tiene un lugar en el desarrollo integrado, en el extremo menos complejo del espectro. En ese extremo del espectro, incluso los desarrolladores integrados desde hace mucho tiempo como yo pueden apreciar los ahorros de tiempo y esfuerzo proporcionados por Arduino.

Recomiendo encarecidamente Arduino como un excelente primer paso para aprender a trabajar con sistemas integrados, aunque dominar solo Arduino aún no es suficiente para convertirse en un ingeniero profesional de sistemas integrados. Haber dominado Arduino le dará una gran “ventaja” en la transición al desarrollo profesional de sistemas integrados.

Arduino fue creado para aficionados y principiantes en electrónica que desean iniciarse en sistemas embebidos. Si desea tener una mejor comprensión de lo que está ocurriendo en el microcontrolador en un nivel inferior, debe intentar comprender cómo funcionan esas bibliotecas. O incluso mejor, escribiendo sus propias bibliotecas. Arduino utiliza los microcontroladores Atmel AVR, por lo que puede descargar Atmels IDE y desarrollar un software integrado sin tener que lidiar con el entorno Arduino.

Para empezar es bueno. Pero una vez que esté familiarizado con el medio ambiente y lo suficientemente cómodo como para resolver algunos buenos problemas del mundo real. Te sugiero que profundices en la tecnología. Arduino es como andar en bicicleta con ruedas de entrenamiento, no puedes depender de ellas para siempre. Necesitas salir del soporte.

Un gran NO !!!

Es una buena plataforma para hacer cosas y aprender al mismo tiempo. Su mayor ventaja es que es de código abierto. Si necesita saber sobre la interfaz de sensores o cualquier periférico, está fácilmente disponible en Internet. Vea videos, navegue por Internet y juegue con eso . En lo que respecta al aprendizaje, escribir código y hacer lógica es fácil, pero lleva mucho tiempo depurar el código. Seguramente aprenderá a medida que experimenta con él. Tiene la desventaja de que consume más energía que MSP430 y su VCC no es exactamente 5V, está un poco apagado a 5V. En general, es bueno ir con Arduino, ahorra mucho tiempo.

Arduino es un buen comienzo, si desea seguir los siguientes pasos, comience a buscar debajo de las bibliotecas e interactúe directamente con los registros.

Una vez que comprenda cómo funciona el microcontrolador en un nivel de registro y cómo consultar la hoja de datos, el manual y las notas de aplicación como referencia, no tendrá problemas para manejar otros microcontroladores, ya que están estructurados de manera muy similar.

Incluso si tiene habilidad en el lenguaje C, no sería suficiente para programar microcontroladores, ya que también debe conocer las ESPECIFICACIONES DE HARDWARE. Arduino le dará una INTRODUCCIÓN, PERO SI HA TERMINADO CON ELLO, MÁS ADELANTE HACKING [ INGENIERÍA INVERSA] ARDUINO HARDWARE Y ESCRIBIR BIBLIOTECAS DE DISPOSITIVOS GRATIS PARA SU COMUNIDAD … QUE REALMENTE AYUDARÁ A SER UN PROFESIONAL …

No, Arduino no es tan simple como crees, es una plataforma muy buena.

comience a trabajar en profundidad, puede ayudar a su operador en sistemas integrados

Intente trabajar en la SRAM, EEPROM y reloj / temporizadores de Arduino, esto proporciona un mejor conocimiento básico de los microcontroladores

Si eres capaz de hacer todo esto, entonces cambia a controladores ARM

Vienen con 3 categorías.

A – Aplicación específica

R- en tiempo real

M- Microcontrolador (uso general)

Viene con una serie de versiones como

Cortex-M3, Cortex-M4, etc.

Estos controladores vienen con alta capacidad, alta velocidad y latencia. Así que este podría ser su próximo mejor controlador para trabajar con …

Dado que tiene buenos conocimientos en C, puede intentar implementar usando arduino y puede aprender conocimientos básicos sobre sensores, actuadores y su funcionamiento. Pero esto no te ayudará a entender profundamente. Por lo tanto, es posible que deba cambiar a otras placas y cuando domine esa placa puede saltar al desarrollo real utilizando kits de programación que utilizan controladores ARM / AVR / PIC para obtener más información sobre los sistemas integrados.

Aprenda todo lo que pueda usando esos tableros.

Ardunio es la mejor plataforma para comenzar con embebido. Mis amigos han puesto en marcha una startup -Ti2techologies, donde ofrecemos soluciones de automatización industrial en polvo de ardunio y raspberry pi.

Obviamente, el PCB y el diseño son de grado industrial, pero el corazón es esencialmente UNO o MEGA. La programación es con el IDE ardunio