Author Archives: jonesbekrar

Using a SIM800L GSM module with the Raspberry Pi (no battery)

sim800l gsm module with raspberry pi

The SIM800L is a GSM/GPRS modem widely used in electronics due to its very low price and wide availability. It’s an affordable way to send SMS with a Raspberry Pi or an Arduino, to connect to 3G or to implement a GPS.

However, it is almost impossible to find satisfactory explanations on its use and in particular on its connection.

In this tutorial we will therefore see how to connect and power a SIM800L from a Raspberry Pi (note that this also works for an Arduino), without external power supply or battery!

Hardware

We will go into the details and explanations later in this tutorial, but be aware that to connect a SIM800L to a Raspberry some hardware is required. So, you will need:

  • SIM800L GSM Module
  • 100 µF capacitor or more
  • 1N4007 diode
  • Breadboard
  • Jumpers

Of course, you will also need a Raspberry with Raspbian installed and a SIM card with a subscription. Note, the SIM card must be in micro sim format. If yours is a smaller format (nano format), you will need an adapter.

How to use the SIM800L module with a Raspberry Pi?

The SIM800L is a modem. It is the responsible for registering with your operator’s network, etc. Overall it behaves like a phone that you could control directly from your Raspberry.

To be able to control the SIM800L, from the Raspberry, you will have to provide power to the first and physically and software connect the two using a TTL port, more often called a serial port or interface.

From there you can control the SIM800L by sending so-called Hayes commands to the serial port – we actually speak more often of AT commands – which are commands specific to the functions of a modem. For example, send an SMS, enter a PIN code, check the network status, and much more!

In theory, to use a SIM800L with the Raspberry Pi you must do like this:

  • VDD of the SIM800L to +5V on the Raspberry.
  • GND of the SIM800L to GND on the Raspberry.
  • TXD of the SIM800L to RXD of the Raspberry.
  • RXD of the SIM800L to TXD of the Raspberry.

Only here, all that is the theory, but you will see that in practice things are a little more complicated.

Why is so difficult to plug in a SIM800L?

If the theory seems simple, in reality, you will find quite a few tutorials on the internet explaining how to use the SIM800L with a Raspberry. Worse, you will essentially find incorrect tutorials which, at best, will make your installation completely unstable, why not, will damage your SIM800L.

But then, how come there are not more quality resources available for such a well-known module? Because the SIM800L is particularly difficult to power and sensitive.

1. SIM800L is designed for phones and batteries

Originally the SIM800L was designed for use in phones by manufacturers. Its use in consumer electronics is much more recent and was not considered at all by the manufacturer.

As a result of its use in telephones, the module is designed to be powered by lithium-ion batteries, which offer voltages of around 3.6 to 3.7 volts. This feature will pose a first problem for us, because in digital electronics we generally use 3.3 volts or 5 volts, but not 3.6 volts.

2. SIM800L is an energy-intensive module

The second problem, the SIM800L performs radio operations that require large, very punctual current peaks. Typically the operations involved are registering on the operator’s network, sending messages, etc. If during these phases the module does not obtain the necessary current, its behavior becomes completely unpredictable, ranging from the error message to the restart through the loss of network.

Unfortunately, the power supplies in general and the GPIO ports of the Raspberry Pi in particular have a hard time responding to this kind of consumption peaks.

In fact, the amount of energy consumed is so great and over such a short period of time that using power cables that are too long and too thin can be enough to crash the module! This is also typically the case if you connect several Dupont cables in series.

No worries, we will explain how to solve these two problems!

So, how to power a SIM800L directly from a Raspberry?

We have seen so far that two problems arise for us to power a SIM800L from a Raspberry: an incompatible voltage and peaks in power consumption.

To begin, we will tackle the tension problem.

1. Decrease the voltage supplied by the Raspberry Pi

If we read the datasheet (technical sheet) of the SIM800L, we can see that the manufacturer indicates a supply voltage between 3.4 and 4.4 volts, with an optimal voltage of 4 volts.

The Raspberry Pi have two outputs that can supply two voltages, 3.3 and 5 volts. So we should increase our tension a bit or decrease it.

Let’s eliminate the first possibility which is too complicated to implement and look at the second. We are therefore looking for a reliable, simple and very inexpensive way to reduce a voltage by at least 0.6 volts, without reducing the intensity of the current (amperes). Luckily, it turns out that there is an electronic component that does exactly that, and that in addition this component is so widespread that absolutely all electronics technicians know it: the diode.

Diodes are primarily known for passing current in one direction only. But one of their characteristics is also to cause a voltage drop, which is estimated for silicon diodes at 0.7 volts.

So we just need to insert a silicon diode, we will take a 1N4007, between the 5 volt GPIO of our Pi and the VDD (power supply) PIN of our SIM800L. And here we have a voltage of 4.3 volts, MAGICAL RIGHT!!

2. Provide a power source that can meet consumption peaks

Now that we have solved our voltage problem, there remains our consumption peak problem. This time we would need a component allowing us to “store current” and provide it very quickly when the SIM800L needs it. Again, luckily, it exists and it’s called a capacitor!

Capacitors are used in many cases, but one of the most well-known uses is power supply stabilization. They charge when there is too much current and discharge when there is not enough. We will therefore insert an electrolytic capacitor (we will take at least a 100 µF 5 V, if we have more µF or volts no problem) in parallel with the VDD and GND pins of our SIM800L.

Schematics and wiring

Now that we’ve solved our problems, let’s see what our complete assembly looks like before testing everything by sending an SMS.

To hold all our components in place and connect them together we will use a breadboard and some jumpers.

Here is the final connection diagram, the red wire goes to the VDD, the black to the GND.

A few notes on assembly:

  • unplug the power supply of your Raspberry Pi while wiring. Only plug it in after checking everything and being sure that your circuit is good to go.
  • Connect the capacitor as close as possible to the VDD and GND pins of the SIM800L, ideally as shown in the diagram.
  • Capacitors are a polarized component, you must connect theme in a precise direction, anode on the VDD, cathode on the GND. The cathode is marked by a white band on the side.
  • Just like the capacitor, the diode is a polarized component. Again the cathode is marked by a white band.

Once the assembly is complete, you will be able to insert the SIM card into the slot provided on the SIM800L.

You must tuck the card on the contact side against the printed circuit, the corner cut at an angle towards the opening (it protrudes a little). If you insert the card upside down you will get a SIM not inserted type error when using the module.

Once the assembly is finished, turn on your Raspberry Pi, we will be able to test by sending an SMS!

Your first SMS from the Raspberry with a SIM800L

To finish this tutorial, we will send a first SMS to check that everything is working. We will not go further on the use of the SIM800L, but be aware that it offers many other features. For more advanced use, refer to the AT commands guide for the SIM800.

To begin, you will have to follow our tutorial to activate the serial port of the Raspberry Pi. Once you have finished activating the serial port we can connect to the SIM800L via the serial port.

To do this, open a connection to /dev/serial0 with minicom using the command line below:

sudo minicom -b 115000 -o -D /dev/serial0

Type the AT command (often the first line is not displayed when you type, this is normal) then make a line break to validate. You should get an OK response message.

Now we are going to check that the SIM card is unlocked (the PIN code is entered). To do this type the command AT+CPIN?. You should have an answer:

+CPIN: READY
OK

If you get an answer like the one below, you need to enter your card’s PIN code.

+CPIN: SIM PIN
OK

To do this, use the command AT+CPIN=0000 replacing 0000 with your own PIN code. You should then get a response of the form:

AT+CPIN=0000
OK
+CPIN: READY
SMS Ready
Call Ready

That’s it, you are connected to your operator’s network. All we have to do is send an SMS. To do this, use the commands AT+CMGF=1 to activate the text mode (it allows us to write the SMS in a format understandable for a human), then AT+CMGS="+213XXXXXXXXX" replacing +213XXXXXXXXX by the number to which you want to send the SMS.

A character > will appear, type your SMS then once you finish, press Ctrl+Z.

In the end you should have something like this:

AT+CMGF=1
OK
AT+CMGS="+213XXXXXXXXX"
> My Fist SMS with SIM800L using Raspberry Pi
+CMGS: 29

OK

There you go, you have sent your first SMS with a Raspberry Pi and a SIM800L! if you need to see more tutorials, check this link.

Machine Vision with Raspberry Pi using TensorFlow and OpenCV4

artificial vision with raspberry pi tensorflow and opencv

Do you want to implement a CCTV camera that can identify several different elements? Or maybe optimize your robot and give it the ability to detect objects?

The Raspberry Pi 4 offers enough performance to perform machine learning. In this tutorial you will see the steps to get TensorFlow working on your Raspberry Pi 4, as well as a demonstration of detecting objects with a PI Camera or USB Webcam.

Required Hardware/software

  • Raspberry Pi 4.
  • 3000mA power supply with its USB-C cable.
  • micro-SD card (minimum 32 GB).
  • Picamera (or USB webcam).

What is TensorFlow ?

TensorFlow is an open source machine learning framework for solving complex mathematical problems. It allows researchers to develop experimental learning architectures and turn them into software. TensorFlow was developed by Google Brain team in 2011 and made open source in 2015. Since then it has gone through more than 21000 changes and upgraded to version 1.0 in February 2017. Currently version 2.8.0 is available on the TensorFlow website.

This library notably makes it possible to train and run neural networks for the classification of handwritten digits, image recognition, models for machine translation, and natural language processing. An application’s code is written in Python but executed in high-performance C++. Here, the raspberry and its camera will be able to detect a hundred different objects! In addition, good results are obtained at night with an IR camera equipped with LEDs.

On the software side, the micro-SD has been flashed with the latest version of Raspbian Buster downloadable from the official website. Python3 is installed there by default, to launch a program from the command line, you will have to type in a terminal:

$ python3 my_program.py

Here, the Object_detection_picamera.py program will need several elements to work:

  • The mscoco_label_map.pbtext file corresponding to the list of 100 detectable objects, it is located in the data folder.
  • The “ssdlite_mobilenet_v2_coco_2018_05_09” folder where the training model files are stored.
  • The utils folder (utilities) containing the classification modules for the various objects.

Installing TensorFlow

Start by updating the Raspberry Pi:

sudo apt-get update
sudo apt-get dist-upgrade

Next, install TensorFlow with the pip3 command.

sudo pip3 install tensorflow

TensorFlow needs a library named Atlas, type the following command:

sudo apt-get install libatlas-base-dev

Finally, it will be necessary to install the dependencies necessary for the detection of objects.

sudo pip3 install pillow lxml jupyter matplotlib cython
sudo apt-get install python-tk

That’s it for TensorFlow. Let’s move on to OpenCV.

Installing OpenCV

TensorFlow’s object detection examples typically use matplotlib to display images, but OpenCV is preferred because it’s easier to use and less error-prone. The object detection scripts in the GitHub repository in this guide use OpenCV. To make OpenCV work on the Raspberry Pi, many dependencies need to be installed via apt-get.

sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev 
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev 
sudo apt-get install libxvidcore-dev libx264-dev 
sudo apt-get install qt4-dev-tools libatlas-base-dev
sudo pip3 install opencv-python

If all went well, OpenCV is installed on your Raspberry.

You can check if the installation is successful and the installed version. Open a terminal and launch the Python3 interpreter.

The TensorFlow object detection API uses Protobuf, a package that implements Google’s Protocol Buffer data format. Before, you had to compile the Protobuf source code (a bit tedious), but now the installation is very simple, thanks to the multiple contributions of the community.

sudo apt-get install protobuf-compiler

In order to check the version installed, run the command:

protoc --version

You should have in response libprotoc v3.20.0 (latest version.)
Create a TensorFlow directory and navigate to it (/home/pi/tensorflow).

mkdir tensorflow
cd tensorflow

Download the TensorFlow repository from GitHub by typing:

git clone --depth 1 https://github.com/tensorflow/models.git

Next, you need to modify the PYTHONPATH environment variable to point to certain directories in the TensorFlow repository you just downloaded. PYTHONPATH needs to be set each time a terminal is opened, so the .bashrc file needs to be edited.

sudo nano ~/.bashrc

Go to the end of the file, and add this line:

export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow/models/research:/home/pi/tensorflow/models/research/slim

Now we need to use protoc to compile the Protocol Buffer (.proto) files used by the Object Detection API. The .proto files are in /research/object_detection/protos, but we need to run the command from the /research directory.

cd /home/pi/tensorflow1/models/research
protoc object_detection/protos/*.proto --python_out=.

Next, move into the object_detection directory:

cd /home/pi/tensorflow/models/research/object_detection

Now download the SSD_Lite model. Google teams have developed a series of pre-trained object detection files, with varying levels of speed and accuracy. The Raspberry Pi has a relatively weak processor for the recognition application, so a model should be used that takes less processing power. Here we will use SSDLite-MobileNet, which remains well suited for our Raspberry Pi. Download the file and unzip it into the object_detection directory.

wget http://download.tensorflow.org/models/object_detection/ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz

Finally, copy/paste the python program from this Github link in a file named Object_detection_picamera.py

If you want to port the application to other Raspberry Pi with OpenCV and TensorFlow installed, simply download the .ZIP of the necessary files available on GitHub.

Your application is now ready to work!

Conclusion

Once your application is operational, all possibilities are open. For an autonomous application, based on solar panels, it would suffice to perform a calculation of the power consumed by the entire installation, and to determine the appropriate type of battery.

Still at the battery level, the Lion-i technology seems well suited, because of its small size and its autonomy, the price is higher than a lead battery, but offers good results in an environment subject to cold or heat. heat.

Programming Arduino with Visual Studio Code

program arduino with vscode

Every hobbyist generally start programming on Arduino using its official IDE. For advanced programmers, it may be interesting to change the code editor to have access to a larger number of features. In this article, you will learn how to program your Arduino using of the Visual Studio Code software which is a nice alternative to the Arduino IDE.

Introducing Visual Studio Code

Visual Studio Code is an extensible and lightweight code editor developed by Microsoft. VSCode brings many features compared to the Arduino IDE:

  • Auto-completion.
  • Syntax highlighting.
  • Debug functionality.
  • Programming in several languages (C++, C#, Java, Python, PHP, etc.).
  • Project management.
  • Git repository management.

It is open source and available on Windows, Linux and MacOS platforms.

Installing Visual Studio Code

Go to the Visual Studio Code download page and download the latest version corresponding to your OS. Launch the installer and follow the usual steps.

Communicating with Arduino

To be able to communicate with Arduino, you must install the corresponding extension.

Click on the “Extensions” icon it the left of your screen or use the shortcut (Ctrl+Shift+X).

Then search for Arduino and select “Arduino for Visual Studio Code”.

install it then Restart VSCode.

Setting up VSCode for Arduino

Click on the Manage icon (gear icon on the bottom left) and select “Command Palette”. You can use the shortcut (Ctrl+Shift+P).

Search for Arduino, then you have access to several commands related to Arduino.

Select Arduino Board Config then select board type.

At the bottom right, click on Select Serial Port, then select the serial port corresponding to the Arduino (here, COM5).

At the bottom right, click on Select Programmer then select “AVRISP mkII”.

Code compilation and upload

In the command palette (Ctrl+Shift+P), search for “Arduino: Examples” then choose “Blink” or another example.

You can then upload the code by pressing “Upload” in the top right.

The console indicates if the code is loading and you can verify that the code is loaded on the Arduino board by looking at the status of the LED.

By modifying the code a bit we send text to the serial monitor.

int led = 13;

// the setup routine runs once when you press reset:
void setup() {
  Serial.begin(115200);
  // initialize the digital pin as an output.
  pinMode(led, OUTPUT);
}

// the loop routine runs over and over again forever:
void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  Serial.println("Led is High");
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  Serial.println("Led is Low");

  delay(1000);               // wait for a second
}

Upload the modified code to the Arduino board.

To open the serial monitor, press the Serial Monitor icon just to the right of the board type at the bottom right.

You can then select the desired Baudrate in the Arduino board configuration bar at the bottom right (115200).

Send commands to the serial monitor

Just like the Arduino IDE, it is possible to send commands via the Serial port.

In the Arduino command palette, search for “Send text to Serial Port”. An input bar appears.

It is possible to create a keyboard shortcut to open this command more easily. Press the gear icon to the right of the control.

Under the Keybinding tab, you can customize your shortcut.

Now you are ready to use use VSCode with your Arduino boards. Try this tutorial of the 16×02 LCD using VSCODE.

The 16×02 LCD with Arduino

LCD 16x02 with Arduino

It is often useful to display numerical or textual information produced by an Arduino board (a measurement made by a sensor, for example). As long as the Arduino is plugged into a computer, we can use the serial monitor built into the IDE to display this information. But if we want to develop a stand-alone device that can work away from the computer, a liquid crystal display (or LCD) is a practical and relatively simple solution. In this tutorial, we will learn how to use the 16×02 LCD with the Arduino board.

Equipment

  • Arduino UNO.
  • USB cable to connect the Arduino to the computer.
  • 16×2 LCD screen.
  • 220 Ohms resistor.
  • 1k Ohms potentiometer.
  • Jumpers.

What is a 16×2 LCD ?

Liquid crystal displays (LCD) use the light modulating property of liquid crystals. Liquid crystal displays are composed of two layers of polarizers, with perpendicular polarization directions,. These displays contain two glass plates between which the liquid crystals are placed. On the glass plates is an array of electrodes for each pixel. A voltage applied between the electrodes of a pixel causes a change in orientation of the molecules and therefore the transparency of the pixel which can then let, or not, pass the light of the backlight.

Wiring and explanations

Pins 1 and 2 are used to power the display:

  • Pin1 of the display — GND of the Arduino board.
  • Pin2 of the display — 5 V of the Arduino board.

Pin3 is used to adjust the contrast of the display: it is connected to a 10 kΩ potentiometer which allows its voltage to be adjusted to a value between 0 and 5 V.

  • Pin3 of the display — Cursor of the 1k Ohms potentiometer whose two other pins are connected respectively to GND and to 5 V.
  • Pin4 “RS” of the display — Pin12 of the Arduino
  • Pin5 “R/W” of the display — GND of the Arduino
  • Pin6 “Enable” of the display — Pin11 of the Arduino

Pins 7, 8, 9 and 10 of the display are not connected, because we will use the display in 4-bit mode rather than in 8-bit mode (which saves the inputs/outputs of the Arduino ).

  • Pin11 “D4” of the display — Pin5 of the Arduino.
  • Pin12 “D5” of the display — Pin4 of the Arduino.
  • Pin13 “D6” of the display — Pin3 of the Arduino.
  • Pin14 “D7” of the display — Pin2 of the Arduino.

Pins 15 and 16 are used to power the backlight. On some display models, the backlight is not essential (except to read the display in the dark), while for other models the display is unreadable if the backlight is not activated.

  • Pin15 from display — 5 V from Arduino through a 220 Ohms resistor.
  • Pin16 of the display — GND of the Arduino.

The Liquid Crystal Library

To display the information on the display, we will use the “LiquidCrystal” library, which was specially designed for this purpose. No need to install it, since it comes with the IDE.

To quickly check that your display is indeed functional, download the “Hello World” example to your Arduino. You should see the message “Hello, world!” appear on the first line of the display, while on the second line a counter is incremented every second.
If nothing is displayed, don’t panic! Turn the potentiometer knob that controls the contrast. Or you might need recheck your wiring.

To display a text, we use the “print” command. The text always starts at the cursor position. When you write something, the cursor automatically moves to the position immediately following the displayed text.

The position of the cursor is set using the “setCursor(column, row)” command. It is important to note that the first line at the top has the number 0, and the first column on the left has the number 0. The instruction “lcd.setCursor(0,0)” will therefore position the cursor at the top left.

If you want the user to enter text that will appear on the display, it may be useful to show a blinking symbol that indicates the cursor position, using the “blink” command.

Example code

Once your module is correctly connected, you can modify the following code to obtain the desired functionality. In the following example, we are creating a countdown timer.

As mentioned before, to manage the 16×2 LCD screen in the program, you can use the LiquidCrystal.h library.

  • LiquidCrystal lcd(rs, en, d4, d5, d6, d7): set 4bit i2c communication
  • lcd. begin(16, 2): displays text on both lines.
  • lcd.print(): display a character string in ASCII.
  • lcd.write(): display data, one byte at a time.
  • lcd.setCursor(x, y): set cursor (column x: 0-16, row y:0-2).
  • lcd.clear(): clear what is displayed on the screen
/*
The Liquid Cristal counter
www.bekyelectronics.com/
*/

// Library
#include <LiquidCrystal.h>

// Library initialization
const int rs = 2, en = 3, d4 = 4, d5 = 5, d6 = 6, d7 = 7;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);

long timeInit = 0; //min
int timeHour = 1;
int timeMin = 26;
int timeSec = 35;

void setup() {
 // set up the LCD's number of columns and rows: 
 lcd.begin(16, 2);
 analogWrite(8, 15);

 // Display a message
 lcd.print("Next alarm in: ");
 timeInit=timeToCount(timeHour, timeMin, timeSec);
}

void loop() {
 // Digital time display
 countTo(timeInit);
 
 // places the cursor at the 1st character of the 2nd line
 lcd.setCursor(0, 1);

 lcd.print(timeHour);
 lcd.print(" h");  
 lcd.print(timeMin);  
 lcd.print(" m");
 lcd.print(timeSec);
 lcd.print(" s");
 
 // Wait 1 second
 delay(1000); 

 timeInit=timeInit - 1;
}

void countTo(long cntr){
 timeHour=(cntr / 3600);
 timeMin= (cntr % 3600) / 60;
 timeSec = ((cntr % 3600) % 60);
}

int timeToCount(int h,int m,int s){
 return h * 3600 + m * 60 + s;
}

Congratulations, you just made your first clock.

If you want to see more of our tutorials, make sure to visit this link.

You may be interested in this article which shows how to use IMU MPU6050 with the Raspberry Pi Pico.

The top 10 technologies to follow in 2022

Top 10 technologies in 2022

The leading technology advisory and investment firm specializing in technologies, GP Bullhound, has published its annual report concerning its tech predictions for 2022. We are presenting in this post the top 10 technologies that you must follow in 2022. These technologies could literally influence and change your life. for other articles, you can visit this link.

2021 has seen record growth in global technology M&A activity, driven by the need for companies to remain competitive and innovative. Companies are also rethinking their supply chains due to changing geopolitical relations, trade wars and environmental concerns. As consumers adopt new buying habits. These phenomena give rise to technological trends, which attract investment.

Content creators are becoming more popular

Content creating

Globally, there are approximately 50 million influencers on YouTube, Instagram, Twitch… Estimated at 50 million worldwide, they have contributed to the emergence of a new economy. An economy that is based on the monetization of their own content offered to their fans. through different channels. Unlike employees, they are not subject to a standard 9-5 working day to obtain correct remuneration.

An Inzpire.me study shows that Instagram influencers only need 42,575 subscribers to earn the equivalent of an average salary in the United Kingdom (39,000 euros) by creating only eight publications and eight stories per month. . In the United States, the best influencers can earn more than 420 times the average annual income of Americans (107,000 euros). At the same time, many micro-influencers (10,000 to 50,000 subscribers on social networks) develop their online presence alongside their jobs.

Why is this sector going to grow? Influencers have a better understanding of their fans and the content they like, which drives brand interest. In addition, they will be able to develop their economic strategy on several different channels via NFTs for example. The artist Beeple has thus sold a work of digital art for 69 million dollars at Christies.

Supply chain: software is becoming essential

Supply chain and software

The Covid-19 pandemic has severely affected global supply chains. Despite the reopening of borders and the end of confinements, companies are struggling to restore inventory levels before the pandemic. Idling factories – especially in Asian countries – and growing global demand have saturated supply chains. To fill these gaps, companies are increasingly using software that allows them to detect potential problems upstream and facilitate the optimization of raw material supply.

The Metaverse: how close are we?

metaverse

The metaverse is the new big project of Facebook, which has already won the favor of the public administration of Seoul. The ambition of these new spaces is to change the way people interact. They meet there, work and play using virtual reality headsets, augmented reality glasses, apps, etc. The business opportunities offered by the metaverse, particularly in marketing, will lead to the emergence of new industries. Some companies are already promising to launch a product by 2023. Retail is the most interested sector in these solutions to offer its customers the chance to virtually try on clothes. It is only a small step to see this same proposal arrive in the metaverse according to GP Bullhound.

For their part, Facebook and Microsoft are already working on the first versions of the metaverse. The functionalities offered today by virtual reality and augmented reality will evolve to adapt to consumer demand. This development will go through the integration of NFTs in the form of clothing or art objects.

AI: a driver of diversity

AI: a driver of diversity

The startup and tech ecosystem is struggling to truly address the issue of diversity and inclusion. For GP Bullhound, algorithms and artificial intelligence could improve the fairness of recruitment and create more opportunities for marginalized candidates.

Companies like Entelo internally train artificial intelligence models to detect underrepresented candidates and predict underlying skills. Data will also allow companies to understand the biases that prevent them from recruiting these talents. But this is only the first step. Companies will have to work on their culture and the inclusion of these diversities. Hopefully, this will give them all the possibilities to evolve and to increase their skills on interesting projects.

Wearables and AI go hand in hand

Wearables and AI

Manufacturers of connected wearables accessories (watches, textiles, glasses, etc.), are no longer content to develop objects but are beginning to invest in powerful artificial intelligence engines to generate and use data. Using AI-powered software, these companies can now provide granular data analytics and even produce predictive analytics on health, physical performance and more to their users. The growth of this market is made possible by familiarizing consumers with these objects and monitoring their health on a daily basis. But if they adopt these solutions, they nevertheless remain cautious about sharing their data and are worried about the multiplication of hacks.

At the moment, half of the market is in the hands of the giants, Apple, Samsung, Huawei and Xiaomi. in order to meet the aspirations of consumers, Companies are developing new solutions in various sectors such as finance or health. The global IoT analytics market may reach $59 billion by 2021.

Semiconductors is pushing companies to adapt

Semiconductors & companies

For several months now, companies have been facing a shortage of semiconductors that are pushing them to modify some of their products, particularly in the automotive sector. The main factor for this disruption is the closure of production facilities for chips and semiconductors.

To overcome this lack, software publishers are adapting. Tesla, for example, modified some of its software to accommodate alternative chips. States are also taking up the subject. In the United States, President Biden presented an infrastructure plan including a $50 billion package to expand national chipmaking capacity. In the European Union, lawmakers are scrambling to pass a law to uphold “technological sovereignty” aimed at increasing the volume of chips developed in Europe. Taiwan’s TSMC, the world’s largest chipmaker, has pledged $100 billion over the next three years to ramp up production.

Buy now, pay later (BNPL)

Buy now, pay later

The “Buy Now Pay Later” (BNPL) solution is beginning to have a lasting impact on the e-commerce and payment sector due to growing consumer adoption. GP Bullhound even talks about abandoning the bank card in favor of the BNPL, which avoids overdraft fees and the costs associated with taking out credit.

This solution is of particular interest to younger generations since 26% of Millennials and Gen Z already use BNPL plans for their purchases. Affirm, one of BNPL’s leading service providers, has shown that merchants adopting its solution have seen an average of 85% increase in order size. Specialists are expecting this trend to continue as small businesses transition to omnichannel. 68% of them already believe that BNPL plans facilitate sales.

The e-commerce and tech giants did not hesitate for long to enter this niche. In 2021, Square acquired Afterpay, Amazon partnered with Affirm, and Apple announced it would provide its own BNPL products. BNPL’s global spending is expected to reach $995 billion and the number of users to exceed 1.5 billion by 2026, up from 266 billion and 340 million respectively in 2021.

Decentralized finance

defi

Decentralized finance (DeFi) is booming after two years of astonishing growth. The value of cryptocurrencies deposited as collateral increased 14 times in the past year, surpassing $1 billion in June 2020. The rapid pace of compliance innovation is driving wider adoption by institutions, and soon by the general public, which remains at an early stage compared to the wider crypto industry. At the time of writing, over $100 billion is now locked in DeFi protocols on the Ethereum blockchain on which most DeFi applications are built.

By allowing anyone to create protocols that replicate existing financial services using public blockchains and smart contracts, platforms like Ethereum enable secure, permissionless, and middleman-free financial transactions.

These decentralized financial applications – which touch the entire financial value chain – are redefining traditional financial services and offering unprecedented levels of global transparency, interoperability and equal access.
These new technologies, like NFTs, will face many adoption, evolution, governance and regulatory challenges.

ARM replaces the Intel chips

ARM replaces the Intel chips

For decades, the use of ARM processors was limited to mobile devices. Now, their efficiency and versatility have distinct advantages for machine learning applications. Another advantage is the possibility of deploying them in mobile or desktop devices.

Given the versatility and power efficiency of ARM processors, applications span the entire range of IoT devices. ARM-powered devices will be able to run advanced artificial intelligence algorithms to process more data and make better inferences. Their use has been mostly limited to enhancing smartphone functions, such as facial recognition, fingerprint scanning, and voice-activated commands. Future uses could make autonomous vehicles safer, improve the functionality of wearable medical devices, and more.

A growing number of companies are migrating their devices to ARM processors. Some of theme are choosing to develop their own competing processors. For example, the Apple’s M1 chip included in the latest MacBook Pro. Google and Microsoft are also developing their own ARM-based processors for use in personal devices and cloud servers. By developing their own processors, tech companies can more effectively implement artificial intelligence algorithms in their products. With time and its adoption by more and more companies, new software will be cheaper and easier to develop.

Artificial intelligence and healthcare

artificial intelligence and healthcare

The Covid-19 pandemic has allowed remote assistance and telemedicine solutions to really take off by breaking down many barriers. As a result, the confidence of consumers and doctors has increased in new technologies dedicated to health. For instance, the number of patients that uses remote care increased by 15 to 20% since the start of the pandemic. The early success of these AI-based practices will drive investment and resources to further develop new solutions.

Software will help shape the future of medicine. Data analysis by artificial intelligence will continue to develop to become a real diagnostic and prediction aid tool. Asynchronous solutions using artificial intelligence in the form of software and hardware platforms offer obvious advantages through their ability of being remotely used. The capabilities of these solutions are fundamentally changing the way healthcare is delivered remotely.

Raspberry Pi Pico and MPU6050 with MicroPython

Raspberry Pi Pico and MPU6050 with MicroPython

The MPU6050 is an inertial unit that combines an accelerometer and a gyroscope. It is used to measure acceleration, inclination and angular velocity. In this tutorial, we will try to explain how to use an MPU6050 with a Raspberry Pi Pico using MicroPython.

The accelerometer makes it possible to know the acceleration and/or the gravitational field according to 3 axes: x, y and z. If you take a closer look, you can see a drawing of the x and the y axes on the module, while the z axis is perpendicular to the plane of the module. When the module is stationary, flat on a table, it will measure an acceleration of 1 g along the z axis, due to the force of gravity acting downwards. If the measured acceleration is zero along the 3 axes, the MPU-6050 module is in free fall!

The gyroscope measures the angular speed along the 3 axes. When the module is immobile, the 3 components of the angular velocity are, in principle, zero (a calibration is however necessary for the result to be exact).

Connections

The MPU-6050 module has 8 connectors, but only 4 of them are necessary for its operation (2 for power supply, and 2 for data transmission by I2C):

  • VCC pin (MPU-6050) => 3.3V output pin (Raspberry Pi Pico).
  • GND pin (MPU-6050) => GND pin (Raspberry Pi Pico).
  • SCL pin (MPU-6050) => GP9 pin (Raspberry Pi Pico).
  • SDA pin (MPU-6050) => GP8 pin (Raspberry Pi Pico).

Installing imu.py and vector3d.py libraries

You can find the necessary libraries on this Github repository. Also, you need to copy the “imu.py” and “vector3d.py” files to the flash memory of the Raspberry Pi Pico.

First script

This script displays the measurements from the accelerometer and the gyroscope. From the data of the accelerometer, the script tries to determine if one of the 3 axes (x, y or z) approaches the vertical. Based on the data from the gyroscope, the script indicates whether the MPU-6050 module is spinning.

Run this script, and orient the MPU-6050 module in different ways to see how the displayed values vary.

'''
Using the MPU6050 inertial unit (accelerometer + gyrometer) with a Raspberry Pi Pico.
For more info:
bekyelectronics.com/raspberry-pi-pico-and-mpu-6050-micropython/
'''

from imu import MPU6050  # https://github.com/micropython-IMU/micropython-mpu9x50
import time
from machine import Pin, I2C

i2c = I2C(0, sda=Pin(8), scl=Pin(9), freq=400000)
imu = MPU6050(i2c)

# Temperature display
print("Temperature: ", round(imu.temperature,2), "°C")

while True:
    # reading values
    acceleration = imu.accel
    gyroscope = imu.gyro
    
    print ("Acceleration x: ", round(acceleration.x,2), " y:", round(acceleration.y,2),
           "z: ", round(acceleration.z,2))

    print ("gyroscope x: ", round(gyroscope.x,2), " y:", round(gyroscope.y,2),
           "z: ", round(gyroscope.z,2))

# data interpretation (accelerometer)

    if abs(acceleration.x) > 0.8:
        if (acceleration.x > 0):
            print("The x axis points upwards")
        else:
            print("The x axis points downwards")

    if abs(acceleration.y) > 0.8:
        if (acceleration.y > 0):
            print("The y axis points upwards")
        else:
            print("The y axis points downwards")

    if abs(acceleration.z) > 0.8:
        if (acceleration.z > 0):
            print("The z axis points upwards")
        else:
            print("The z axis points downwards")

# data interpretation (gyroscope)

    if abs(gyroscope.x) > 20:
        print("Rotation around the x axis")

    if abs(gyroscope.y) > 20:
        print("Rotation around the y axis")

    if abs(gyroscope.z) > 20:
        print("Rotation around the z axis")
    
    time.sleep(0.2)

Second script

In this second example, the Raspberry Pi Pico’s built-in LED lights up when you shake the MPU6050 module.

'''
Using the MPU6050 inertial unit (accelerometer + gyroscope) with a Raspberry Pi Pico.
The Pico LED lights up when the MPU6050 is shaken.
For more info:
bekyelectronics.com/raspberry-pi-pico-and-mpu-6050-micropython/
'''

from imu import MPU6050  # https://github.com/micropython-IMU/micropython-mpu9x50
import time
from machine import Pin, I2C

i2c = I2C(0, sda=Pin(8), scl=Pin(9), freq=400000)
imu = MPU6050(i2c)

# LED initially off
Pin(25, Pin.OUT).value(0)

while True:
    # acceleration reading
    acceleration = imu.accel.magnitude
    print (acceleration)
    
    # value at rest is 1
    if abs(acceleration - 1) > 0.1:
        print("It is moving!")   
        Pin(25, Pin.OUT).value(1) # turn on the LED
    else: 
        Pin(25, Pin.OUT).value(0) # turn off the LED
        
    time.sleep(0.2)

That’s it, this is how you can use the MCU6050 unit with your Paspberry Pi Pico. You can check other tutorials from this link. If you want to establish wireless communication between two of your Picos using NRF24L01, click here.

Raspberry Pi Pico with nRF24L01 using MicroPython

Raspberry Pi Pico with nRF24L01 using MicroPython

In this tuturial, we will establish a wireless communication between two Raspberry Pi Pico equipped with an nRF24L01 module each. We will use the MicroPython languge to program our Raspberry Pi Pico.

nRF24L01 modules are designed to transmit the information at a 2.4 GHz radio frequency. Each module can transmit and receive signals. The range can be a few tens of meters.

Connections

You need to have a pair of nRF24L01 modules. Depending on their brand, you may find:

  • Green modules with 10 clearly marked pins
  • Black modules with 8 pins that have no identification.

Wire each of your Raspberry Pi Pico to an nRF24L01 module as follows:

  • VCC (nRF24L01) => 3.3V output (Raspberry Pi Pico).
  • GND (nRF24L01) => GND (Raspberry Pi Pico).
  • SCK (nRF24L01) => GP6 (Raspberry Pi Pico).
  • MOSI (nRF24L01) => GP7 (Raspberry Pi Pico).
  • MISO (nRF24L01) => GP4 (Raspberry Pi Pico).
  • IRQ (nRF24L01) => not connected
  • CE (nRF24L01) => GP12 (Raspberry Pi Pico).
  • CSN (nRF24L01) => GP5 (Raspberry Pi Pico).

We highly recommend that you add a 10 µF capacitor between the GND and VCC pins of the nRF24L01 module. This is a solution to consider if you notice erratic operation.

Installing the nrf24l01.py library

After downloading the nrf24l01.py library, it is important to install the nrf24l01.py file in the flash memory of the Raspberry Pi Pico (using, for example, Thonny).

This library is accompanied by a very well done program called “nrf24l01test.py”. To use it with the Raspberry Pi Pico, however, you will need to change the pin numbers at the start of the program.
Based on this example, you’ll find two separate scripts below. These scripts was designed to be used simultaneously on two different Raspberry Pi Picos. The first script is for the transmitter, and the other one is for the receiver.

The transmitter’s script

Each second, this Raspberry Pi Pico increments an integer number and sends it to the nRF24L01 module. It then checks whether it receives a response from the receiver.

"""
nRF24L01 transmitter
Raspberry Pi Pico and nRF24L01 module
Once per second, a numerical value is sent, and we
checks if we receive a response.
For more info:
www.bekyelectronics.com/raspberry-pico-nrf25l01-micropython/
"""
import ustruct as struct
import utime
from machine import Pin, SPI
from nrf24l01 import NRF24L01

# pin definition for the Raspberry Pi Pico:
myPins = {"spi": 0, "miso": 4, "mosi": 7, "sck": 6, "csn": 5, "ce": 12}

# Addresses (little endian)
pipes = (b"\xe1\xf0\xf0\xf0\xf0", b"\xd2\xf0\xf0\xf0\xf0")

print("NRF24L01 transmitter")

csn = Pin(myPins["csn"], mode=Pin.OUT, value=1)
ce = Pin(myPins["ce"], mode=Pin.OUT, value=0)
nrf = NRF24L01(SPI(myPins["spi"]), csn, ce, payload_size=8)

nrf.open_tx_pipe(pipes[0])
nrf.open_rx_pipe(1, pipes[1])
nrf.start_listening()

counter = 0  # Increase the value by 1 with each emission

while True:
    # Stop listening, time to send a message
    nrf.stop_listening()
    
    counter = counter + 1 # preparing the message to send
    print("sending:",  counter)
    
    try:
        nrf.send(struct.pack("i",  counter)) # sending the message
    except OSError:
        pass

    # Listen if the other Pico answers us
    nrf.start_listening()

    # Wait for 250ms max
    start_time = utime.ticks_ms()
    timeout = False
    while not nrf.any() and not timeout:
        if utime.ticks_diff(utime.ticks_ms(), start_time) > 250:
            timeout = True

    if timeout:  # no response received
        print("failure, no response")

    else:  # a response has been received
        (response,) = struct.unpack("i", nrf.recv())
        print ("response recue:", response)

    # Wait a second before sending the next message
    utime.sleep_ms(1000)

The receiver’s script

If this Raspberry Pi Pico receives a message from the transmitter, it calculates the modulo of the number received and returns the result to the transmitter. It therefore returns the number “0” when it receives an even number, and the number “1” when it receives an odd number.

"""
nRF24L01 receiver
Raspberry Pi Pico and nRF24L01 module.
If an integer is received, it is acknowledged by flipping its modulo.
For more info:
www.bekyelectronics.com/raspberry-pico-nrf25l01-micropython/
"""
import ustruct as struct
import utime
from machine import Pin, SPI
from nrf24l01 import NRF24L01
from micropython import const

# delay between receiving a message and waiting for the next message
POLL_DELAY = const(15)
# Delay between receiving a message and sending the response
# (so that the other pico has time to listen)
SEND_DELAY = const(10)

# Pico pin definition:
myPins = {"spi": 0, "miso": 4, "mosi": 7, "sck": 6, "csn": 5, "ce": 12}

# Addresses
pipes = (b"\xe1\xf0\xf0\xf0\xf0", b"\xd2\xf0\xf0\xf0\xf0")

csn = Pin(myPins["csn"], mode=Pin.OUT, value=1)
ce = Pin(myPins["ce"], mode=Pin.OUT, value=0)
nrf = NRF24L01(SPI(myPins["spi"]), csn, ce, payload_size=8)

nrf.open_tx_pipe(pipes[1])
nrf.open_rx_pipe(1, pipes[0])
nrf.start_listening()

print("nRF24L01 receiver; waiting for the first post...")

while True:
    if nrf.any(): # we received something
        while nrf.any():
            buf = nrf.recv()
            counter = struct.unpack("i", buf)
            print("message received:", counter[0])
            utime.sleep_ms(POLL_DELAY) # delay before next listening
            
        response = counter[0]%2 # preparing the response

        utime.sleep_ms(SEND_DELAY) # Give the other Pico a brief time to listen
        nrf.stop_listening()
        try:
            nrf.send(struct.pack("i", response))
        except OSError:
            pass
        print("reply sent:", response)
        nrf.start_listening()

That’s it, this is how you establish wireless communication between your Picos using NRF24L01. I hope this tutorial was helpful for you. You can check other tutorials from this link.

Are you ready for Industry 5.0?

Are you ready for Industry 5.0

Adapting to industrial changes can still be a challenge for some companies. However, progress has not stopped since the beginning of the first industrial revolution in the 1800s. After centuries of investment in new devices and more sophisticated equipment, companies can finally welcome Industry 5.0. What does this mean for Industry 4.0? And what will the fifth industrial revolution consist of? This article is the answer to all your questions.

What does Industry 5.0 mean?

We didn’t fully integrate Industry 4.0, so why are we already talking about industry 5.0? While Industry 4.0 aimed to link automation and digitization, Industry 5.0 establishes a collaboration between humans and machines.

The fifth revolution is about connecting humans to robots and making them work together. The fourth revolution started around 2010 and changed the way businesses operate. Thanks to advanced technologies and automation, many companies have been able to replace humans with robots. Industry 4.0 influenced so many companies so far. Some are still adapting to the technologies brought by Industry 4.0. Does this mean the end of Industry 4.0? The fourth revolution is not over yet and will continue to impact many businesses.

However, the focus is now on Industry 5.0, one of the main industrial manufacturing trends in 2022. Simply put, Industry 5.0 is the reintroduction of humans into the industrial structure. Here, humans and machines reconcile and collaborate to benefit from new production efficiencies. Companies that are just beginning to adapt to Industry 4.0 may find themselves in the middle of this new industrial revolution.

Types of industrial revolutions from 1 to 5, with estimated years and details

What does Industry 5.0 mean for manufacturing?

In Industry 5.0, the robotic manufacturing colleague is expected to act as a human companion, which helps to improve production processes and reduce waste and costs. The interaction between humans and computerized machines will dramatically improve the optimization and automation of many businesses. The collaboration between the two entities in charge of industrial processes will offer new techniques and ideas for managing a workforce comprising both people and software robots.

Besides robots, the next level of industrial revolution will bring cobots or, in other words, collaborative robots. Cobots can observe, learn and perform tasks in the same way as humans. By working with humans, it is possible to increase production efficiency and improve operations. By merging workflows with intelligent systems, this collaboration of people and machines will also help organizations focus on enhancing brain potential and creativity.

Manufacturers will benefit from eliminating repetitive tasks. Once robots become more accessible, businesses will embrace AI machines to increase productivity and empower workers. Industry 5.0 will therefore create more jobs than it eliminates, as new skills will be needed in programming, control of intelligent systems and emerging technologies.

Important Factors of Industry 5.0

Industry 5.0 having just entered the market, we wonder about the impact of this new industrial revolution on life and work. No need to worry because:

  • Robots are not meant to replace humans but to cooperate with them.

Some people worry about the impact of robotics development on human life. While robots are more reliable than humans and are better at precision work, they lack adaptability and critical thinking. The main purpose of robots is to fulfill their assigned mission of offering help and improving our lives when they collaborate with people.

  • Industry 5.0 will bring greater benefits to the market than Industry 4.0.

Industry 5.0 could not exist without Industry 4.0 which brought automation. However, it will change the automation of manufacturing tasks while allowing consumers to acquire goods and services tailored to their needs.

  • Customization, not mass production.

Thanks to Industry 5.0, people will be able to better personalize their products, because original designs require human intervention.

  • Psychology will control technology.

Ensuring product quality requires human intervention. In Industry 4.0, many products created for large scale did not need human contact. But the new revolution will allow workers to intervene on the product with the help of robotics and psychological analysis.

  • Industry 5.0 is inevitable.

With the development of technology, there is no going back. Everything is computerized these days. So, instead of thinking about the meaning of robotics, it is better to focus on implementing changes and preparing workplaces and the workforce for these changes.

Are you ready for the new industrial revolution?

Without constant development, man could not exist. Consequently, the world and the industrial sectors are experiencing revolutions. But how will the development of robots and cobots translate into human life? Can we expect these machines to present dangers like in some science fiction movies?

The question of the need for the development of robots is controversial because, on the one hand, it evokes a list of improvements, if only in manufacturing, but also in transport, health care, agriculture, exploration of earth and space. On the other hand, it creates a fear of the unknown. We just don’t know what the future holds; we can only predict. But there is a danger with every new invention. That doesn’t mean we should stop discovering and improving.

The truth is that people already have contact with robots by chatting with them (chatbots), getting information from virtual assistants (Alexa/Siri), driving (parking sensors) and much more. With more jobs, customized products, automated machines and happy customers, Industry 5.0 is becoming a possibility for many companies. But before that, governments around the world, as well as big tech companies, need to establish a framework to define the rules of artificial intelligence.

Choose the right HMI for your application

Release date and information on the Raspberry Pi 5

In the near future, the communication between humans and machines will change, which will trigger a new industrial revolution. The development of Industry 4.0 will give way to Industry 5.0. But before companies can fully commit to this transformation, they must focus on transforming their businesses into smart factories through automated manufacturing, IoT, smart data, AI and new technologies.

As the industry advances, visualization systems must provide more efficient ways to interact at the machine and operator level. The new generation of human-machine interfaces offers every manufacturing plant a unique opportunity to differentiate itself from the rest of the market by implementing the right solution and entering the real world of digitization in terms of exploiting the Automation system HMI.

What is an HMI?

Human-machine interfaces (HMIs) are often used in production and industrial systems. They allow the control and signaling of automation equipment. With information on work progress and mechanical parameters, human-machine interfaces help operators control machines and optimize their performance. Besides basic HMIs with LED indicators, more complex HMIs with touch screens with additional functions are also available in the market.

Touch HMIs used in industrial automation are a widely used technology that adds value to many machine and process automation applications by extending the capabilities of the control panel switches, buttons and controls. Touch screens use components such as touch controllers and software drivers. Common control features of touchscreens allow the system to react when a particular surface is touched. The touch sensor is the touch-sensitive surface. Touchscreens can be operated with fingers and a keyboard or mouse.

When choosing an HMI, the following points should be considered:

  • Integration conditions and different options for connecting controllers.
  • Configuration of HMI applications.
  • Implementation of individual hardware and software requirements.
  • Certificates and approvals required by the industry.
  • Different sizes and performance classes of control panels.
  • Use of different materials and tactile technologies.
  • Implementation of custom design solutions.

Choose an HMI device

HMIs can differ in many parameters such as display resolution, number of drivers used in parallel, memory required for visualization, number of commands connected, number of registers. Advice on HMI devices is described in the Phoenix Contact selection guide, some of which are detailed below:

1. Screen size and resolution

Often the screen resolution can be an issue. Users often hesitate between large and small screens and wonder which resolution will be the best to display all the details. When choosing a screen, consider the specific needs of the application.

Larger screens give developers more workspace when creating graphics. Users tend to prefer screens that are as large as possible, especially if they are going to use the screen in a touch-sensitive manner, but also when the application is purely for reference and they intend to monitor the screen at distance.

The recommended display resolution for this type of panel is:

  • Basic applications: with VGA (640 x 480 pixels)
  • Standard applications: with SVGA (800 x 600 pixels)
  • Advanced applications: SXGA (1280 × 1024 pixels)

2. System Communication

System connectivity typically requires an Ethernet port through which the HMI can communicate with the PLC network. Phoenix Contact HMIs have a polling rate of 250 ms to 1000 ms. The number of drivers that can be used in parallel is 1 x Ethernet for basic applications, 1 in addition to OPC communication for standard applications and 2 in addition to OPC communication for advanced applications. The number of PLCs per driver is 1 to 5 and 1 to 10 for connected at the same time PLCs.

3. Memory requirements

Ensuring sufficient CPU and memory performance to support the system is essential. The ability to expand memory or use different memory sizes in HMIs can eliminate some of these limitations. Advanced functions such as built-in calculations, trends, and formulas will affect the performance of the HMI, so their estimation should be approached with caution.

As recommended by Phoenix Contact, the memory required for visualization in basic applications is typically between 16 and 32 objects per page, with space for animated objects (typically one per page). In standard applications, the number of pages increases to 64 with a possibility of 128 objects per page, with a maximum of 32 scalable objects and 5 animated objects per page. Advanced applications, on the other hand, can benefit from 256 pages, 512 objects, 64 scalable objects and 5 animated objects.

HMI support now facilitates data processing applications as users can install removable storage for saving data to HMIs with one or more SD card slots.

4. Users and Registries

The number of users depends on the sophistication of the application: basic applications support 16 users, standard applications 512, and more advanced applications up to 1024. It is also possible to create up to 64 user groups. users. The data logging function, on the other hand, allows 4 to 16 connections with a maximum number of loggers per project in standard and advanced applications from 16 to 32.

What should be considered when choosing an HMI?

HMIs can be divided into two main categories: basic HMI and wireless network HMI. Here are some HMI solutions for use in central control rooms, production facilities and for visualization directly on machines.

1. Phoenix Contact

According to Phoenix Contact, reducing automation costs requires effective monitoring and data capture. The functions of HMIs from Phoenix Contact depend on the application category – they can be direct, high-performance and multi-functional applications. Phoenix Contact’s wide range of HMIs includes solutions for many hardware and software needs.

The advantages offered by Phoenix Contact are:

  • Custom solutions.
  • Easy to use with pre-configured and pre-installed hardware and software.
  • Easy scalability.
  • Part of a complete linear system with HMI interfaces.
  • The same software version for all versions and capacities.
  • Aluminum front for durability and strength.
  • Flexible connection of controllers.
  • Internet connection and efficient operation in multi-user mode.
Touch screen 9″ 800 x 480 IP65 Ethernet/USB/SD card, Phoenix Contact
Touch screen 9″ 800 x 480 IP65 Ethernet/USB/SD card, Phoenix Contact

2. SIEMENS

Siemens specializes in second-generation operating and monitoring devices. The visualization devices offered by Siemens improve process quality in compact plants or smaller applications. The 2nd generation SIMATIC HMI Basic displays offer new control and monitoring possibilities, especially for mechanical engineers.
Besides screen quality and size, the 2nd generation Basic displays offer many innovative features such as recipe management, alarm recording, trend function and language change. The innovative user interface provides access to a wide range of functions and is made more user-friendly with new controls and graphics.

The main characteristics of the 2nd generation Basic Panels HMI:

  • Ideal for simple HMI applications.
  • Designed in the TIA Portal.
  • Mounting compatibility with SIMATIC HMI Comfort panels.
  • Flexible scalability in terms of HMI.
  • High resolution large screens.
  • Improved and innovative user interface.
  • Improved graphics and controls.
  • Intuitive operation thanks to touch functions and buttons.
  • Communication interface for several PLCs.
  • Versions for PROFIBUS or PROFINET.
  • Possibility of storing data on a USB key.
  • Compatible with SIMATIC HMI Comfort and SIMATIC HMI Basic 4″ and 6″ displays.

Companies that implement the next generation of UX (User Experience) solutions early on will have a competitive advantage in the future thanks to their advanced efficiency. Here are some of the new visualization systems from Siemens.

HMI screen Ktp700 Basic 7″ 800 × 480 IP65, Siemens
HMI screen Ktp700 Basic 7″ 800 × 480 IP65, Siemens

3. OMRON

Omron offers a wide range of different types of human-machine interfaces. Omron NA Series HMI, Omron Compact HMI, NQ5 HMI, PC Based HMI, HMI and Control, Scalable HMI, NT25 HMI and Function Key HMI. All of these devices have a slightly different function and are designed for different applications. However, the main advantage of the new generation of machine interfaces is that these devices improve control and monitoring and allow a better connection between the operator and the machine.

Key Benefits of Omron NA Series HMI:

  • Clear and bright display with 1280×800 high resolution.
  • All models are available in a variety of 7-inch, 9-inch, 12-inch, and 15-inch widescreens.
  • Two Ethernet ports allow simultaneous access from the control and maintenance segments.
  • NJ variables are shared in the NA project to reduce development time, and NA applications are tested against the NJ program using a simulator.
  • Sysmac Studio offers an integrated development environment.
  • Many security features include runtime permission settings and runtime restrictions with credentials.
  • Multimedia, such as video and PDF.
Programmable HMI 15″ 1024 × 768 IP65, Omron Industrial Automation
Programmable HMI 15″ 1024 × 768 IP65, Omron Industrial Automation

These are just a few of the HMI panels offered by manufacturers out there. Based on your needs, you can find many touch screens from other brands in the market.

Release date and information on the Raspberry Pi 5

Release date and information on the Raspberry Pi 5

After many releases of new products from the Raspberry Pi Foundation, it has been less active in recent months. However, everything seems to show that the foundation is already working on the next Raspberry Pi. That includes the Raspberry Pi 5. Check out our article about the Raspberry Pi and its uses if you don’t know what it is.

The Raspberry Pi 5: In preparation but no release date yet

Although the Raspberry Pi Foundation has not yet announced the release date of the Raspberry Pi 5, it is indeed part of its plans.

Eben Upton, CEO of the Raspberry Pi Foundation has already announced a new Raspberry Pi with a more powerful and faster SoC. Also, the next Raspberry Pi should have a better USB input/output chip, more RAM memory and improved network connectivity (Ethernet/Wifi).

SoC: System on a Chip (Chip present on the processor)

Like each new version of the Raspberry Pi, this one will be even closer to a classic computer by being even more powerful than the Raspberry Pi 4. On the other hand, the foundation should keep the system set up with the Raspberry Pi 4, that is to say several versions of the Raspberry Pi 5 available, having a different RAM size and a different price as well.

Regarding the release date of the Raspberry Pi 5, we have no information yet but it should not see the light of day before mid 2022, or even early 2023 if an improved version of the Raspberry Pi 4 were to be released in the meantime.

Before the Pi 5 Released: An Improved Version of the Raspberry Pi 4

The release of the Raspberry Pi 4 is starting to date and many users are asking for a revision of the latest model from the Raspberry Pi foundation.

Based on the history of the foundation, we should see an update to the Raspberry Pi 4 (the Raspberry Pi 4A).

According to rumors concerning this new Raspberry Pi 4, improvements should be made to the SoC and to the USB ports which could give way to PCIe connectivity. The latter is already in place on the Compute Module 4.

What does the community want for the Raspberry Pi 5?

The best way to find out what the Raspberry Pi 5 will include is to ask what the community wants to see for the next Raspberry Pi 5.

1. Fix the bugs present in the Pi 4

The Pi 5 is expected to alleviate issues that the current versions have, such as:

  • USB-C power issues

There are many USB-C power adapters with fast charging technologies such as QuickCharge, DashCharge or SuperCharge. A hardware design flaw in the Raspberry Pi 4/4B is known to cause some adapters to misinterpret the device type. As a result, these adapters will provide more than 5V to power our Pi. This can sometimes burn out the board’s power supply or worse, the entire CPU .

So hopefully the Pi 5 doesn’t have the same design flaws.

  • The USB hub and the Ethernet chip

The 4-ports USB hub & the Gigabit Ethernet controller of the Raspberry Pi 4 have sometimes become hot. Even when no device is plugged in.

This problem has only been encountered by some users and no specific reason has been found.

Result, an increase in standby temperature means a decrease in the life time of the components.

  • The low voltage warning

It happened that a window appeared in the office asking to check the power supply. This problem may appear even when the power supply is new and after checking it has no problem.

In the Raspberry Pi 5, this should be fixed. It can only be triggered if the Pi is really struggling to draw enough current from the power supply.

2. Take over some features of the Raspberry Pi Pico in the Raspberry Pi 5?

Not too long ago, Raspberry Pi introduced its own microcontroller, the Raspberry Pi Pico. With a host of features such as the programmable IO state machine subsystem.

We know that being a microprocessor-based system, Raspberry Pis are not designed to perform critical tasks. For example, they can’t generate PWM signal, DAC and ADC functions, let alone handling interrupts.

Therefore, how about an integration of some of the Pico functions into the Raspberry Pi 5 such as:

  • Analog inputs (ADC).
  • Hardware PWM outputs.
  • IO programmable state machine system.
  • Additional hardware UART interfaces.
  • On-chip accelerated floating point and integer libraries.
  • Hardware Interrupts.
  • RTC & low power modes supported by the microcontroller part of the system.

Another subject is the design and size of the Raspberry Pi 5. This subject is debated because not all users agree: some want change while others strongly oppose it.

And you, what do you expect from the Raspberry Pi 5? Let us know in the comments below.