Compilando avrdude desde los fuentes

Hasta hace unos días había podido grabar mis chips ATMEGA328 utilizando los programadores USBASP y AVR Dragon sin ningún inconveniente, pero de un momento a otro ya no fue posible. Investigué pero no hallé una respuesta que solucionara el problema. Y el problema era (es), en parte, los fusibles, ya que cada vez avrdude arrojaba …

Arduino de tiempo real: Curso gratuito en español

Hola, Quiero invitarte a que visites mi curso gratuito en español donde te muestro, paso a paso, cómo obtener un Arduino de tiempo real, a través del sistema operativo FreeRTOS. El curso está alojado en el blog de mi sitio profesional: Curso de Arduino en tiempo real. El curso está en construcción y estoy intentando …

Primeros pasos PWA/Angular en Linux Mint

Esta entrada está dedicada a la instalación y primeros pasos para la creación de Progressive Web Apps con Angular en Linux Mint. Instalación Instalar node.js y npm En una consola escribir: $ sudo apt install nodejs npm Visual Studio Descargar e instalar la imagen .deb de Visual Studio (opcional, pero recomendable por el autocompletamiento y …

How not to code a state machine in C++ for an embedded system

The premise is simple: try to write a state machine in C++ for embedded systems following the State Pattern. But before you start coding there's a catch: you cannot use dynamic memory: Embedded systems based on low resources microcontrollers might not have support for malloc()/free() functions.A safe embedded system should not use dynamic memory.Just for …

Catch 2, quick and dirty setting up in Linux

Download Catch 2 Download it from here and decompress it wherever you want. Create a test file Create a folder wherever you want.Inside the folder create a test.cpp file (without the main() function). For example: // test.cpp #define CATCH_CONFIG_MAIN #include "catch2/catch.hpp" int square( int a ) { return a*a; } // more functions to be …

Some ways to make an embedded system safer, (III)

This is the 3rd and final part of this series. Some of the advices in this post are little more complicated than the others that I've presented. But I encourage you to give them a try, you won't regret. Remember why we are here. If you've missed the first two parts, you can reach them …

Some ways to make an embedded system safer in the Covid-19’s times (II).

In the previous post I started a serie of advices about how to make our embedded systems safer and more reliables. In this post we will discuss another 5 hints. 6 Use a watchdog A program might get stuck in a block of instructions for a variety of reasons. Some of them are: Memory gets …

Arduino, FreeRTOS and shared resources

The Arduino’s analog to digital converter is built upon a single ADC module with 6 or more channels (inputs) and only one channel can be active at any given time. When we are programming in a sequential fashion (without an operating system) it’s easy to read from all channels, one after another. However, when we …