In our times, there has been a tremendous evolution of technology that among others has extended human capabilities. One of the latest adapted concepts with a significant impact in various sectors is the Blockchain technology. This term was first coined in 2008 by an individual (or group) under the name of Satoshi Nakamoto in a white-paper entitled Bitcoin: A Peer-To-Peer Electronic Cash System.. This paper represents a decentralized peer-to-peer version of the electronic cash that…

Warnings about bitcoins and other cryptocurrencies are coming from all directions. Concerns about the security of the cryptocurrency have continued to shadow it. Last year, almost 120,000 bitcoin worth around $78m (£58m)were stolen from Hong Kong-based Bitfinex, one of the most popular cryptocurrency exchanges, which resulted in a 20% drop in the value of the currency at the time. Moreover, there is also a high risk of fraud. There is still a good deal of misinformation and lack…

Universal Plug & Play describes devices that work with a computer system as soon as they are connected. UPnP is an extension of this idea that expands the range of Plug and Play devices to networking equipment. Universal Plug and Play uses network protocols to allow a wide range of devices to be interconnected and work seamlessly with each other. [1] Since most UPnP devices support zero-configuration setup (like ordinary Plug and Play devices), it…

The first step is to create a function that compares two input strings, if those strings are an anagram the function will return true or if its not it will return false. Let’s name our function boolean isAnagram(String string1, String string2). Of course, if we compare those strings as they are we can’t find out if they are anagrams, so there is a need to process a little bit those string in a way that…

Using the  the current project aims to update a board through CANbus. The workflow: The first board has a firmware loaded into the SD Card. At the beginning it requests to transmit the firmware through CANbus. If the second board accepts the request, then the firmware is transmitted through the CANBus to the SD Card of the client. After the completion of the firmware transfer process, the system reboots itself and Stitch Bootloader flashes and loads…

Usually a firmware upgrade of the STM32FXXX boards are is not an easy task for customers. They have to plug the board and use several different tools to flash the memory. For that reason i have made a simple, effective and easy way to upgrade your firmware using an SD Card. The upgrade task is simple, just write your firmware in the first sector of the SD Card (use HxD application to perform this operation),…

Occasionally we might come across a problem which lends itself well to the idea of C# code being compiled at runtime. The .NET Framework includes a mechanism called the Code Document Object Model (CodeDOM) that enables developers of programs that emit source code to generate source code in multiple programming languages at run time, based on a single model that represents the code to render. We can use the CSharpCodeProvider to do exactly this, it can compile…

In the last three decades, the field of robotics knows great flourish and acceptance, both at research level and application in everyday life.  Nowadays, the rapid evolution appears from the applications and the deployment of almost all over the world and from the research results. Countries such as Japan, US and Western and Eastern European countries, which have made significant progress to research and to technology, constitute the basic core of support and development of…

Sometimes, we need an easy way to test and verify that our board works correctly, especially if we are using breadboards and cables. The following simple FreeRTOS thread is able to echo each incoming CAN frame. To use this thread you must enable FreeRTOS using the ST’s CubeMX software which will generate the appropriate startup source code and afterwards you have to include some extra libraries that can be found in the blog (please check…

In a previous post we saw a simple CAN library to handle the CAN interfaces of STM32 board. However one basic issue that we had to solve is the frames buffering (especially when we receive the frames). This issue came up by the processing time that each frame needs and the limitation that the receive interrupt routine should be as fast as possible. For that reason, the following source code presents an incoming CAN Frames…