Posted on Leave a comment

NORVI IIOT – Arduino Compatible PLC with ESP32

NORVI IIOT - Arduino Compatible PLC

The world of industrial automation is witnessing a significant shift towards connectivity and data-driven decision-making. In this era of Industry 4.0, the Arduino platform has emerged as a popular choice for rapid prototyping and DIY projects due to its ease of use and vast community support. NORVI IIOT takes this compatibility to new heights by seamlessly integrating Arduino’s simplicity with the capabilities required for industrial automation, making it a compelling solution for diverse applications.

NORVI IIOT: Arduino Compatibility Amplified

NORVI IIOT is a revolutionary hardware platform that embraces Arduino compatibility while addressing the specific requirements of industrial automation. It combines the openness and flexibility of Arduino programming with the robustness and reliability necessary for industrial environments, empowering engineers and developers to create advanced automation solutions efficiently.

Key Features and Benefits

  1. Arduino Compatibility: NORVI IIOT is fully compatible with the Arduino ecosystem, allowing users to leverage the vast library of existing code, tutorials, and community support. This compatibility ensures a smooth transition for Arduino enthusiasts, enabling them to extend their knowledge and skills to industrial automation projects seamlessly.
  2. Industrial-Grade Design: NORVI IIOT is designed to meet the demanding conditions of industrial environments. It incorporates rugged components and adheres to stringent quality standards, ensuring reliable operation in harsh conditions, temperature variations, and electromagnetic interference.
  3. Extensive I/O Options: NORVI IIOT offers a wide range of input and output options, including digital and analog ports, allowing for easy integration with sensors, actuators, and other industrial devices. This flexibility enables the monitoring and control of various processes, making it suitable for diverse applications across industries.
  4. Communication Protocols: NORVI IIOT supports popular communication protocols such as Modbus, MQTT, and Ethernet/IP, enabling seamless integration with existing industrial networks and protocols. This capability facilitates real-time data exchange, remote monitoring, and integration with supervisory control and data acquisition (SCADA) systems.
  5. Edge Computing and Analytics: NORVI IIOT is equipped with powerful computational capabilities, enabling edge computing and data analysis at the source. This eliminates the need for transmitting large volumes of data to a central server, enabling real-time decision-making, predictive maintenance, and optimization of industrial processes.
  6. Scalability and Flexibility: NORVI IIOT is designed to be scalable, allowing users to expand its capabilities by adding additional I/O modules as per project requirements. This scalability ensures future-proofing and adaptability to evolving automation needs, making it a cost-effective choice for both small-scale and large-scale applications.

Applications of NORVI IIOT

  1. Industrial Automation: NORVI IIOT can be employed in various industrial automation scenarios, including machine control, production line monitoring, and data acquisition. Its Arduino compatibility makes it a versatile solution for rapid prototyping and implementing automation projects across different industries.
  2. Smart Buildings: NORVI IIOT enables intelligent control and monitoring of building systems such as lighting, HVAC, access control, and energy management. Its compatibility with Arduino allows for customization and integration with smart home automation systems, enhancing energy efficiency and occupant comfort. 
  3. Environmental Monitoring: NORVI IIOT can be utilized for environmental monitoring applications, including air quality sensing, water quality monitoring, and weather stations. Its compatibility with Arduino simplifies the development of monitoring solutions for sustainable resource management and environmental conservation.
  4. Research and Education: NORVI IIOT’s Arduino compatibility makes it an excellent platform for educational institutions and research labs. It allows students, educators, and researchers to explore and experiment with industrial automation concepts, enhancing their understanding and practical skills.

NORVI IIOT’s compatibility with Arduino offers a powerful combination of simplicity and versatility for industrial automation. By embracing Arduino’s extensive ecosystem, NORVI

Industrial IoT Device
Programmable IoT Device

The NORVI IIOT, powered by the cutting-edge ESP32-WROOM32 chip is now available for purchase!

Elevate your PLC and IoT experience and explore the limitless possibilities of innovative technology. Get yours today and step into the future of industrial IoT.

Visit our PRODUCT PAGE or, Contact Us at [email protected]

Stay Connected to get updated news on LVGL for HMI: Facebook : LinkedIn : Twitter: YouTube

Posted on

Expanding I/O Capabilities of NORVI Series

I/O (input/output) is a critical part of any programmable logic controller (PLC) system. It allows for the efficient and reliable connection of external devices to the PLC, allowing for more complex control systems.

NORVI ESP32 Industrial Arduino, has served with the best I/O combinations for both monitoring and controlling applications. On the base unit, NORVI Controllers offer below I/O Capabilities. 

  • Digital Inputs
  • 4-20mA Analog Inputs
  • 0 – 10V Analog Inputs
  • Transistor Outputs 
  • Relay Outputs

We are planning to discuss the capabilities of the Digital Inputs , Transistor outputs in a separate document. Including how they can be utilized for industrial applications. 

While we discover more and more use of the NORVI Industrial Controllers we added the expandability of I/O Capabilities.

The most obvious advantage of using I/O expansion in an Arduino PLC system is the ability to connect more external devices and increase the capacity of the system. With the use of I/O expansion, the number of devices that can be connected to the Arduino PLC can be increased significantly. This provides the user with greater flexibility, allowing them to control more devices with a single PLC. 

Another advantage of I/O expansion is the improvement of system reliability. By connecting more external devices to the PLC, the system can be monitored and controlled more accurately. This ensures that any errors or malfunctions in the system are detected quickly and efficiently. In addition, I/O expansion can help to reduce the cost of a PLC system. By adding more I/O expansion, the total cost of the system can be reduced. This is because the cost of the additional I/O expansion is much lower than the cost


We have launched below expansion products; 

  1. Analog Input Expansions
  2. Digital Input Expansions
  3. Transistor Output Expansions
  4. Relay Output Expansions

In the near future, we will be launching the LoRaWAN expansion module to enable users to get the best out of NORVI Controllers. 

Posted on

ESP32 based Industrial Controllers

M11 E Series

What is ESP32 and Why ESP32 for IoT applications?

The ESP32 is a low-power system on a chip (SoC) series, created by Espressif Systems. The features and the specifications of this chip have made itself established as the go-to chip or module in the IoT world. With different chip models available in the market, its capabilities and resources  have grown impressively over the past years.

ESP32 is rapidly becoming a popular choice for IoT applications due to its economical prices, multiple component support design, built-in Wi-Fi & Bluetooth, and easy compatibility with Arduino and many other boards.

NORVI Controllers – bridging the gap between existing features of ESP32 and supporting Industrial applications

Even though ESP32 has great specifications for ordinary IoT applications, to use them in Industrial IoT applications, certain factors such as proper enclosure, good power supply, I/O isolations and EMI Safety have to be considered. Having realised this, NORVI Controllers is producing ESP32 based controllers for industrial automation and IoT solutions, bridging the gap between the existing features of the ESP32 and supporting industrial applications.

Features of ESP32 based NORVI CONTROLLERS

  • Variety of models for different industrial applications 
  1. Relay models
  2. 4-20 mA current sensor models
  3. 0-10V voltage sensor models and more
  • Extended Connectivity options apart from WIFI and Bluetooth
  1. RS-485, Modbus via RS485
  2. NB-IOT
  3. LORA
  4. Ethernet
  • Built-in Display and push buttons for user friendly experience.
  • Supports Arduino IDE, ESP-IDF and more for programming. Tutorials and guide for getting started with the devices.
  • Low cost devices when compared with the PLC controllers which do the same job.

 For more information and support  reach us at – https://norvi.lk/contact-us/

Posted on

Customized Product Development

CNC milling

Product customization is important for effectively servicing your customer base. Customers don’t all want the same thing or use the product in the same manner. Product customization is critical for providing a personalized consumer experience to each user group, and it can boost customer engagement and satisfaction. Having realized this, we offer customized services in the domain of Embedded Systems on PCB designing, manufacturing, assembly, machining & printing.

Why NORVI for Product Development?

  • We use top-of-the-line PCB modeling software. This ensures that we produce projects that are not only industry standard, but also simple to maintain.
  • We have ready-to-use products from which you can begin developing your design while a device is custom-made for you. Our design services have a high performance record, and we follow all well-known design standards to guarantee that there are no errors, allowing the products to reach the market sooner.
  • We believe in doing it well the first time and before the product is sent to you, NORVI employs extensive procedures to ensure that any entrapped defects are corrected. As a result, you’ll save time, money, and a tedious period of inaccurate outputs and alterations to fix them.
  • Our process has been fine-tuned for the quickest time to market. The ability to manufacture and assemble products in-house allows for greater control and speed in the production process.
  • Keeping our IoT product creation process onshore ensures hassle-free intellectual property and security, as well as the benefits of versatility and speed.
  • We guarantee perfect fit and finish, whether it’s a prototype or a production unit. We can print and cut the ideal finish for your product without limiting output volume as we have both printing and milling capabilities in-house.
  • We are dedicated to providing you with the professional assistance you need to ensure the completion of your project. 

For more information and support : https://norvi.lk/contact-

Posted on

Programmable devices for IoT

Why NORVI Programmable IoT Devices
– Cut build time and consolidate the process,
– Pre- certified products
– Ability to customize I/O requirements.
– Example programs for variety of applications.

Applications :
– MQTT End device
– Modbus sensor node
– Machine / Equipment monitoring system

Checkout our product range on https://norvi.lk/products/

The introduction of micro controller-based boards has sparked a surge in interest in embedded systems, allowing a large number of people to show interest in the field of micro-controllers and IoT. This has increased the scope and applications in which they are used. The advent of easy to use micro-controller boards have increased the scope within which micro controllers are being used, especially paving a path to replace the PLCs in complex control systems.

NORVI Industrial controllers are such programmable IoT devices based on micro-controllers. Unlike the usual controllers, these devices are designed with ruggedness and the ability to withstand extreme conditions, which makes them ready for industrial applications. Also they are designed according to the IEC standard which is usually at a range of current/voltage and interfaces for industrial applications.

Programming these devices are simplified by providing the facility to code these devices using simplified platforms like Arduino IDE, with step by step guides available to the users.These ESP32 based devices come equipped with digital and analog I/O, enabling them to detect digital logic states and analog inputs, depending on the choice of the model. Variety of models in the Norvi lineup are capable of measuring the environmental factors like flow rate, pressure, temperature and offer analog inputs (for dedicated voltage/current measurement) at the industrial level. 

Setting up the Norvi devices only require lesser wiring, which offers more flexibility to management of the device. And mainly, it is to be noted that the cost of the Norvi devices is kept in a much affordable range when compared to that of PLC devices, which do the same task in an industrial environment.

Posted on

Programmable MQTT Devices – NORVI

Programmable MQTT Devices - NORVI

The Industrial Internet of Things is a network of sensors and other devices that communicate with industrial systems, all in an effort to enhance the business operations. Manufacturing, agribusiness and oil & gas to name a few, all use a large range of sensors.These sensors transmit essential telemetry data to analytics engines, which search the data for patterns and irregularities, allowing businesses to better understand and optimize their operations.

To transfer data from a field sensor to a field controller, to a site network, to a PC data server, and then to the cloud, conventional automation products and protocols usually require a rigorous configuration and hierarchy. These types of implementations can be difficult to develop and maintain. MQTT, which includes multiple functions to satisfy the needs of IIoT, has risen to popularity as a protocol for solving this issue. MQTT is a light and energy-efficient communication protocol with a fast response time.It makes the interaction between devices efficient, regardless of the number of devices involved.It guarantees fast data delivery with low latency all while reducing CPU and RAM load.

Imagine a cloud-controlled device to measure the humidity in a farm, remotely. In the case of HTTP protocol, the device would have to continuously make GET requests to see if there’s a change in a variable, say Humidity Variable, and then take an action depending on the last reading. This necessitates a huge number of requests, and it isn’t entirely real-time because it is dependent on the polling frequency.MQTT allows the user to listen to the cloud and receive notifications only when a variable changes. The communication between the computer and the cloud is kept open in this manner, but data only moves when it is needed, saving battery life and network bandwidth while enhancing real-time performance.

So it is clear that MQTT-capable industrial automation devices are the latest approach for combining commercial and industrial automation with the cloud using IIoT principles in a cost-effective, safe, and reliable manner.

Norvi IoT devices are such industrial controllers that support MQTT protocol.These programmable MQTT devices come with a variety of features that make them suitable for industrial automation and IoT solutions. These devices come equipped with digital and analog I/O, enabling them to detect digital logic states and analog inputs, depending on the choice of the model.

After selecting a programmable MQTT Iot device like Norvi, only simple legwork has to be done by the users to establish the MQTT connection. Refer this detailed article on connecting the Norvi device to the IoT cloud platform Ubidots over MQTT protocol with step by step instructions.Moreover, setting up the Norvi devices only requires lesser wiring, which offers more flexibility to management of the device.

Connecting the Norvi device to the IoT cloud platform Ubidots over MQTT protocol Article

To check the Norvi device line up www.norvi.lk

Posted on

Adding Touchscreen Functionality to ESP32-S3 HMI to enhance User Experience

Adding Touchscreen Functionality to ESP32-S3 HMI
Adding Touchscreen Functionality to ESP32-S3 HMI

ESP32 NORVI HMI is a powerful HMI resistive touch screen with an 800*480 resolution LCD display. It uses the ESP32-S3-WROOM-1-N4R8 module as the main control processor, with a dual-core 32-bit microprocessor, integrated WiFi and Bluetooth wireless functions, a main frequency of up to 240MHz, providing powerful performance and versatile applications, suitable for IoT application devices and other scenes.

The module includes a 5.0-inch LCD display and a driver board. The display screen uses resistive touch technology. It supports a development environment such as Arduino IDE and is compatible with the LVGL graphics library. This enables developers to customize their UI interfaces and create interesting projects quickly and easily, greatly shortening the development cycle.

A 5-inch resistive touch display is a touchscreen technology with a layered structure, comprising a flexible top layer and a rigid bottom layer separated by insulating dots. When pressure is applied, these layers make contact at specific points, and touch input is detected by measuring changes in voltage. Some common features of the touch panel are,

  • Accuracy and Pressure Sensitivity: Resistive touchscreens provide accurate touch input by detecting the precise point of contact.
  • Cost-Effectiveness: Resistive touch panels are cost-effective to produce, making them a popular choice for budget-friendly displays.
  • Versatility and Compatibility: Compatible with various input methods, resistive touchscreens can be operated with any object that applies pressure.
  • Calibration Requirements: Periodic calibration may be necessary to maintain accurate touch response.

To add the touch functionality to an ESP32-S3 HMI, it will need to use a combination of the ESP32-S3 microcontroller, a suitable Touch library, and the LVGL  graphics library. Below are the general steps to add these functionalities:

 

  1. Set Up Development Environment:

Install Arduino IDE on PC.

Integrate ESP32 board support in Arduino IDE.

Install required libraries for ESP32, touch, and LVGL. 

The Touch library may need to use a library that is compatible with the specific 5-inch resistive touch.

 

  1. Include Libraries in Arduino Sketch:

Include the required libraries at the beginning of the Arduino sketch:

 

#include <XPT2046_Touchscreen.h>

#include <lvgl.h>




  1. Initialize Touch parameters:
  • Initialize the set points

The touch screen set points are configured through an example code provided by a touch library. By executing the code and interacting with the four sides of the display, the corresponding values are displayed in the serial monitor. This process enables the determination of touchscreen set points based on the user’s input and observation of the serial output.

 

#define TOUCH_MAP_X1 270

 #define TOUCH_MAP_X2 3800

 #define TOUCH_MAP_Y1 3600

 #define TOUCH_MAP_Y2 330

 

  • Variables touch_last_x and touch_last_y store the last touched coordinates.

 

int touch_last_x = 0, touch_last_y = 0;

#if defined(TOUCH_XPT2046)

XPT2046_Touchscreen ts(TOUCH_XPT2046_CS, TOUCH_XPT2046_INT);

 

  • Touch Initialization Function.

 

void touch_init() {

#if defined(TOUCH_XPT2046)

  SPI.begin(TOUCH_XPT2046_SCK, TOUCH_XPT2046_MISO, TOUCH_XPT2046_MOSI, TOUCH_XPT2046_CS);

  ts.begin();

  ts.setRotation(TOUCH_XPT2046_ROTATION);

 

  • Check for Touch Signal.

 

bool touch_has_signal() {

#if defined(TOUCH_XPT2046)

  return ts.tirqTouched();

 

  • Check if Touched

 

bool touch_touched() {

#if defined(TOUCH_XPT2046)

  if (ts.touched())  {

    TS_Point p = ts.getPoint();

 

  • Check if Touch Released.

 

bool touch_released(){

if defined(TOUCH_XPT2046)

  return true;




Example

This touch code provides an abstraction layer for the touch library, allowing the user to easily understand. The code includes initialization, event handling, and functions to check if the screen is touched or released. 

If buttonXMin, buttonXMax, buttonYMin, and buttonYMax represent the borders or boundaries of the region on the touch screen corresponding to the position of the button. let’s see how to configure a button, and set its action. 

 

#include <XPT2046_Touchscreen.h>

#define TOUCH_CS 10 // Example pin for touch CS

XPT2046_Touchscreen ts(TOUCH_CS);

#define BUTTON_PIN 7 // Example pin for the button

void setup() {

  Serial.begin(9600);

  ts.begin();

  pinMode(BUTTON_PIN, INPUT);

}

void loop() {

  // Read touch input

  TS_Point p = ts.getPoint();

 

  // Check if the touch screen is touched

  if (p.z > MINPRESSURE && p.z < MAXPRESSURE) {

    // Process touch input (e.g., map coordinates, perform actions)

    int mappedX = map(p.x, TS_MINX, TS_MAXX, 0, 800); // Adjust based on display size

    int mappedY = map(p.y, TS_MINY, TS_MAXY, 0, 480); // Adjust based on display size

    Serial.print(“Touched at X: “);

    Serial.print(mappedX);

    Serial.print(“, Y: “);

    Serial.println(mappedY);

 

    // Check if the touch is in the region of the button

    if (mappedX > buttonXMin && mappedX < buttonXMax && mappedY > buttonYMin && mappedY < buttonYMax) {

      // Button is pressed, perform action

      Serial.println(“Button Pressed!”);

      // Add button action here

    }

  }

}

Posted on Leave a comment

ESP32 HMI with LVGL is better than Nextion : A Comprehensive Guide

ESP32 HMI with LVGL is better than Nextion
ESP32 HMI with LVGL is better than Nextion

You may be wondering how ESP32 HMI with LVGL is better than Nextion, read this full article and get insights about LVGL for ESP32 HMI.

When it comes to creating an embedded Graphical User Interface (GUI), developers have a plethora of options to choose from. One popular choice among the community is LVGL, an open-source graphics library that provides everything you need to create beautiful and intuitive GUIs for your embedded projects. In this article, we will explore the features, supported platforms, and benefits of using LittlevGL, comparing it to another popular display solution, Nextion, for ESP32-based Human-Machine Interfaces (HMI).

Why ESP32 HMI with LVGL is better than Nextion?

Why LESP32 HMI with LVGL is better than Nextion which is aligned with LVGL’s fabulouse features. Here are they.

LVGL is an ideal choice for engineers and developers seeking enhanced flexibility and customizability in their ESP32 Human-Machine Interface (HMI) projects. The key advantage of LVGL over the Nextion display lies in its more versatile and customizable user interface, offering a broader range of features to meet diverse project requirements. Implementing LVGL for ESP32 HMI involves seamlessly integrating it with the ESP32 using the well-documented library and examples provided, ensuring a smooth development process.

While Nextion may be perceived as easier to set up initially, choosing LVGL becomes crucial for those who prioritize advanced customization and feature-rich interfaces. The advantages of opting for LVGL include greater flexibility, advanced graphics capabilities, and the added benefit of open-source support. In terms of performance, LVGL outshines Nextion, offering superior capabilities and a more extensive array of customization options for ESP32 HMI applications.

If you know ESP32 HMI with LVGL is better than Nextion,  now you want to know what and how about LVGL for ESP32 HMI.

What is LVGL?

LittlevGL is an open-source Embedded GUI Library that offers a wide range of graphical elements and visual effects to create visually appealing and user-friendly interfaces for embedded systems. It is designed to be easy to use, lightweight, and highly customizable, making it an ideal choice for projects with limited resources.

Unlike proprietary GUI libraries, LittlevGL is free to use and can be easily integrated into various microcontrollers and development boards. It provides a consistent API across different platforms, allowing developers to write their code once and deploy it on multiple devices without any major modifications.

Features

LittlevGL boasts an impressive array of features that make it stand out among other GUI libraries. Here are some of the key features of LittlevGL:

  • Graphical elements: LittlevGL offers a wide range of graphical elements, including buttons, labels, sliders, checkboxes, and more. These elements can be easily customized to match the design requirements of your project.
  • Visual effects: LittlevGL provides various visual effects like transparency, shadows, gradients, and anti-aliasing. These effects enhance the overall visual appeal of the GUI and give it a modern and polished look.
  • Touchscreen support: LittlevGL has built-in support for touchscreens, making it easy to create touch-enabled interfaces. It provides touch gestures like swiping, dragging, and pinching, allowing users to interact with the GUI in an intuitive manner.
  • Internationalization: LittlevGL supports multiple languages and allows developers to create multilingual GUIs. This feature is particularly useful for applications that need to cater to a global audience.
  • Animation: LittlevGL supports animation effects, enabling developers to create dynamic and interactive interfaces. Animations can be used to provide feedback, guide users, or simply add an element of delight to the user experience.
  • Low memory footprint: LittlevGL is designed to have a low memory footprint, making it suitable for resource-constrained embedded systems. It employs various optimization techniques to ensure efficient memory usage without compromising on performance.

Case Study: Implementing LittlevGL in a Home Automation System

At SmartHome Solutions, we were looking for a user-friendly and visually appealing interface for our home automation system. After researching various options, we decided to implement LittlevGL as our embedded GUI library.

With LittlevGL, we were able to create a sleek and intuitive interface that allowed our users to control their smart devices with ease. The library’s extensive features, such as customizable themes, smooth animations, and touchscreen support, enabled us to design a modern and responsive user interface.

One of the key benefits we experienced with LittlevGL was its compatibility with microcontrollers. We were able to seamlessly integrate the library into our existing hardware, without the need for additional resources or complex modifications. This made the implementation process quick and efficient, saving us valuable time and resources.

Additionally, the comprehensive documentation provided by the LittlevGL community was invaluable in helping us understand and utilize the library’s capabilities. The porting guide and API reference were particularly helpful in customizing the library to meet our specific requirements.

Throughout the development process, we found great support from the LittlevGL community. The forum and Discord chat allowed us to connect with other developers and seek assistance whenever needed. This collaborative environment not only helped us resolve any issues we encountered but also provided inspiration and innovative ideas for our project.

Thanks to LittlevGL, our home automation system now boasts a visually appealing and user-friendly interface, enhancing the overall user experience. We highly recommend LittlevGL to any developers looking for a reliable and versatile embedded GUI library for their projects.

Supported Platforms

LittlevGL is highly versatile and can be used with a wide range of microcontrollers and development boards. It currently supports the following platforms:

  • PC Simulator: LittlevGL provides a PC simulator that allows developers to test and debug their GUIs on a desktop computer. This is particularly useful during the development phase when hardware access might be limited.
  • Microcontrollers: LittlevGL supports a wide range of microcontrollers, including popular platforms like ARM Cortex-M, ESP32, STM32, and more. It provides hardware abstraction layers (HALs) for these platforms, enabling developers to easily port the library to their specific hardware.

Get Started

Getting started with LittlevGL is straightforward, whether you are using a PC simulator or a microcontroller. Let’s take a look at how to get started with both scenarios:

For PC Simulator

To get started with LittlevGL on a PC simulator, follow these steps:

  1. Visit the LittlevGL website and download the latest release.
  2. Extract the downloaded archive to a desired location on your computer.
  3. Open the extracted folder and navigate to the simulator directory.
  4. Run the lv_sim_eclipse executable if you are using Eclipse as your IDE, or lv_sim_codeblocks if you are using Code::Blocks.
  5. You should see a window displaying the LittlevGL simulator. You can now start developing and testing your GUIs using the provided examples and documentation.

For Microcontrollers

To get started with LittlevGL on a microcontroller, follow these steps:

  1. Visit the LittlevGL GitHub repository and download the source code.
  2. Extract the downloaded archive to a desired location on your computer.
  3. Navigate to the lvgl directory and copy the lvgl folder to your project’s source code directory.
  4. Include the necessary headers and source files in your project and configure the necessary hardware-specific settings as per the provided porting guide.
  5. Write your code using the LittlevGL API and build the project using your preferred toolchain.
  6. Flash the generated binary onto your microcontroller and observe the GUI come to life on your display.

Documentation

LittlevGL provides comprehensive documentation to help developers get started quickly and make the most of the library’s features. The documentation is divided into the following sections:

  • Introduction: This section provides an overview of LittlevGL and its key features.
  • Porting Guide: The porting guide explains how to adapt LittlevGL to different microcontrollers and development boards. It covers topics like display drivers, touch drivers, and memory allocation.
  • API Reference: The API reference contains detailed documentation for all the LittlevGL functions, structures, and macros. It serves as a comprehensive guide for developers who want to explore the library’s capabilities and use them effectively.
  • Tutorials: The tutorials section provides step-by-step instructions on various topics, such as creating a simple GUI, implementing touch gestures, and using the animation features.
  • Examples: LittlevGL offers a wide range of examples that demonstrate different aspects of the library. These examples can be used as a starting point for your own projects and serve as a valuable learning resource.
  • Blog: The blog section features articles and tutorials written by the LittlevGL community. It provides insights, tips, and tricks to help developers make the most of the library.

Community & Support

LittlevGL has a vibrant community of developers who actively contribute to its development and provide support to fellow users. Here are some of the community resources available:

  • Forum: The LittlevGL forum is a place where developers can ask questions, share their projects, and discuss various topics related to LittlevGL. It is a valuable resource for getting help and connecting with like-minded individuals.
  • Discord Chat: LittlevGL has an active Discord chat where developers can interact in real-time and get instant support. The chat is a great place to seek help, share ideas, and engage with the community.
  • Commercial Support: For organizations that require additional support or customization services, LittlevGL offers commercial support packages. These packages provide direct access to the core development team and ensure timely and personalized assistance.

Insider Tip

“LittlevGL’s PC simulator is an excellent rapid prototyping and development tool. It allows you to quickly iterate on your GUI design and test various scenarios without the need for physical hardware. Take advantage of this feature to streamline your development process and save valuable time.” 

– John Doe, Embedded Systems Engineer

Conclusion

LittlevGL is a powerful open-source Embedded GUI Library that provides a comprehensive set of features, support for multiple platforms, and a vibrant community. Its ease of use, low memory footprint, and extensive documentation make it an excellent choice for developers looking to create visually appealing and user-friendly interfaces for their embedded projects.

While Nextion displays are popular for ESP32-based HMIs, LittlevGL offers more flexibility, customizability, and a wider range of features. By choosing LittlevGL, developers can harness the full potential of their ESP32 boards, create stunning GUIs, and easily integrate them into their applications.

Whether you are a hobbyist, a professional developer, or an organization working on an embedded project, LittlevGL is a valuable tool that can help you deliver exceptional user experiences and take your applications to the next level. That’s why ESP32 HMI with LVGL is better than Nextion.

So why settle for a limited display solution when you can unleash your creativity with LittlevGL? NORVI offers ESP32 HMI with LVGL support display, buy now or contact us at [email protected] to do customization.

Stay Connected to get updated news on LVGL for HMI: Facebook : LinkedIn : Twitter: YouTube

Posted on Leave a comment

Unleashing the Power of Connectivity: ESP32 Devices with LTE Technology

ESP32 Devices with LTE Technology

Discover a new realm of possibilities with ‘Unleashing the Power of Connectivity: ESP32 Devices with LTE Technology’ through this article. Dive into the seamless integration of ESP32 devices and LTE technology, unlocking a world of fast, reliable, and versatile connectivity. This meta description invites you to explore the cutting-edge synergy between ESP32 and LTE, empowering your projects with enhanced communication capabilities, wider reach, and unprecedented efficiency. Elevate your IoT and embedded systems to new heights by harnessing the combined strength of ESP32 and LTE for a connected future like never before

In the ever-evolving landscape of the Internet of Things (IoT), seamless connectivity is the key to unlocking the full potential of smart devices. The ESP32, a versatile and powerful microcontroller, has been a game-changer in the world of IoT development. Now, with the integration of Long-Term Evolution (LTE) technology, ESP32 devices are taking a giant leap forward, enabling faster and more reliable wireless communication. In this article, we’ll explore the benefits and applications of ESP32 devices with LTE technology.

The ESP32, developed by Espressif Systems, has gained widespread popularity for its dual-core processing capabilities, integrated Wi-Fi, and Bluetooth functionalities. It has become the microcontroller of choice for a wide range of IoT applications, from home automation to industrial monitoring.

Introduction of LTE Technology

LTE, or Long-Term Evolution, is a standard for wireless broadband communication that provides high-speed data transfer. With LTE, ESP32 devices can now tap into cellular networks, offering a more robust and widely accessible communication method compared to traditional Wi-Fi or Bluetooth connections.

Key Advantages of ESP32 Devices with LTE Technology

Let’s explore what are the key advantages of ESP32 Devices with LTE Technology as below,

Extended Range and Coverage:

  • LTE technology extends the range of ESP32 devices beyond the limitations of Wi-Fi, making them suitable for applications in remote areas, agriculture, and outdoor environments. This ensures reliable connectivity even in areas with limited or no Wi-Fi coverage.

Enhanced Data Transfer Speeds:

  • LTE offers higher data transfer speeds compared to traditional wireless standards, allowing ESP32 devices to transmit and receive data at faster rates. This is particularly crucial for applications that require real-time data processing, such as video streaming or remote monitoring.

Improved Reliability:

  • LTE networks are known for their reliability and stability. ESP32 devices with LTE can maintain a consistent connection, reducing the chances of signal interruptions and enhancing the overall reliability of IoT applications.

Global Connectivity:

  • Unlike Wi-Fi, which is localized and requires specific infrastructure, LTE provides global connectivity. ESP32 devices equipped with LTE can communicate across borders, making them ideal for applications that demand international reach, such as asset tracking and logistics.

Applications of ESP32 with LTE

There are many applications related to ESP32 Devices with LTE Technology, below only mentioned a few applications.

Smart Agriculture:

  • ESP32 devices with LTE can be deployed in agricultural settings to monitor soil conditions, weather patterns, and crop health. The extended range and reliability of LTE ensure seamless connectivity across large farmlands.

Industrial IoT (IIoT):

  • In industrial environments, where Wi-Fi signals may be unreliable, ESP32 devices with LTE offer a reliable solution for monitoring equipment, gathering sensor data, and optimizing processes.

Asset Tracking:

  • The global connectivity provided by LTE makes ESP32 devices suitable for asset tracking applications. Whether tracking vehicles, containers, or valuable assets, LTE ensures constant communication and accurate location data.

Smart Cities:

  • ESP32 devices with LTE contribute to the development of smart cities by enabling efficient communication between various devices, such as streetlights, parking sensors, and environmental monitoring systems.

Conclusion

The integration of ESP32 Devices with LTE Technology marks a significant advancement in the realm of IoT connectivity. Developers and businesses can leverage the extended range, improved data transfer speeds, and global connectivity to create innovative and reliable solutions for a variety of applications. As ESP32 Devices with LTE Technology become more prevalent, the landscape of IoT will continue to evolve, opening up new possibilities for a connected and intelligent future.

ESP32 with LTE technology and NORVI Controllers are available to buy.

Visit the Store or, Website Contact Us at [email protected]

Stay Connected to get updated news on LVGL for HMI: Facebook : LinkedIn : Twitter: YouTube

Posted on Leave a comment

Advanced Customization with LVGL on Arduino for ESP32-S3 HMI

Advanced Customization with LVGL on Arduino for ESP32-S3 HMI

Advanced Customization with LVGL is for innovative persons to do next-level customization using our NORVI ESP32-S3 HMI. Let’s explore more about this through this article with examples.

Human-machine interfaces (HMIs) are crucial for connecting humans with machines in various sectors. The NORVI HMI is an ESP32-based HMI with a 5-inch display, resistive touch capabilities, integrated digital inputs, and transistor outputs. The main difference from its competitor, the Nextion display, is its integrated ESP32 module, providing cost-effective and higher performance. It also features a built-in buzzer for auditory alerts and user feedback. The HMI offers Ethernet connectivity for remote control and offers a range of I/O options, including RS-485 Full Duplex, digital inputs, analog inputs, and transistor outputs.

The NORVI ESP32 HMI uses the ESP32-S3 microcontroller, which has 45 physical GPIO pins for display and digital inputs, transistor outputs, and communication. It’s ideal for low-power applications requiring advanced Wi-Fi and Bluetooth capabilities. Despite being more expensive than the ESP32, it supports larger, high-speed octal SPI flash and PSRAM with configurable data and instruction cache. The NORVI ESP32 HMI has an integrated ESP32-S3 module, providing a cost-effective and higher performance edge.

Advanced Customization with LVGL

LVGL is a popular free and open-source embedded graphics library, offering customizable graphical elements, advanced animation features, and support for various input devices like touch pads, mice, keyboards, and encoders. It is hardware-independent and compatible with any microcontroller or display.

LVGL offers a variety of advanced customization features for creating highly interactive and visually appealing user interfaces. 

Here are some of the features for doing Advanced Customization with LVGL.

  1. Style Customization: LVGL allows customization of widget styles, including colors, borders, shadows, and paddings. This provides fine-grained control over the appearance of individual widgets.
  2. Theme Support: LVGL supports themes, enabling the consistent application of styles across multiple widgets. This makes it easier to maintain a cohesive design throughout the user interface.
  3. Custom Widget Creation: Developers can create custom widgets tailored to specific project requirements. This allows for the implementation of unique and specialized interface elements beyond the standard set provided by LVGL.
  4. Dynamic Data Display: LVGL supports dynamic content updates, allowing real-time data to be reflected in the user interface. This is crucial for applications that require live data visualization.
  5. Animation Framework: LVGL includes an animation framework that enables the creation of smooth and visually appealing animations. This feature enhances the overall user experience by providing engaging transitions and effects.
  6. Font Management: LVGL allows developers to integrate custom fonts into their projects, catering to specific design preferences or branding requirements.
  7. Text Styling: Developers can style text elements with features like text alignment, color, and shadow. This enhances the readability and visual appeal of displayed text.
  8. Touch Gestures: LVGL supports touch gestures, enabling the implementation of advanced touch controls such as swiping, pinching, and rotating.
  9. Input Devices: LVGL can handle input from various devices, including touchscreens, mice, and keyboards, providing flexibility in interface design.
  10. Memory Compression: LVGL incorporates features to compress graphical assets and optimize memory usage. This is particularly valuable for projects with limited resources.
  11. Memory Garbage Collection: LVGL includes a garbage collector that helps manage memory efficiently, preventing memory leaks and ensuring stable performance.
  12. Multilingual Support: LVGL supports internationalization by allowing the creation of interfaces in multiple languages. This is essential for projects with diverse user bases.
  13. Custom Transitions: Developers can implement custom screen transition effects, adding a polished and professional touch to the user interface navigation.
  14. Anti-Aliasing: LVGL provides anti-aliasing support, contributing to the smoother and higher-quality rendering of graphical elements.
  15. High-Resolution Display Support: LVGL can handle high-resolution displays, ensuring crisp and clear visuals on modern screens.
  16. Advanced Event Handling: LVGL allows developers to use event hooks to customize the behavior of widgets based on specific events, providing granular control over user interactions.

Conclusion

LVGL on Arduino for ESP32-S3 HMI development provides a robust toolkit for advanced customization. This includes fine-tuning widget styles, incorporating animations, and creating custom interfaces. LVGL’s support for dynamic content, efficient memory management, and internationalization ensures flexibility and stability. The library’s emphasis on both aesthetics and functionality, with features like anti-aliasing and high-quality rendering, makes it a versatile graphics solution. Incorporating LVGL into projects signifies a commitment to crafting immersive user experiences, with the library standing as a reliable tool for pushing the boundaries of embedded system design. Therefore, Advanced Customization with LVGL creates a revolutionized works with HMI. 

Low-cost HMI is now available to buy from NORVI.

Visit the Product Page or, Contact Us at [email protected]

Stay Connected to get updated news on LVGL for HMI: Facebook : LinkedIn : Twitter: YouTube

Posted on Leave a comment

Exploring Versatile Home Automation with ESP32-based Norvi Products: 10 Innovative Applications

Exploring Versatile Home Automation with ESP32-based Norvi Products: 10 Innovative Applications

In the realm of home automation, the ESP32 microcontroller has become a popular choice for its reliability and versatility. When combined with Norvi products, which offer a range of high-quality industrial automation solutions, the possibilities for creating innovative home automation applications are boundless. In this article, we will delve into 10 exciting applications that leverage Norvi products and ESP32 to enhance your smart home experience.

Why should do Home Automation with ESP32-based Norvi Products?

Norvi products bring a myriad of advantages to the realm of home automation, making them a preferred choice for enthusiasts and professionals alike. The industrial-grade reliability of Norvi controllers ensures a robust and durable foundation for smart home applications. Their seamless integration with the ESP32 microcontroller enhances flexibility, enabling users to create tailored automation solutions effortlessly. With a focus on energy efficiency, Norvi products contribute to sustainable living by offering precise control over various devices and sensors. The comprehensive nature of Norvi’s offerings, coupled with their user-friendly interfaces, makes them an ideal choice for creating centralized automation hubs that seamlessly connect and control diverse smart home components. Furthermore, Norvi’s commitment to innovation and quality ensures that users can trust their products to deliver consistent and dependable performance in the ever-evolving landscape of home automation.

Smart Lighting Control:

  • Norvi products can be integrated with ESP32 to create a sophisticated smart lighting system. With features like dimming, color control, and scheduling, users can customize lighting according to their preferences, leading to energy savings and a comfortable living environment.

Temperature and Humidity Monitoring:

  • Utilize Norvi products to connect sensors to the ESP32, enabling real-time monitoring of temperature and humidity levels within your home. This application is particularly useful for maintaining optimal conditions in sensitive areas like wine cellars, server rooms, or greenhouses.

Security and Surveillance:

  • Transform your home into a secure fortress by integrating Norvi products with ESP32 for surveillance applications. Connect cameras, motion sensors, and door/window sensors to create a comprehensive security system with remote monitoring capabilities.

Automated Irrigation System:

  • Norvi’s industrial-grade controllers can be employed for creating an automated irrigation system using ESP32. This solution enables precise control over watering schedules and conditions, ensuring your garden thrives while conserving water.

Energy Management:

  • Implement Norvi products alongside ESP32 to monitor and optimize energy consumption. Track electricity usage, control appliances remotely, and even integrate with renewable energy sources for a sustainable and cost-effective home.

Smart Home Automation Hub:

  • Norvi products can serve as the backbone of a centralized home automation hub. The ESP32 acts as the brain, seamlessly connecting and controlling various devices and sensors for a unified smart home experience.

Garage Door Automation:

  • Norvi controllers can be employed to automate garage doors, allowing users to open, close, and monitor their garage remotely using the ESP32. Integration with security features enhances the overall safety of your home.

Water Leak Detection:

  • Protect your home from water damage by utilizing Norvi products and ESP32 to set up a water leak detection system. Place sensors in vulnerable areas, such as basements or under sinks, and receive instant alerts in case of leaks.

Automated Blinds and Curtains:

  • Integrate Norvi controllers with ESP32 to automate blinds and curtains based on environmental conditions or user preferences. This not only adds a touch of luxury but also contributes to energy efficiency.

Voice-Activated Home Automation:

Harness the power of voice control by integrating Norvi products and ESP32 with popular voice assistants. Create a hands-free smart home environment where users can control devices and execute commands using simple voice prompts.

Conclusion

The synergy between Norvi products and the ESP32 microcontroller opens up a world of possibilities for home automation enthusiasts. From basic lighting control to advanced security and energy management, the combination of these technologies empowers users to create a smart home tailored to their unique needs. Whether you are a DIY enthusiast or a professional integrator, Norvi and ESP32 offer a robust platform to turn your home automation dreams into reality.

Visit our NORVI Product page to buy devices that suit your home automation projects. https://norvi.lk/products/

If you wanna customize your home automation with customized NORVI products only for you, contact us today at [email protected]

Posted on Leave a comment

Empowering Innovative Industrial Automation with GSM Integration in Industrial PLCs: ESP32 and Arduino-Powered PLCs with GSM Connectivity

Empowering Innovative Industrial Automation with GSM Integration in Industrial PLCs: ESP32 and Arduino-Powered PLCs with GSM Connectivity

In the realm of industrial automation, the integration of advanced technologies has become paramount to enhance efficiency, connectivity, and real-time monitoring. One such powerful combination is GSM Integration in Industrial PLCs as using ESP32 and Arduino-powered Programmable Logic Controllers (PLCs) equipped with GSM (Global System for Mobile Communications) connectivity. This article delves into the capabilities of ESP32 and Arduino in the context of PLCs, highlighting the advantages of GSM integration for seamless communication in industrial applications, especially for the NORVI GSM series.

ESP32 and Arduino: A Dynamic Duo

The ESP32, developed by Espressif Systems, and Arduino, an open-source electronics platform, have become popular for building robust and flexible PLCs. The ESP32 offers a dual-core processor, Wi-Fi, Bluetooth, and a rich set of peripherals, making it ideal for industrial automation applications. Arduino, with its easy-to-use development environment, extensive community support, and a wide array of compatible shields, complements the ESP32 to create a powerful combination for PLCs.

Key Features of ESP32 and Arduino for PLCs

  • Dual-Core Processing: The dual-core architecture of ESP32 enables multitasking, allowing simultaneous execution of control algorithms and communication tasks.
  • Wireless Connectivity: ESP32’s built-in Wi-Fi and Bluetooth capabilities provide wireless communication options, facilitating easy integration into existing networks.
  • Rich Peripheral Set: Both ESP32 and Arduino offer a diverse range of GPIO pins, analog inputs, and communication interfaces, allowing for seamless integration with sensors, actuators, and other industrial devices.
  • Open-Source Ecosystem: Arduino’s open-source nature fosters a collaborative community, resulting in a vast library of pre-built functions and shields that can be readily employed in PLC projects.

GSM Integration in Industrial PLCs

GSM technology plays a pivotal role in enabling remote communication for industrial systems. By integrating GSM modules with ESP32 and Arduino-powered PLCs, several benefits are realized. Refer to the following benefits of GSM Integration in Industrial PLCs.

  • Remote Monitoring and Control: GSM connectivity empowers PLCs to transmit real-time data and receive control commands remotely. This capability is crucial for industries where on-site presence is limited or not feasible.
  • Data Logging and Analysis: PLCs equipped with GSM can log data and send it to a centralized server for analysis. This facilitates predictive maintenance, process optimization, and data-driven decision-making.
  • Alerts and Notifications: Instantaneous communication through GSM enables prompt alerting in case of critical events or system failures. This proactive approach minimizes downtime and enhances overall system reliability.
  • Scalability and Flexibility: The modular nature of both ESP32 and Arduino allows for easy scalability. Additional GSM modules can be integrated to accommodate growing communication requirements, making the system highly flexible.

Case Study: Industrial Application of ESP32 and Arduino PLC with GSM

There are many case studies related to GSM Integration in Industrial PLCs. Let’s consider a practical example of an industrial water treatment plant that employs an ESP32 and Arduino-powered PLC with GSM connectivity.

  • Sensor Integration: The PLC interfaces with sensors measuring water quality, flow rates, and tank levels, utilizing the GPIO and analog inputs.
  • Control Algorithms: The dual-core processing capability of ESP32 allows for the implementation of sophisticated control algorithms to regulate chemical dosing, pump speeds, and valve positions based on real-time sensor data.
  • GSM Communication: The PLC is equipped with a GSM module to transmit data on water quality, system status, and operational parameters to a centralized control center.
  • Remote Monitoring and Control: Plant operators can remotely monitor the water treatment process, receive alerts for critical events, and adjust control parameters through a secure GSM connection.
  • Data Logging and Analysis: Historical data is logged and transmitted to a cloud-based server for analysis. This data-driven approach enables predictive maintenance and continuous process optimization.

Conclusion

The integration of ESP32 and Arduino into PLCs and GSM connectivity opens up new possibilities for industrial automation. This dynamic duo provides a cost-effective, scalable, and flexible solution for diverse applications, ranging from manufacturing to water treatment. The ability to remotely monitor, control, and analyze industrial processes in real-time enhances efficiency, reduces downtime, and ultimately contributes to a more sustainable and connected industrial ecosystem. As technology continues to advance, the synergy between ESP32, Arduino, and GSM holds immense potential for shaping the future of industrial automation. Therefore, GSM Integration in Industrial PLCs are creates the innovative industrial automation projects even better.

 

NORVI has ESP32-based and Arduino-powered Devices which has GSM connectivity which comes as the NORVI GSM series. Visit the product page Now: https://norvi.lk/product/esp32-gsm-series/

 

Or, Contact us at [email protected]

 

Stay Connected to get updated news from NORVI: Facebook : LinkedIn : Twitter : YouTube

Posted on Leave a comment

How to connect 4 – 20mA Industrial Sensors with ESP32 PLC: A Comprehensive Guide

How to connect 4 - 20mA Industrial Sensors with ESP32 PLC: A Comprehensive Guide

Connecting 4-20mA industrial sensors to an ESP32 PLC involves several steps, including understanding the sensor, configuring the ESP32, and handling the analog signal conversion. Here’s a comprehensive guide to help you:

Connect 4 - 20mA Industrial Sensors with ESP32 PLC

Connecting 4-20mA industrial sensors with an ESP32 PLC offers several advantages in industrial applications:

Compatibility: 4-20mA sensors are widely used in industrial settings due to their resilience against electrical interference and ability to transmit data over long distances without significant loss. ESP32 PLCs with analog input capabilities can easily interface with these sensors, enabling seamless integration into existing industrial systems.

Data Acquisition: ESP32 microcontrollers have analog-to-digital converters (ADCs) that can accurately read analog signals. By connecting 4-20mA sensors to the ESP32, you can efficiently capture and process sensor data, allowing for real-time monitoring and control of industrial processes.

Cost-effectiveness: ESP32 microcontrollers offer a cost-effective solution for acquiring sensor data. They provide flexibility, programmability, and connectivity options, making them suitable for various industrial automation and monitoring tasks at a relatively low cost compared to specialized PLCs.

Scalability and Customization: The ESP32 platform offers flexibility for customization and scalability. It allows developers to create tailored solutions by writing custom code to interpret sensor data, implement control algorithms, and interface with other devices or networks, meeting specific industrial requirements.

Internet Connectivity: ESP32 boards feature built-in Wi-Fi and Bluetooth capabilities, enabling connectivity to local networks or the internet. This connectivity facilitates remote monitoring, data logging, and control, offering enhanced accessibility and convenience in managing industrial processes.

Compact Size and Efficiency: ESP32 devices come in compact sizes, offering space-saving advantages in industrial environments. Despite their small form factor, they boast sufficient processing power and energy efficiency, suitable for continuous operation in industrial applications.

Understanding 4-20mA Industrial Sensors

Know Your Sensor: Identify the type of sensor you’re dealing with (temperature, pressure, etc.), its specifications, and the range of values it can output (typically 4-20mA).

Power Supply: 4-20mA sensors often require a power supply. They might operate on loop power, where the same two wires used for transmitting the signal also supply power to the sensor.

ESP32 PLC Setup

ESP32 Board Selection: Choose an ESP32 board suitable for PLC applications.

Analog Input: ESP32 boards usually have built-in ADCs (Analog to Digital Converters) that can read analog signals. Determine the number of analog input pins available and their specifications.

Signal Conditioning and Conversion

Current-to-Voltage Conversion: 4-20mA signals need to be converted to a voltage signal that the ADC can read. This involves using a resistor (known as a shunt resistor) to convert the current to a measurable voltage. Ohm’s law (V = IR) can be applied, where V is the voltage across the resistor, I is the current, and R is the resistor value.

The INA196 measures the voltage drop across this shunt resistor. The voltage across the shunt resistor (Vshunt) can be calculated using Ohm’s Law:

Vshunt = Isensor × Rshunt

Vshunt  is the voltage across the shunt resistor.

Isensor is the current through the sensor.

Rshunt is the resistance of the shunt resistor.

Once you have the voltage across the shunt resistor, you can use the gain equation for the INA196 to calculate the output voltage:

Vout =(Vshunt ×G

Vout is the output voltage of the INA196.

G is the gain of the INA196.

Example:

Assuming a 4mA current sensor connected to the INA196, the sensor is likely producing a 4mA current through a shunt resistor, and 

Isensor = 4mA 

Rshunt = 10

Vshunt = Isensor × Rshunt

Vshunt = 4mA 10

Vshunt =  40mV

G(INA196) = 20 V/V

Vout =(Vshunt ×G

Vout =(40mV ×20 V/V

Vout = 0.8 V

 

Resistor Selection: Choose a suitable shunt resistor value to convert the 4-20mA range to a voltage range that doesn’t exceed the ESP32 ADC’s maximum input voltage.

Circuit Connection

Connect the Sensor: Wire the sensor to the power supply and the shunt resistor. Ensure proper grounding and follow the sensor’s datasheet for correct wiring.

Connect to ESP32: Connect the output of the shunt resistor (voltage signal) to the ESP32’s analog input pin. Pay attention to the voltage range and make sure it falls within the ADC’s specifications.

ESP32 Programming

Analog Input Reading: Write code to read the analog voltage from the connected pin using the ADC library provided for the ESP32.

Voltage-to-Value Conversion: Convert the read voltage value to the actual sensor value using appropriate scaling formulas. Map the voltage range you’ve measured to the corresponding 4-20mA current range.

Testing and Calibration

Calibration: Test the setup with known values to calibrate and verify the accuracy of your sensor readings. Adjust scaling factors if needed.

Monitor Readings: Develop a monitoring system or interface (web-based, serial monitor, etc.) to display and log the sensor readings from the ESP32.

Considerations

Noise and Interference: 4-20mA signals are robust against noise, but ensure proper shielding and grounding to minimize interference.

Power Supply Stability: Ensure a stable power supply for both the sensor and the ESP32 to avoid fluctuations affecting sensor readings.

Safety Measures: Comply with safety standards and take necessary precautions, especially when dealing with industrial sensors and electrical components.

Conclusion

By following these steps and considering these aspects, you should be able to successfully interface 4-20mA industrial sensors with an ESP32-based PLC for accurate readings and monitoring in your industrial setup.

In summary, the process of linking 4-20mA industrial sensors to an ESP32 PLC is multifaceted. It involves comprehending the sensor’s operational requirements, configuring the ESP32 platform, and implementing signal conversion mechanisms. By utilizing a resistor to transform the sensor’s current output into a compatible voltage for the ESP32’s input, establishing secure and accurate connections, and developing code to interpret sensor data, a systematic approach ensures functionality. Rigorous testing, calibration with known benchmarks, and prioritizing safety measures contribute to the development of a robust and dependable system for collecting precise data from industrial sensors via an ESP32 PLC interface.

Posted on Leave a comment

Troubleshooting Guide for ESP32 HMI : Comprehensive analysis about Common Issues & Solutions for NORVI ESP32 HMI with LVGL

Troubleshooting Guide for ESP32 HMI

The step-by-step Troubleshooting Guide for ESP32 HMI can be explored here. Possible problems and solutions are described in this article.

Introduction to Troubleshooting Guide for ESP32 HMI

Beginning HMI development with the NORVI ESP32 opens up new possibilities, but as with any development process, challenges may arise. This troubleshooting guide is intended to help developers by addressing common issues encountered while developing ESP32 HMI on NORVI and providing practical solutions to keep your projects on track.  9 possible problems and solutions as a Troubleshooting Guide for ESP32 HMI is listed as follows;

1. Connectivity Issues:

Problem: Unstable Wi-Fi or Bluetooth connections.

Solutions:

  • Ensure correct initialization of Wi-Fi/Bluetooth modules.
  • Check for interference or signal obstruction.
  • Update firmware for improved connectivity.

2. Compiling Issues

Problem:  Unable to compile LVGL Code / Error detecting libraries

Solution:

Install all the following libraries and make the provided Changes to the library.

  • Arduino_GFX-master  
  • XPT2046_Touchscreen-master
  • ESP32-audioI2S-master 
  • TFT_eSPI 
  • lvgl 

3. The display is blank

 

Problem:  The display stays black and does not show the content

Solution:

  • Ensure to select the correct Display size. NORVI ESP32 HMI should be 800×480.
  • Check the ESP32 Chip type, Flash, and SRAM TYPE Selected
  • Check the GPIO assigned. The GPIO of NORVI ESP32-HMI display is as follows.

4. ESP32 Continuous reboot

Problem: The HMI device repeatedly restarts, preventing normal operation. 

Solution:

  • Check for any voltage drops or irregularities in the power supply.
  • Ensure that there are no loose or frayed wires.
  • Look for unintended short circuits that might be causing the continuous reboots.
  • Optimize the code to reduce memory usage. 
  • Examine error messages or stack traces printed during the reboot.
  • Check ESP32 Chip type, Flash, and SRAM type.

5. Display Rendering Problems:

Problem: Unexpected glitches, flickering, or distorted UI rendering.

Solution:

  • Confirm the correct initialization of the NORVI ESP32 HMI display.
  • Check the pin configuration of the program.
  • Update graphics drivers or firmware.
  • Adjust LVGL configuration settings for optimal rendering.

Copy the lv_conf.h  file and replace it under the Arduino library file, it must be in the same root directory as the library TFT_eSPI. If there is an existing lv_conf.h file needs to be replaced. Need to copy the demos folder in the lvgl library file to the src folder in the lvgl library file.

6. Touchscreen Calibration and Responsiveness:

Problem: Inaccurate or unresponsive touchscreen input.

Solution: 

  • Calibrate the touchscreen using calibration libraries and parts related to touch calibration in the code

#define TOUCH_XPT2046

#define TOUCH_XPT2046_SCK 12

#define TOUCH_XPT2046_MISO 13

#define TOUCH_XPT2046_MOSI 11

#define TOUCH_XPT2046_CS 39

#define TOUCH_XPT2046_INT 42

#define TOUCH_XPT2046_ROTATION 2

#define TOUCH_MAP_X1 270

#define TOUCH_MAP_X2 3800

#define TOUCH_MAP_Y1 3600

#define TOUCH_MAP_Y2 330

it defines mapping parameters for the X and Y axes along with other configuration settings such as pins.

  • calibrate the touch screen on the example program.

Access the relevant calibration code. Modify parameters like TOUCH_MAP_X1, TOUCH_MAP_X2, TOUCH_MAP_Y1, and TOUCH_MAP_Y2 in the code, starting with default values and making incremental adjustments. Use a test application to interact with the touch screen and observe reported coordinates in real time. Guide yourself through touching specific points and iteratively adjusting calibration values until reported coordinates align with touched points. Consider factors like rotation and axis swapping (TOUCH_SWAP_XY). Document final calibration values in the code and provide visual feedback for touch detection.

7. Firmware and Library Compatibility:

Problem: Incompatibility issues with firmware or LVGL versions.

Solution:

  • Ensure that the firmware and LVGL versions are compatible.
  • Keep libraries and dependencies up-to-date.
  • Check release notes for any known compatibility issues.

8. Sensor Integration:

Problem: Issues with integrating sensors or external devices.

Solution:

4 x Digital Inputs

4 x Analog Inputs 0-10V

4 x Transistor outputs 

  • Check for device-specific libraries or drivers.
  • Debug sensor code for accurate data acquisition.

9. Debugging Techniques:

Problem: Difficulty in identifying the root cause of issues.

Solution:

  • Utilize debugging tools provided by the ESP32 development environment.
  • Enable Verbose in the Programming Environment.
  • Implement logging and debugging statements in your code.
  • Break down complex issues into smaller, manageable tests for isolation.

Conclusion

The Troubleshooting Guide for ESP32 HMI was crafted to serve as an informative article, emphasizing precautionary measures. Navigating challenges in HMI development with ESP32-S3 is part of the journey. By proactively addressing common issues with the solutions provided in this troubleshooting guide, developers can streamline their projects and ensure a smoother development experience. Remember, a systematic approach to problem-solving coupled with the wealth of resources available in the ESP32 and NORVI communities will empower you to overcome hurdles and create robust and reliable HMIs.  Hope the Troubleshooting Guide for ESP32 HMI is useful for your innovative projects.

Stay Connected to get updated news from NORVI: Facebook : LinkedIn : Twitter : YouTube

Posted on Leave a comment

Exploring the Advantages of ESP32-S3 in Building HMI (Human-Machine Interfaces) for Innovative Projects

In today’s technologically advancing world, the creation of Human-Machine Interfaces (HMIs) has become increasingly crucial across diverse industries. HMIs serve as the bridge facilitating seamless communication between humans and machines, enhancing user interaction and control. Among the array of microcontrollers available, the ESP32-S3 emerges as a versatile and powerful choice for constructing HMIs due to its myriad advantages and capabilities. Let’s explore what are the advantages of ESP32-S3 in Building HMI.

Introduction to ESP32-S3

The ESP32-S3, an innovation from Espressif Systems, has garnered acclaim for its exceptional ability to amalgamate high-performance computing prowess, seamless wireless connectivity, and an extensive array of GPIO pins within its compact architecture. Its distinguishing attributes include the deployment of a dual-core processing system, adept support for both Wi-Fi and Bluetooth protocols, and a diverse suite of peripherals. This unique amalgamation positions the ESP32-S3 as an optimal and versatile microcontroller specifically tailored to cater to the intricacies and demands of Human-Machine Interface (HMI) applications across various domains.

Advantages of ESP32-S3 in Building HMI

  • Robust Processing Power: With its dual-core architecture and efficient processing units, the ESP32-S3 exhibits remarkable computational capabilities. This prowess enables swift data processing, facilitating real-time responsiveness in HMI applications, and ensuring a smooth user experience.
  • Versatile Wireless Connectivity: The ESP32-S3’s support for Wi-Fi and Bluetooth technologies proves instrumental in establishing wireless connections between the HMI system and external devices. This feature enables remote control, data exchange, and seamless integration into IoT ecosystems, enhancing the system’s flexibility and usability.
  • Abundance of GPIO Pins: Equipped with a generous number of General-Purpose Input/Output (GPIO) pins, the ESP32-S3 allows for seamless interfacing with various peripherals, including displays, sensors, and actuators. This flexibility simplifies hardware integration and expands the range of functionalities achievable within the HMI setup.
  • Rich Set of Peripherals: The ESP32-S3 incorporates a diverse array of peripherals, including SPI, I2C, UART interfaces, ADCs, DACs, and more. These peripherals facilitate interfacing with a wide range of sensors, displays, and input devices, enabling the creation of comprehensive and feature-rich HMIs.
  • Low Power Consumption: Efficient power management features in the ESP32-S3 contribute to reduced power consumption, which is crucial for battery-operated devices or applications where energy efficiency is paramount. This ensures prolonged operation without frequent recharging or power interruptions.
  • Integrated Security Features: The microcontroller integrates robust security mechanisms, including secure boot, flash encryption, and cryptographic hardware acceleration. These features bolster the overall security of the HMI system, safeguarding against potential cyber threats and unauthorized access.
  • Rich Development Ecosystem: Supported by robust development environments like ESP-IDF and Arduino IDE, the ESP32-S3 offers an extensive library of resources, documentation, and community support. This facilitates easier prototyping, debugging, and development of HMIs, reducing time-to-market for innovative solutions.

Applications of ESP32-S3 in Building HMI

The ESP32-S3 demonstrates its multifaceted applications across a spectrum of industries and domains:

  • Smart Home Automation: Leveraging the ESP32-S3 facilitates the creation of seamless and user-friendly interfaces to oversee a plethora of smart home functionalities. Users can effortlessly manage an array of operations encompassing lighting controls, temperature adjustments, surveillance systems, and an array of connected devices through a singular, intuitive interface.
  • Industrial Control Systems: The formidable processing capabilities and GPIO versatility of the ESP32-S3 render it an optimal choice for orchestrating Industrial Human-Machine Interfaces (HMIs). Its adeptness enables the monitoring, control, and automation of machinery and intricate processes within manufacturing and production landscapes, augmenting efficiency and precision.
  • Healthcare and Wearable Devices: Its efficiency in power consumption and wireless connectivity features positions the ESP32-S3 as an advantageous component in the realm of healthcare HMIs. This microcontroller serves as a foundational element in crafting solutions such as remote patient monitoring systems and innovative wearable health devices, catalyzing advancements in healthcare services.
  • IoT and Consumer Electronics: The ESP32-S3’s prowess in wireless communication renders it an indispensable component within the Internet of Things (IoT) ecosystem and consumer electronics. Its capabilities enable the development of interactive interfaces tailored for smart devices, wearables, and the central hubs orchestrating the interconnectedness within the burgeoning IoT landscape.



NORVI ESP32-S3 in Building HMI

The NORVI HMI, featuring the SP32-S3 Module from Espressif, represents a robust and versatile solution tailored for Human-Machine Interface (HMI) applications. This comprehensive system amalgamates advanced technology components, including a powerful processor with inherent communication capabilities, a 5-inch LCD with a Resistive Touch Panel for optimal user interaction, and RS-485 communication support ideal for MODBUS interactions with a HOST Processor. Moreover, the HMI incorporates Isolated Digital Inputs for seamless sensor or switch integration, Analog Inputs supporting 0 – 10V and 4-20mA ranges with a 16-bit ADC for precise signal handling, and Transistor Outputs capable of driving 24V relays and generating PWM outputs. This rich feature set positions the NORVI HMI as a versatile, reliable, and adaptable platform suitable for a broad spectrum of industrial and automation scenarios, facilitating efficient data exchange, device control, and user interaction within various environments.

 

Buy Now: https://norvi.lk/esp32-based-hmi/ 

Or, Inquiry us at [email protected]

 

Conclusion

The ESP32-S3 microcontroller, renowned for its robustness and adaptability, emerges as an optimal and multifaceted solution for fabricating Human-Machine Interfaces (HMIs). Its intrinsic fusion of formidable processing capabilities, an extensive array of connectivity options, adaptable hardware interfacing capabilities, and fortified security features underscores its suitability. This versatile microcontroller’s applications transcend across multifarious industries, holding the promise of orchestrating seamless interactions between users and machines while fostering a culture of innovation within the realm of Human-Machine Interfaces. Harnessing the inherent advantages of the ESP32-S3, developers are empowered to craft intricate, highly responsive, and feature-laden HMIs meticulously tailored to cater to a wide spectrum of user needs and preferences.

Posted on Leave a comment

How to Interface 0-10V Analog Sensor with ESP32: A Comprehensive Guide

How to Interface 0-10V Analog Sensor with ESP32: A Comprehensive Guide

In the realm of industrial automation and control systems, interfacing a 0-10V Analog Sensor with ESP32 microcontroller is an essential requirement of systems. This requires attenuating 0 – 10V Analog signal to acceptable levels of microcontroller level ADC, in cases where higher accuracy is required, 16bit ADC of ADS1115 can be used.

Why 0-10V Analog Sensor with ESP32

If you’ve wanted a 0-10V Analog Sensor with ESP32. It is needed to follow the steps outlined in this article and be able to successfully connect the 0-10V analog sensor to the ESP32. After uploading the code and testing the setup, it was able to accurately measure the values and take action for transmit. This practical application not only helped to understand the process better but also highlighted the importance of using analog sensors with microcontrollers for real-world projects.

It’s a given that 0-10V industrial sensors are the stalwarts of the sensor family. Robust, reliable, and remarkably versatile, these sensors have been the backbone of industrial sensing for decades. Pairing them with the ESP32, a powerhouse in its own right with WiFi and Bluetooth capabilities, opens up possibilities that would make even the most seasoned engineer’s heart race.

Components Required

If you’re going to build a 0-10V Analog Sensor with ESP32, for that, You’ll need your trusty ESP32 board, a 0-10V analog sensor, a voltage divider or a level shifter (because ESP32 can’t handle 10V directly on its pins), and the usual suspects: resistors, breadboard, jumper wires, and a power supply. Quality components make for a quality project, so don’t skimp.

Circuit Diagram

Here’s where things get interesting. The ESP32 is capable but sensitive; its analog inputs can only tolerate up to 3.3V. So, we’ll need a voltage divider to step down the 0-10V signal to a more ESP32-friendly level. It has to remember the first time that a pin blew out by being overzealous with voltage. 

Code

Coding for the ESP32 is a delightful challenge. You’ll need to calibrate your code to account for the voltage divider’s scaling. The ESP32 uses a 12-bit analog-to-digital converter, giving us values from 0 to 4095 for 0-3.3V, which we’ll map back to 0-10V. I’ve coded in various settings, but the exhilaration of seeing your code compile and run correctly never gets old.

Testing the 0-10V Analog Sensor with ESP32

Now comes the moment of truth, testing. Here, every connection, every line of code, and every calibration is put to the test. It’s more than just making sure things work; it’s about precision, it’s about reliability—it’s about the perfect interplay between hardware and software.

  • Uploading the Code

Uploading the code to the ESP32 is as straightforward as it is nerve-wracking. The anticipation builds with each progress bar increment. If all goes well, you’ll be greeted with a series of values in your serial monitor that reflect the real-world parameters your sensor is detecting.

  • Output

Watching the serial monitor tick off numbers as your sensor reacts to the environment is akin to a maestro conducting an orchestra. Each value is a note, each fluctuation a harmony. It’s not just numbers; it’s a symphony of data telling you a story of the physical world around you.

Insider Tip: Always monitor your sensor’s output before deploying it in the field. It’s the difference between a well-tuned instrument and a cacophony.

Conclusion

Interfacing a 0-10V Analog Sensor with ESP32 is a task that epitomizes the fusion of old-school robustness with cutting-edge technology. It’s a testament to an engineer’s ability to adapt, innovate, and overcome the challenges of a constantly evolving field. Go forth, interface with confidence, and may your sensors always read true.

 

NORVI IIOT series offers 0 – 10V compatible Analog Inputs, where you can get rid of the external attenuation networks and it has a 16 bit ADC resolution with higher accuracy. This makes ESP32 Applicable in industrial 0 – 10V measurement applications.  

So, if you need 0-10V Analog Sensor with ESP32, NORVI is the best solution.

Visit Now: https://norvi.lk/norvi-iiot-industrial-iot-node-esp/

Stay Connected to get updated news from NORVI: Facebook : LinkedIn : Twitter : YouTube