Implementing PWM with Raspberry Pi Pico using MicroPython

Hello readers, I hope you all are doing great. In our previous tutorial, we discussed the implementation of LED interfacing and blinking program with Raspberry Pi Pico using MicroPython programming language. So continuing with our previous tutorial, in this tutorial we will learn how to control the LED brightness using PWM (pulse width modulation technique).

As we mentioned above, in our previous tutorial we implemented the LED blinking program with a Raspberry Pi Pico board. Blinking an LED means turning ON and OFF and thus the process involves only two states that are ‘1’ (HIGH) and ‘0’ (LOW). But, sometimes it is required to change the digital output between these two (ON and OFF states) for example changing the LED brightness. PWM or Pulse Width Modulation technique is used to change the brightness of the LED.

Raspberry Pi Pico PWM

Raspberry Pi Pico (RP2040) offers 40 pins which include power supply pins, General Purpose Input Output (GPIOs) pins, ADC, PWM etc. where most of the pins are multifunctional except power supply pins. Almost all the GPIO pins (30 pins) can be used to implement pulse width modulation technology.

Fig. 1 Raspberry Pi Pico Pi-Out

RP2040 offers 16 PWM channels and each channel is independent of another. Means we can set the duty cycle and frequency for one channels without affecting the others. These PWM channels are represented in the form of slices or groups and each slice contains two PWM outputs channel (A/B). There are total 8 slices and hence 16 channels. The pin B from PWM (A/B) can also be used as an input pin for duty cycle and frequency measurement.

The PWM channel provided in RP2040 are of 16 bit resolution which means maximum PWM resolution is 2^16 or ranges between 0 to 65536.

For more information on Raspberry Pi Pico’s PWM channels you can visit the Raspberry Pi organization’s official website: https://datasheets.raspberrypi.com/rp2040/rp2040-datasheet.pdf

 

Before programming the Raspberry Pi Pico for PWM implementation let’s first understand the concept of Pulse Width Modulation.

PWM

Fig. 2 Pulse width modulated signal

Pulse Width Modulation (or PWM) is a modulation technique used for controlling the power delivered to a load or external/peripheral devices without causing any power loss by pulsing the direct current (DC) and varying the ON time of the digital pulse. Using a digital input signal, the Pulse Width Modulation technique produces modulated output signals.

The following factors influence the behaviour of a pulse width modulated signal:

  1. Frequency
  2. Duty Cycle
  3. Resolution

Frequency : Technically, frequency means “number of cycles per second”. When we toggle a digital signal (ON and OFF) at a high frequency, the result is an analog signal with a constant voltage level.

The number of cycles per second defined by a signal's frequency is inversely proportional to the time period. PWM frequency is determined by the clock source. The frequency and resolution of PWM are inversely proportional.

Duty Cycle : It is the ratio of ON time (when the signal is high) to the total time taken to complete the cycle.

Duty Cycle =

  • The duty cycle is represented in the form of percentage (%) or ratio.

Fig. 3 Duty cycle

Resolution: A PWM signal's resolution refers to the number of steps it can take from zero to full power. The resolution of the PWM signal can be changed. For example, the Raspberry Pi Pico module has a 1- 16 bit resolution, which means we can set up to 65536 steps from zero to full power.

Various applications of Pulse Width Modulation technique are:

  • Speed control of DC motor
  • Direction or position control of a servo motor
  • To control the LED brightness
  • Loudness control in buzzers
  • Measurements purpose
  • Controlling the fan speed

Software and Hardware Components Required

  • Raspberry Pi Pico Module
  • Latest version of Python
  • Latest version on Thonny IDE should be installed on your system
  • MicroPython setup installed in Raspberry Pi Pico
  • Breadboard
  • LED
  • Resistor (330 ohm)
  • USB cable

We have already published tutorials on how to download and install the above-mentioned software components.

Follow the given link for a detailed study of Raspberry Pi Pico: https://www.theengineeringprojects.com/2022/04/getting-started-with-raspberry-pi-pico.html

Programming Raspberry Pi Pico with MicroPython

To program the Raspberry Pi Pico board there are various development environments available (like uPyCraft IDE, Visual Studio Code, Thonny IDE ect.) and multiple programming languages as well.

In this tutorial, we are going to use Thonny IDE to program the Raspberry Pi Pico board.

Installing Thonny IDE for Raspberry Pi Pico Programming:

We have already published a tutorial on installing Thonny IDe for Raspberry Pi Pico Programming. Follow the given link to install the IDE: https://www.theengineeringprojects.com/2022/04/installing-thonny-ide-for-raspberry-pi-pico-programming.html

Steps to write a program for LED brightness conrtol are:

  • Open the installed Thonny IDE for all users.
  • Connect the Raspberry Pi Pico development board with your system (laptop or desktop).
  • To create a new project; go to Files >> New.

Fig. 4 New Project

  • Connect the Raspberry Pi Pico board with laptop/desktop using USB cable.
  • Click on the ‘MicoPython(Raspberry Pi Pico)’ option from lower right corner in-order to select the interpreter for raspberry Pi Pico programming using MicroPython programming language. We already selected the one from lower right corner menu from the Thonny IDE window.

Fig. 5 Select Interpreter

  • Select interpreter ‘MicroPython (Raspberry Pi Pico)’ for Raspberry Pi Pico programming.

Image: 6 MicroPython for raspberry Pi Pico programming

  • You should see this MicroPython Version details in Shell section (to ensure that Thonny is ready to program your Raspberry Pi Pico board) as shown below:

Image: 7 Ready to program

MicroPython program to change the brightness of peripheral LED.

In this example code we will implement the pulse width modulation on the digital output pin (GPIO 14). The brightness of the will vary from minimum to maximum brightness back and forth. The maximum possible resolution is 16 bit that is 2^16 (or 0 – 65535). Let’s write and understand the MicroPython program for PWM implementation:

The first task is importing library files necessary for PWM implementation. We are importing two libraries first one is to access the GPIO pins and another one is to implement pulse width modulation techniques. We also need to import ‘time’ library file to add some delay.

Fig. 8 Import libraries

To define the GPIO pin to be used as a PWM pin a ‘PWM()’ function is used which further contains the ‘Pin()’ function that is passing the PWM GPIO (14) pin number.

The PWM function is further represented using a ‘led’ object. If you are not familiar with the PWM pin details like to which slice and channel the pwm pin belongs, you can get the respective details using print(led) function.

Fig. 9 declare object

The led.freq() command is used to set frequency rate at which the digital pulse will be modulated.

Fig. 10 Frequency of modulation

Inside the while loop we are using two for() loops. First one to change the LED brightness from minimum to maximum resolution (‘0’ to ‘65525’ ).

Fig. 11

Another for loop() is used to set the LED brightness from maximum resolution (65535) to ‘0’ (minimum resolution).

The process will be repeated back and forth due to the ‘while()’ loop.

Fig. 12

Save and test the PWM program

    1. Click on the ‘save’ icon to save the PWM program.

Fig. 13 Save the program

  1. After clicking on the ‘Save’ icon, an option ‘Where to save to?’ will pop-up. You can select any of the ‘Raspberry Pi Pico’ option.

Fig. 14 Save the program

  1. Run the program once it is successfully saved to change the LED brightness by clicking on the ‘Run’ icon as shown below:

Fig. 15 Run the saved program

Code

from machine import Pin, PWM

import time

led = PWM(Pin(14))

print(led)

led.freq(1000)

while True:

for duty in range(0, 65535):

led.duty_u16(duty)

print(duty)

time.sleep(0.001)

for duty in range(65535, 1):

led.duty_u16(duty)

print(duty)

time.sleep(0.001)

Testing and Results

Let’s interface a peripheral LED with raspberry Pi Pico. As mentioned in the code description the GPIO 14 pin is configured as PWM pin. Connect the LED with raspberry Pi Pico board. The connections of LED with Raspberry Pi Pico board are shown in Table 1.

Table 1

Schematic of LED interfacing with raspberry Pi Pico is shown below:

Image: 16 LED Interfacing with Raspberry Pi Pico

  • The results of the pulse width modulation implementation on LED are shown in the images attached below.
  • In the first image the LED brightness is very low.

Fig. 17 Brightness level 1

  • In the second image the LED brightness is slightly increased than the previous one.

Fig. 18 Brightness level 2

  • The third image represents the maximum brightness level.

Fig. 19 Brightness level 3

  • If you are not familiar with the PMW pin details we can the details of respective pwm pin using print command ‘pritn(“enter the pwm pin here”)’.
  • The image attached below represents the PWM pin details like to which slice and channel the PWM pin (GPIO 14) belongs.
  • As we can see from the image attached below that PWM slice is ‘7’ and channel is ‘0’.

Fig. 20 PWM pin details

  • We can also visualize the PWM output on Thonny IDE.
  • In Thonny IDE there is a ‘plotter’ feature available for graphical representation.
  • To enable the plotter feature, go to View and check the plotter option.

Fig. 21

  • Now you should see the plotter section on the right side of Shell

Fig. 22 Plotter

  • The duty cycle is printed in both Shell and Plotter using print()
  • The image attached below, represents the pulse width modulated output observed from the GPIO 14 PWM pin during rising edge (0 to 65535) or while the LED brightness increasing.

Fig. 23 Rising PWM output 0 to 65535 (brightness increasing)

  • Pulse width modulated output during falling edge or decreasing LED brightness (65535 to 0) is shown in the image attached below:

Fig. 24 PWM output maximum to 0

Implementing Pulse Width modulation with multiple LEDs

Now let’s take another example where we will interface multiple LEDs (16) with Raspberry Pi Pico board and then will implement pulse width modulation on those LEDs.

The procedure of interfacing and programming with Thonny IDE using MicroPython will remain similar to the previous example.

Fig. 25 Interfacing Multiple LEDs with Pico

Let’s write the code:

Code

from machine import Pin, PWM

import time

led_1 = PWM(Pin(5)) # declaring led_x object for PWM pins

led_2 = PWM(Pin(6))

led_3 = PWM(Pin(8))

led_4 = PWM(Pin(9))

led_5 = PWM(Pin(10))

led_6 = PWM(Pin(13))

led_7 = PWM(Pin(14))

led_8 = PWM(Pin(15))

led_9 = PWM(Pin(16))

led_10 = PWM(Pin(17))

led_11 = PWM(Pin(18))

led_12 = PWM(Pin(19))

led_13 = PWM(Pin(20))

led_14 = PWM(Pin(21))

led_15 = PWM(Pin(22))

led_16 = PWM(Pin(26))

print(led_1)

def led_freq(x):

led_1.freq(x)

led_2.freq(x)

led_3.freq(x)

led_4.freq(x)

led_5.freq(x)

led_6.freq(x)

led_6.freq(x)

led_7.freq(x)

led_8.freq(x)

led_9.freq(x)

led_10.freq(x)

led_11.freq(x)

led_12.freq(x)

led_13.freq(x)

led_14.freq(x)

led_15.freq(x)

led_16.freq(x)

led_freq(1000) # setting pulse width modulation prequency

while True:

for duty in range(0, 65535): # Increasing LED broghtness

led_1.duty_u16(duty)

led_2.duty_u16(duty)

led_3.duty_u16(duty)

led_4.duty_u16(duty)

led_5.duty_u16(duty)

led_6.duty_u16(duty)

led_7.duty_u16(duty)

led_8.duty_u16(duty)

led_9.duty_u16(duty)

led_10.duty_u16(duty)

led_11.duty_u16(duty)

led_12.duty_u16(duty)

led_13.duty_u16(duty)

led_14.duty_u16(duty)

led_15.duty_u16(duty)

led_16.duty_u16(duty)

print(duty) # Print the duty Cycle

time.sleep(0.001)

for duty in range(65535, 0): # deccresing LED brightness

led_1.duty_u16(duty)

led_2.duty_u16(duty)

led_3.duty_u16(duty)

led_4.duty_u16(duty)

led_5.duty_u16(duty)

led_6.duty_u16(duty)

led_7.duty_u16(duty)

led_8.duty_u16(duty)

led_9.duty_u16(duty)

led_10.duty_u16(duty)

led_11.duty_u16(duty)

led_12.duty_u16(duty)

led_13.duty_u16(duty)

led_14.duty_u16(duty)

led_15.duty_u16(duty)

led_16.duty_u16(duty)

print(duty)

time.sleep(0.001)

Code Description

As we mentioned in the introduction part raspberry Pi Pico has 8 PWM slices and 16 PWM channels. So in this example code we are interfacing 16 LEDs with PWM pins.

Most of the code instructions and commands are similar to the previous example. Here we declare 16 different led objects for 16 different GPIO pins (PWM pins).

Fig. 26 Declaring ‘led’ object

  • Next we created a function ‘led_freq()’ to set the frequency at which pulse width modulation takes place.

Fig.27 PWM frequency

  • The programming part of increasing the and decreasing the brightness of LEDs is similar to the previous example.

Result

In the images attached below, we can see the variation in LED brightness.

Fig. 28 Minimum Brightness Level

Fig. 29 Intermediate Brightness Level

Fig. 30 Maximum Brightness Level

Conclusion

In this tutorial we demonstrated the implementation of pulse width modulation on LEDs with Raspberry Pi Pico module and MicroPython programming language.

Continuing with this tutorial, in our upcoming tutorial we will discuss the interfacing of a servo-motor with raspberry pi Pico and we will also implement PWM on servo motor to control the direction of rotation.

This concludes the tutorial, we hope you find this of some help and also hope to see you soon with a new tutorial on Raspberry Pi Pico programming.

Build a GPIO Soundboard in Raspberry Pi 4

Welcome to the next tutorial of our Raspberry Pi programming course. In our previous tutorial, we learned how to create a timelapse video with still images and understand how phototimer and FFmpeg work. In this lesson, you'll make a button-controlled "music box" that plays different sounds depending on which buttons are pressed.

Where To Buy?
No.ComponentsDistributorLink To Buy
1BreadboardAmazonBuy Now
2Jumper WiresAmazonBuy Now
3Raspberry Pi 4AmazonBuy Now

What you will learn

Connect button pushes to function calls using the Python gpiozero package and uses the Python dictionary data structure

Components

  • Raspberry Pi
  • Breadboard
  • Buttons
  • Jumper wires
  • Speaker

Set up your project

For this project, you'll need some audio samples. On Raspbian, there are many audio files; however, playing them with Python can be challenging. You can, however, transform the audio files to a more simply used format for Python.

Please make a new folder and rename it because all of your project files will be saved in the new location.

Copy the sample sounds

Create a new folder named samples using the same technique as before in your new folder.

In /usr/share/sonic-pi/sample, you'll find a bunch of sample sounds. These sounds will be copied into the samples folder in the following phase.

Open the command window by selecting the icon in the upper left corner of your screen.

To transfer all items from one folder to another, execute the following lines:

You should now see all the .flac audio files inside the sample folder.

Convert the sound files

To use Python to play sound files, you must first convert them from .flac to .wav format.

Go to the sample folder inside a terminal.

How can we converting the media files?

FFmpeg is a software program that can quickly transcode video files on Raspberry Pi. This comes preloaded on the most recent Raspbian releases.

You may use this simple command to convert music or movie files format:

To transform an audio (.wav) to a mp3 format (.mp3), for example, type:

Running batch operations on a file using bash

What are batch operations?

A batch operation is a process for processing or treating a large quantity of material. When creating modest amounts of goods, the batch operation is preferred. Because this procedure provides superior traceability and flexibility, it is highly prevalent in pharmaceutical and specialized chemical manufacturing.

It's simple to rename a file with bash. For example, you may use the mv command.

But what if you had a thousand files to rename?

When you run a script or a series of commands on several files, this is known as a batch operation.

  • Try your first simple batch process with any directory containing a few files. The first thing you should do is try something simple.

The first step is to notify bash that you wish to work with all the files inside the folder.

  • f will be used to denote each directory listing inside the folder individually.
  • After that, you must instruct bash which operations to perform on each file. The file name should be echoed to standard output in this scenario.

The dollar symbol indicates that you're referring to f in this case. Finally, inform bash that you're finished.

If you press enter after each statement, bash will wait until you input done before running the loop; therefore, the command would appear as shown below:

You might also use a semi-colon to separate the instructions rather than pressing Return after every line.

How do we manipulate strings?

The process of processing and analyzing strings is referred to as string manipulation. It entails several processes involving altering and processing strings to utilize and change their data.

That final command was meaningless, but batch operations can accomplish a lot more. You can use the following command to rename each file.

  • If you run ls in the terminal, you'll notice that all files will be renamed. So, how did it all come together?
  • The first portion of the f inside *.txt instructs bash to do the action on all files ($f) with the.txt extension.
  • The command does mv $f instructs bash to relocate each file. After that, you must tell bash what the new name of the relocated file is. To do so, delete the.txt extension and replace it with .md. Fortunately, bash includes an inherent operator for removing string ends. Please take a look at this sample to understand how it works.
  • At this point, you may add something more to the string's end.

As a result, the $f percent.txt.MD syntax replaces all.txt strings with .md strings. Use the hash operator instead of the % sign to remove a string from the beginning rather than the end.

Write the following lines in your terminal. All .flac files will be converted to .wav files, and the old ones will be deleted.

Based on the Raspberry version you're using, it might take a couple of minutes.

All of the new.wav files will then be visible inside the sample folder.

How do we play sounds using python?

After that, you'll begin writing Python code. You can do this with any code editor or IDE, but Mu is often an excellent option.

To begin building the components for your musical instrument, you'll need to see if Python will play any of the audio files you've copied.

To play audio files, import and initialize the pygame library.

This file should be saved in the gpio-music-box directory.

Select four audio files to utilize in your composition, such as:

Then make an object which references an audio file. Give the file a different name. Consider the following case:

For the following three sounds, create labelled objects.

Hint

Because all of your audio files are in the sample folder, the path will be as follows:

Each audio object should be given a name, for example, cymbal:

This is how your program should appear:

Please make a backup of your code and execute it. Then use the .play() function inside the shell from the code editor to play the audio.

Ensure that the speaker is functional and the volume is cranked up if you don't hear anything.

Connect your buttons

Four pushbuttons will be required, each connected to a different GPIO pin.

There are 26 GPIO pins on a Raspberry Pi. You may use them to transmit on/off pulses to/from electrical components like Led, actuators, and switches.

The GPIO pins are laid out as below.

There are extra pins for 3.3 V, 5v, and Grounded connections and a number for each pin.

Another illustration of the pin placement may be seen here. It also displays some of the unique pins that are available as options.

A figure with a quick explanation is shown below.

How can we use a button with a Raspberry Pi?

One of the basic input components is a button.

Buttons come in various shapes and sizes, with two or four legs, for example. Flying wire is commonly used to link the two-leg variants to a control system. Four-legged buttons are usually put on a breadboard.

The illustrations below illustrate how to connect a Raspberry Pi to a button. Pin 17 is indeed the input in both scenarios.

The breadboard's negative rail may be connected to a single GND, allowing all pushbuttons to share the same grounded rail.

On the breadboard, attach the four buttons.

Connect each pushbutton to a GPIO pin with a specific number. You are free to select whatever pin you prefer, but you must recall its number.

Hint

Connect one Ground pin to the breadboard's neutral rail. Then connect one of each button's legs to this rail. Finally, connect the remaining buttons' legs to separate GPIO pins.

Here's a wiring schematic that may be of use. The extra legs of the pushbuttons are connected to Pin 4, pin 17, pin 27, and Pin 10 in this case.

Play sounds at the press of a button.

A single pushbutton has been connected to pin 17 in the figure below.

The button may be used to invoke methods that don't need any arguments:

First, use Python language and the gpiozero library to configure the button.

The next step is to design a function with no parameters. This straightforward method prints the phrase Hello in the terminal.

Finally, build a function-calling trigger.

You can now see Hello displayed in the terminal each time that button is clicked.

You may make your function as complicated as you want it to be, and you can also call methods which are part of modules. In this case, hitting the button causes an LED in pin 4 to turn on.

The application should execute a function like drum.play() whenever the button is pushed.

However, brackets are not used when using an action (like a button push) to invoke a function

. The software must call that method whenever the button is pushed, not immediately. All you have to do is use drum.play in this situation.

First, establish one of the buttons. Ensure to replace the numbers from the example with the ones of the pins you've used.

Add the following line of code at the end of your script to play the audio whenever the button is pushed:

Push the button after running the software. If you don't hear the sound, double-check your button's connections.

Add code to the three remaining buttons to have them play their audio.

For the second button, you may use the code below.

How can we improve our script?

Good code is clear, intelligible, tested, never overly convoluted, and does the task at hand.

You should be able to run your code with no issues. However, once you have a working prototype, it's typically a good practice to tidy up your code.

Subsequent stages are entirely optional. If you're satisfied with your writing, leave it alone. Follow the instructions on this page and make your code a little cleaner.

Instead of creating eight individual objects, you may keep your pushbutton objects and audio in a dictionary. These are, nonetheless, the seven characteristics of good code.

  1. Readability

If you're writing one-time discard code that no one, including yourself, will have to see in the future, you may write in any way you like. However, the majority of useful software that has been produced has to be updated regularly.

  1. Scalable

The next important feature of excellent programming is scalability, or the capacity to expand with the demands of your organization. Scalability is primarily concerned with the code's efficiency. Scalable code doesn't always require frequent design changes to maintain performance and resolve various workloads.

  1. Testable

Last-minute adjustments are unavoidable while developing software. It will be difficult to send new changes through if the code can not be rapidly and automatically tested.

  1. Meet functional requirement

Every piece of software that is built has a certain goal in mind. For persons familiar with the functionality, a code that adheres to its requirements is simple to understand. As a result, one important characteristic of excellent code is that it meets the functional requirements.

  1. Gracefully fails

Mistakes and flaws are an inherent element of software development. You can't anticipate every conceivable manufacturing case, no matter how cautious you were during the design process. You should, however, shield your application against the negative effects of such situations.

  1. Extendable

This is an important feature of excellent coding. A reusable and sustainable code is extendable. You write code and double-check that it works as expected. Extensions and related advances can be added to the feature by modules that require it.

  1. The Code Is Reusable

For every software application, reusable coding is essential and highly beneficial. It aids in the simplification of your source code and avoids redundancy. Reusable codes save time and are cheaper in the long term.

Learn how to create simple dictionaries and iterate over them by following the methods below.

First, establish a dictionary where the Buttons serve as keys and audio as values.

Whenever the pushbutton is pressed, you can loop through the dictionary to instruct the computer to play the audio:

Conclusion

We learned how to make a "music box" with buttons that play sounds depending on which button is pushed in this lesson. We also learnt how to interface our raspberry pi with buttons via the GPIO pins and wrote a python program to control the effects of pressing the buttons. In the following tutorial, we will learn how to perform a voice control on Raspberry pi.

How to Create a Time-Lapse Animations with Raspberry Pi 4

Welcome to the next tutorial of our Raspberry Pi programming course. Our previous tutorial looked at how to Interface DS18B20 with Raspberry Pi 4. This tutorial will teach us how to create a time-lapse video with still images and understand how phototimer and FFmpeg work.

Where To Buy?
No.ComponentsDistributorLink To Buy
1Raspberry Pi 4AmazonBuy Now

What is time-lapse?

When photographing something over a lengthy period, "time-lapse" comes to mind. A video can be created by mixing the still photos. Plant development may be tracked with time-lapse movies, as can the changing of the seasons. They can also be utilized as low-resolution security cameras.

Components

  • Raspberry pi 4B
  • Pi camera

Connect to the Raspberry Pi

Cameras that can be used with the Raspberry Pi are a bit limited. A powered USB hub is required for most webcams that are compatible. For this post, we’ll be using a camera specifically made for the Raspberry Pi. The camera module can be plugged into a specified port on the Raspberry Pi. How to do it;

  • Turn off the pi

Shutting down the pi is recommended before adding a camera. A power button should be installed on Pi 4 so that you may shut down the device safely every time.

  • Locate the camera port and lift the tabs to install the camera's cord.
  • Secure the tabs on the flex cable after inserting it into the flex cable slot.

Slide the cord into the port by using an image as a guide. Finally, press down tabs, securing the cable to the motherboard.

Enable the camera in Raspberry Pi OS

Click on the main menu button, select Preferences, and then click Pi Configuration if you're using a monitor. Enable the camera by clicking on the Interfaces tab.

To continue, headless users must type the command below. Make sure the camera is turned on in Interfacing Options. Rebooting the Raspberry Pi will be required.

How to record time-lapse images

Individual stills are used to create time-lapse videos. We'll be using raspistill to acquire our time-lapse images. As part of the Raspberry Pi OS, you don't need to install anything extra. The are two way to record a time lapse:

  • Using the raspistill tool on the Rpi alone
  • Using phototimer
  1. Using the Raspistill tool only

Raspistill is a Linux-based software library that aims to make it easier for Linux users to use sophisticated camera systems. We can use open-source programs running on ARM processors to control the camera system with the Raspberry Pi. Almost all of the Broadcom GPU's proprietary code is bypassed, which customers have no access to.

It provides a C++ API to apps and operates at the base of configuring a camera and enabling the program to obtain image frames. Image buffers are stored in memory space and can be supplied to either video encoders (like H.264) or still image encoding algorithms like JPEG or PNG. raspistill, on the other hand, does not perform any image encoding or display operations directly.

How can we use this tool?

An illustration of how to take time-lapse photography is shown in the following image.

In this case, the time-lapse capture was 10 seconds long. The Raspberry will wait for a total of 2000 milliseconds between each image. For 10 seconds, the Raspberry Pi will take a picture every two seconds.

The photos will be stored as .jpg files. This example uses the name "Pic" and a number that increases with each frame to identify each image. The final digit of percent 04d is a zero. Pic0000.jpg and Pic0001.jpg would be the names of the first two photographs, and so on. Change this value according to the requirements of your project.

How can we compile the to a video?

Your time-lapse video needs to be put together once all of your photographs have been taken. FFmpeg is the tool we'll be utilizing to generate our timelapse video. The command to download the package is as follows:

Allow the installation to be complete before moving on. Using this command, you can create a finished video:

Pic%04d.jpg corresponds to the image filename you specified in the preceding section. If you have previously changed this name, please do so here. With the -r option, you can specify how many frames per second you want to record. When creating a time-lapse video, replace the phrase video-file with your name. Make sure to keep the .mp4 file extension.

What is FFmpeg?

A high-speed audio and video conversion tool that can also capture from a webcast source is included. On the fly, video resizing and sampling can also be done with high-grade polyphase filters.

A plain output URL specifies an indefinite number of outputs that FFmpeg can read from (standard files, piped streams, network streams, capturing devices, etc.), whereas the -i option specifies the number of input files. An output URL is encountered on the command-line interface that cannot be treated as an option.

Video/audio/subtitle/attachment/data streams can all be included in a single input or output URL. The container format may limit the quantity or type of stream used. The -map option can map input streams to output streams, either automatically or manually.

For options, input files must be referred to by their indices (0-based). It's not uncommon to have an infinite number of input files. Indexes are used to identify streams inside a file. As an illustration, the encoding 2:3 designates the third input file's fourth and final stream. In addition, check out the chapter on Stream specifiers.

  1. Using Photo timer

A Python library named phototimer will be used to control the raspistill command-line that comes pre-installed on the Raspbian OS.

  • With the use of this tool, we're able to add valuable features like:
  • Set a time frame for your day.
  • After capturing a photo, create a date-based folder such as:

Let us install docker to use this tool

Using docker, you can develop, analyze, and publish apps in a short time. To run phototimer with Python installed, you'll need to use Docker with Raspbian Lite.

  • Automatic restarts of the time-lapse

A new location does not necessitate an SSH login. The lapse of time will be restarted.

  • Easy setup

Download the Docker image, activate the camera interface, and start the container instead of executing a git clone on each device.

  • Easy access to logs

If you disconnect from the container, docker will keep track of the log information and will enable you to reconnect at any time.

Install Docker in Raspberry pi

We can easily set up docker with the following set of commands.

Clone the phototimer GitHub repository

Download the docker file as a zip as shown below

Or use the terminal by copying the phototimer code as shown here:

If git isn't already installed, use the following command to add it:

Edit the config file

By modifying the config.py file, you can change the time-appearance lapses and duration.

  • Set the hours

You will likely want to alter the default time-lapse settings so that they better fit your requirements, which start at 4 am and end at 8 pm.

  • Set the quality level

For some reason, overall quality of 35/100 produces a substantially smaller image than one with a quality of 60-80/100. You can modify the file to determine how much space you'll need.

  • Flip the image

Depending on how your camera is positioned, the image may need to be flipped horizontally or vertically. True or False in each situation will have the same result.

  • Height and Width

To achieve a specific aspect ratio, you can change the height or width of the image in this way. The default setting is what I use.

The Docker container must be re-built and restarted every time you change your setup.

Now let`s build a Docker container

When docker does a build, it will construct an image from the current directory's code and a base image, like Debian.

The most crucial part is that the image we create right now contains everything our application might want.

For those just getting started, these are some helpful keyboard shortcuts and CLI commands:

Start the timelapse

Let us configure the time zone for docker

The default time zone for the Docker container is UTC. If you're in a different time zone, you'll want to adjust your daylight savings time accordingly.

Docker can be configured to run in your current local time by adding the following additional option to the command:

As a result, the following is what a time-lapse in Texas, United States, might look like:

Below are some time-lapse images taken from the raspberry pi camera.

How can we save the file to our laptop?

To save your photos to your laptop, follow these steps once you've captured a few pictures:

The ssh and SCP functions are included in Git for Windows, which may be installed on Windows.

Connectivity options

You'll need a way to connect to your new rig when you're not near your wi-fi router if you plan on doing the same thing I did. There are a few ideas to get you started:

Use a USB OTG cable

All Pi models allow networking via USB, and it is very straightforward to establish and will not interfere with the wi-fi network. You will have to bring a USB cord to each new site to directly change the Wireless SSID/password on the pi.

Drop a wpa_supplicant.conf file into /boot

Plugging an SD card into your computer while on the road allows you to update your wi-fi configuration file easily, provided there is an SD card adapter nearby. The existing configuration will be replaced with this new one on the next reboot.

Setup the RPi as a wi-fi hotspot

If you're comfortable with Linux, you can use hostapd to create your hotspot on the RPi. To connect to your Raspberry Pi, you'll need a computer with an Ethernet cable and a web browser.

Install your wi-fi Username and password and use that to start/stop timelapse capture and download files if you won't be using the rig outside your location.

How to edit the video

The imported files should be in the correct order if you drag them onto the timeline after they've been imported, so be sure to do that. The crop factor should be set to "fill." Instead of 4.0 seconds, use 0.1 seconds for the showtime every frame.

  1. Transfer files to the Raspberry Pi using SCP

It is often necessary to transfer documents between the Linux laptop to an industrial Raspberry Pi for testing purposes.

Occasionally, you'll need to transfer files or folders between your commercial Raspberry to your computer.

There is no longer a need for you to worry about transmitting files via email, pen drive, or any other method that takes up time. Automation and industry control can help you automate the process in this post.

As the name suggests, SCP refers to secure copy. This command-line application lets you securely transfer files and folders between two remote places, such as between your local computer and another computer or between your computer and another computer.

You may see SCP info by using the command below:

Using SCP, you can transfer files to the RPi in the quickest possible manner. There is a learning curve associated with this strategy for novice users, but you'll be glad you did once you get the hang of it.

  1. Enable SSH

You must activate ssh on your Raspberry Pi to use SCP.

Converting to GIF

A free program like Giphy can help you convert the videos to a GIF; however, this will lower the number of frames.

Conclusion

We learned how to use the Raspberry Pi to create a time-lapse animation in this lesson. In addition, we looked into the pi camera raspistill interface and used FFmpeg and phototimer to create a time-lapse. We also learnt how to interface our raspberry pi with our pc using ssh and transfer files between the two computers. The following tutorial will teach how to design and code a GPIO soundboard using raspberry pi 4.

Real-Life Examples of Workflow Automation

Hi Everyone! Glad to have you on board. Thank you for clicking this read. In this post today, I’ll cover Real Life Examples of Workflow Automation.

Workflow automation is a talk of mainstream conversation. Many employees use this process in their organizations but they are not aware of this term. Workflow automation is a process used to automate manual and repetitive time-consuming tasks. It requires a series of tasks that need to be completed in a sequential manner where the process goes from start to finish with a definite goal in mind. For instance, onboarding new clients and approving leave requests are susceptible to errors when done manually. However, with workflow automation software, these tasks are done automatically without human intervention, leaving no room for mistakes or failure.

Real-Life Examples of Workflow Automation

In this digital transformation stage, it is almost impossible to handle the influx of data manually. This is where digital technology comes to rescue you. With workflow automation, you can streamline business processes in a way that requires less time and hard work and guarantee optimal results.

We’ve compiled 7 real-life examples that use workflow automation to bring value to your business where you can automate routine tasks, allowing you to pay careful attention to the business objectives that matter.

1: Creating Expense Reports

Expense reports are a hassle. You require these reports to reimburse the money employees pay out of their pocket. Companies need to ensure their finances and expenditures are in check to make sure they don’t go out of budget anytime soon.

When employees spend money on travel or any business purpose outside the company premises, they feel uncomfortable finding all those receipts to submit as proof of purchase. And for the finance department, this process is painful since they need to do a lot of physical paperwork and fill spreadsheets to reimburse money to the employee.

Solution? Workflow automation.

With workflow automation tool, creating expense reports are like a walk in the park. Employees can use this tool on their smartphones. All they need to do is click the image of the receipt and upload it in the app, and send it to the manager for approval. The manager can check the details at a glance and can immediately approve it and send it to the finance department for reimbursement.

2: Onboarding New Hires

The first impression is the last impression. So make it count. If new hires experience a positive onboarding process, they are more likely to stick with the company.

Manual filling of personal information and compliance documents is prone to mistakes that will leave a negative first impression on the new hires. This situation can be avoided with workflow automation.

Incorporating workflow automation software in hiring new candidates will make the process smooth and accurate, putting both executives and new team members on the same page. This way the manager you will work under can overview your background at a glance and assign tasks to as best of your capabilities.

3: Instant Task Creation

No matter the organization, assigning new tasks to the individuals takes time and requires deliberate effort. It is very challenging to manually keep the record of tasks assigned to each individual. This is where workflow automation comes in handy.

For instance, Flokzu is a workflow process management software that you can use to visually create the outline of each task to be completed. Moreover, it comes with a reporting system that lets you know about the pending task when it is completed and automatically assigns the new task to the relevant team member.

4: Organizing Leave Requests

Traditional handling of leave requests is outdated. You can’t consistently keep in check whether the company is working with a full labor force. If handled manually, you always need to enter the time when an employee is away, which is a painful and tedious job. Workflow automation makes this process effortless.

Once the manager approves your leave request, the workflow automation software will automatically monitor the time when the employee is away and make it sync with the payroll. So, the time-off duration will automatically be deducted from your paycheck at the end of the month. This way manager can keep the record of employees working in the company at the same time and those away, making sure the required number of employees are present in the organization.

5: Simplified Data Procurement

Data procurement is a fundamental component of your business growth. It helps you make an educated decision around the calculated data to handle business operations efficiently. With the deep insights into the raw materials entering the manufacturing department, you can find areas of improvement immediately.

When handled manually, data procurement can lead to data loss, more time spent and reduced productivity from the labor workforce. However, automated systems, on the other hand, help you monitor data on a single screen and allow the manager to efficiently revisit the strategic decisions and improvise on them for better results.

6: Effective Customer Support

Impeccable customer support is the prime pillar of any agency. You want to turn customers into recurring customers, which is only possible when their queries are handled and requests are answered immediately. The main purpose of any customer support is to bridge the communication gap between customers and the agency so they keep coming back for what you have to offer.

And with workflow automation, you can bridge this gap and delight the customers with consistent and reliable processes from ticket creation to ticket closure. When you submit the ticket, your request is transferred to the relevant department which might involve getting back and forth between departments until you get the email when the issue is resolved. Some companies use online chatbots where the queries of customers are handled immediately without any delay. Know that when repetitive and mundane activities are automated, team members can pay attention to value-added endeavors.

7: Faster Invoice Generation

Invoice generation is necessary to balance the books of any organization. According to reports, one accountant can process 5 invoices per hour manually and charge $19.24/hour. In conclusion, one invoice costs $4 to manually process it.

With workflow automation software this cost can be significantly reduced. You can, for instance, subscribe to invoice generation software QuickBooks ($12.50/month) and can generate scores of invoices at a low cost.

If you integrate a payment platform like PayPal with an invoice generation tool like QuickBooks; whenever you buy anything, the system will cut money from the former and an automatic electronic invoice will be generated in the latter.

Final Thought

Workflow automation is an effective way to manage complex business tasks. But while this process is in practice, it doesn’t mean you have to adapt it anyway. What’s working for other companies might not work for you. For instance, tasks that are not repetitive and time-consuming, you might prefer doing them manually since it may require more time and budget to put them on an automated system. Similarly, the tasks like system failure or hacking, when this occurs you instantly need human involvement. Make sure you do your due diligence before incorporating workflow automation into your business, so you can reap more benefits than your competitors.

That’s all for today. Hope you’ve enjoyed reading this article. Feel free to share your valuable feedback and suggestions to improve our content. If you have any questions, ask me in the section below. I’d love to help you the best way I can. Thank you for reading this article.

Introduction to Organic Chemistry

In this article, we will discuss the introduction to organic chemistry in which we will study organic compounds, classification of organic compounds, types of formulas, use, significances, general and covalent bond characteristics of organic compounds, and homologous series and his characteristics. 9 out of 10 takes the organic chemistry too tough but I explained it easily and simply to you. This article is for beginners and clears many topics.

Introduction to organic chemistry

Old Definition:

“The chemistry of compounds obtained from living things.”

Vital force theory

Swedish Chemist Jacob Berzelius put forward this theory in the 19th century.

State

“ Organic compounds could not be synthesized in the laboratory due to the influence of a mysterious force called vital force, which occurs only in living things.”

  • This theory falls in 1828 when Wohler prepared urea by heating it from ammonium cyanate.

Equation

 
  • Also in 1845 when Kolbe prepared acetic acid in the laboratory.

Advanced definition;

The branch of chemistry in which we study hydrocarbons and their derivatives is known as organic chemistry.

Organic Compound:

Organic compounds belong to hydrocarbons and their derivatives which are covalently bonded to carbon.

Examples

There are so many examples of organic compounds

  • Carbohydrate
  • Artificial fibers
  • Fertilizers
  • Plastics
  • Paints
  • Dyes
  • Pharmaceutical products
  • Lipids
  • Enzymes etc.

Chart

Formulas of organic compounds:

Organic compounds had six types of formulae;

  1. Molecular formula
  2. Structural formula
  3. Condensed formula
  4. Dot and Cross formula
  5. Empirical formula
  6. Skeleton formula

Molecular formula:

The formula In which the exact no of atoms is mentioned in one molecule of the organic compound is called the molecular formula.

Examples

The molecular formula of methane CH4.

  • Methane is made up of one carbon atom and four hydrogen atoms.
  • Each molecule of methane consists of one carbon atom and four hydrogen atoms.

Structural formula

The formula of organic compounds shows the actual arrangement of different atoms of various elements present in a molecule.

  • The structural formula of organic compounds differs but may have the same molecular formula as propane
  • A single bond represents a single line(__)and double bond show double lines (=) and a triple bond show three lines in a structural formula.

Example

The structural formula of propane is

Iso_ propane

Condensed formula

The formula in which groups of atoms are linked with each carbon atom in a branched-chain or straight chain.

Example

The condensed formula of propane

Iso_propane.                                                                                  n_propane

Electronic or Dot and Cross formula

The formula in which sharing of electrons in a dot and cross-form between the various atoms in one molecule is indicated is called electronic or Dot and Cross formula.

Example

Empirical formula

In which whole, no ratio of different atoms in a compound gives the empirical formula of organic compounds

Example

Skeletal formula

The essential form of structure of an organic compound makes a series of atoms that are bonded together in the form of a chain, branched, or rings called the skeleton formula.

Example

skeleton formula of propane is

Classification of organic compounds:

Depending upon their carbon atoms, organic compounds are divided into two categories.

  1. Open chain or acyclic compounds
  2. Closed chain or cyclic compounds
Open chain or Acyclic compounds:

Acyclic compounds form a long chain of carbon atoms without joining the end of the cross-format with each other. They may form straight or branched chain compounds

  • Straight chain compounds
  • Branched-chain compounds

Straight chain compounds

A straight-chain is formed by the linking of carbon atoms with another carbon atom or any other atoms through single, double, or triple bonds.

Example

propane

Branched-chain compounds

Open chain compounds i.e. aliphatic compounds in which a branch along with a straight chain is formed.

Closed chain or cyclic compounds

The carbon atoms of closed chain compounds are not free from their ends and it contains one or more close chains. These are divided into two groups

  1. Homocyclic or carboxylic compounds
  2. Heterocyclic compounds

Homocyclic or carbocyclic compounds

These compounds are made up of rings of carbon atoms. These are further divided into two groups.

  1. Aromatic compounds
  2. Alicyclic compounds

Aromatic compounds

Aromatic compounds consist of benzene rings at least one in their molecule. Six carbon atoms with three double bonds make a benzene ring, these compounds are also called benzenoid compounds. They have aroma or smell so they are also called aromatic compounds.

Example

Alicyclic compounds Or none_benzenoid compounds

These are called none_ benzenoid compounds because the benzene ring is not present in these compounds.

Example

Heterocyclic compounds

Those cyclic compounds that consist of one or more atoms other than that of carbon atoms in their rings are known as heterocyclic compounds.

Example

Chart

The classification of known compounds is as follows

so the organic compounds are open or closed chains. Open chains are further divided into alkane, alkene, and alkynes. Closed chains may be homocyclic or heterocyclic. Homocyclics are alicyclic or aromatics.

Major sources of organic compound

From plants and animals, organic compounds are naturally prepared.

From animals:

Protein and fats are the two major groups of organic compounds that are synthesized by animals.

  • Protein included chicken, egg format and mutton, etc.
  • In milk and butter fats are present.

From plants

Plants could be prepared

  • Fats
  • Vitamins
  • Proteins
  • Carbohydrates

From dead plants through a biochemical process, we obtain

  1. Coal
  2. Gas
  3. Petroleum

By the destructive distillation of coal and petroleum, we obtain thousands of organic compounds.

Coal

A blackish, complex mixture of organic compounds of carbon, hydrogen, and oxygen is called Coal

In the absence of air, strong heating of coal is called Destructive distillation.

Distilled products of coal

Except for carbon, coal contains different elements like hydrogen, oxygen, sulfur, and nitrogen.

So huge number of organic compounds are formed due to the destructive distillation of coal with few inorganic compounds.

Products:

  1. coal gas
  2. coke
  3. Coal tar
  4. Aluminum liquor

Fractional distillation of coal

Coke

When coal is passed through the destructive distillation process. A solid residue left behind and lost all of its volatile elements is called coke.

Fractional distillation

The techniques, in which different ranges of temperature are used to separate the mixtures of the coal in terms of temperatures. we get different products at different ranges of temperature.

Uses of coal

  • Used in the preparation of nitrogenous fertilizer.
  • Used in roads and leveling of roads.
  • In the extractions of metals, especially iron is used as a reducing agent.
  • Used mainly in fuel.
  • Used in plastics, synthetic fibers, and pesticides.

Chart

The below chart shows the uses and types of coal

Petroleum

A Greenish black or dark brownish colored viscous liquid is called petroleum.

It is a complex mixture of salt, water, and Earth particles mixed with a mixture of serve solid, liquid, or gaseous hydrocarbons.

As a Source of organic compounds

The main source of organic compounds is petroleum and it is separated through fractional distillation. Different organic compounds consist of each fraction of petroleum that is not a single compound.

Natural Gas

Natural gas consists of serial gases like 85% of methane, nitrogen gas, carbon dioxide, propane, butane, and ethane.

Uses

  • Used in fertilizer
  • Making carbon black
  • Compressed natural gas (CNG) is used in automobiles.
  • Use in different industries and as well as in homes.

Plants

Macromolecules are formed by living plants

  • Oils
  • Vitamins
  • Proteins
  • Carbohydrates

Use

  • Gums
  • Rubber
  • Medicines

Prepare in laboratory

Two centuries ago, due to the vital force theory, we considered that organic compounds are prepared only from animals and plants and could not be synthesized in the laboratory.

But

A large amount of the organic compounds, almost more than ten million are synthesized in a laboratory.

  • Wohler synthesis urea in laboratory
  • Kolbe prepared Acetic acid
  • Drugs and medicines
  • Fragrance and flavors
  • Pesticides and insecticides
  • Synthetic rubber and fibers
  • Plastic and paints.

Synthesized products in the laboratory from animals and plants

Urea

Urea opens the way for chemists to prepare organic compounds in the laboratory and it is synthesized by inorganic salts.

Example

The fermentation of barley and molasses produced alcohols.

Natural Rubber

Synthetic rubber has much more qualities than natural rubber-like

  • Non-inflammable
  • Resist high temperature
  • No reaction between ozone and oxygen

Synthetic fibers

Different fibers are made in laboratory-like

  • Nylon
  • Rayon
  • Polyester etc.

Natural fibers have better properties than synthetic fibers like

  • The ability of low water absorption
  • Greater strength
  • Good elasticity

Drugs and medicines

All proteins, sweeteners, vitamins, drugs, and medicines are being prepared in laboratories.

Uses of organic compounds

There is no doubt that more than ten million compounds are made in the laboratory but thousands of organic compounds are naturally synthesized by plants and animals.

Use in food

We use different organic stuff daily such as milk, eggs, vegetables meat, etc. contain protein, vitamins, fats carbohydrates, etc.

Use in cloth

Natural fibers and synthetic fibers, all are organic compounds used in cloth making that we use daily for wearing bedsheets, etc.

Use in raw materials

A variety of organic compounds are used in raw materials such as

  • Drugs
  • Paper
  • Ink
  • Dyes
  • Paints
  • Pesticides
  • Rubber etc.

Use in wood

cellulose naturally occurring organic compound in wood that is used for making furniture and housing.

Use in fuel

Coal, petroleum, and natural gas are all organic compounds called gospel fuel that is used for domestic purposes and automobiles.

Use in medicine

antibiotics (kill or inhabitants of microorganisms that cause infectious diseases) are life-saving medicines.

Characteristics

The general characteristics of Organic Compounds include:

  • Can be separated as well as prepared in the laboratory
  • Comprise almost 90% of all known compounds.
  • Mostly accumulated of only three elements- carbon, hydrogen, and oxygen. Other elements like halogen and nitrogen besides phosphorous are also existing but to a small extent.
  • Retain complex patterns and high molecular weights
  • Their properties are determined by a specific active atom or group of atoms recognized as the functional group.
  • They are primarily insoluble in water but soluble in organic solutions.
  • They are flammable
  • Chemical reactions comprising organic compounds continue at slower rates.

Characteristics due to Presence of Covalent Bonds

A covalent bond is a chemical bond that influences the sharing of electrons pairs between atoms in a switch resulting in a balance of impressive and despicable forces between the atoms. The presence of a covalent bond renders specific elements to the organic compounds. These include:

  • Low melting points and boiling points.
  • Organic acids and bases are powerful and thus they have a particular dissociation in an aqueous medium.
  • They express the process of isomerism in which an isolated molecular formula characterizes several organic compounds varying in physical and chemical properties.
  • They are flammable.

A major characteristic of Members of Homologous Series

A Homologous Series is a community of organic chemical compounds, usually summarized in the order of increasing size, that have an identical structure (and hence, also similar properties) and whose structures vary only by the number of CH2– CH2 units in the fundamental carbon chain.

They maintain the following general characteristics:

  • A common formula defines the members of the homologous series.
  • Succeeding members differ from each other by CH2CH2
  • Physical properties change regularly with an increasing number of carbon atoms.
  • Members have similar chemical properties because they have an identical functional group because can be assembled using the same method.

Significance of Organic Compounds

  • Organic compounds are important because all inhabiting organic compounds contain carbon.
  • While carbohydrates, fats, the basic structures of life, are organic compounds
  • They are the basic units of many of the cycles that move the earth. For instance, the carbon cycle comprises the deal of carbon between plants and animals in photosynthesis and cellular respiration.
  • Organic compounds get together with metals to form organometallic compounds. These compounds are valuable industrially. They are employed as catalysts, promoters, analyzers as well as stabilizers.

So this is all for our today's article. I have tried my best to explain all the important topics covered in the heading " Introduction to Organic Chemistry". So if you want more tough articles in simple ways then give me good feedback. It will help me for better work. Thanks

How Workflow Automation Can Benefit Small Businesses?

Hi Friends! Hope you’re well today. I welcome you on board. In this post, I’ll walk you through How Workflow Automation Can Benefit Small Businesses?

Reduce the possibility of human error, save time and improve efficiency – The main goal of workflow automation. If your employees spend a lot of time on mundane and repetitive tasks, it’s a high time to invest in workflow automation. Especially if your business is small and you are in the early stages to leave a footprint in the competitive market. You can’t afford to hire scores of employees to do predictable tasks that you can automate with workflow automation. For instance, follow-up emails and sales calls, finance approval and invoice generation, and onboarding new employees, you can automate these tasks without having to worry about hiring someone to handle them manually.

Curious to know how workflow automation can benefit small businesses?

Keep reading.

How Workflow Automation Can Benefit Small Businesses?

Before we proceed further, we’ll cover what workflow automation is?

Workflow automation is the process to automate manual repetitive tasks to improve efficiency and reduce human error. When you apply technology to business operations, you can effortlessly translate the manual handling of processes into automation. This way employees can spend more time on value-added tasks that require a human touch and brainstorming.

What’s more, with workflow automation you can monitor employees’ performance and can immediately apply tweaks to revisit your strategic decisions. Plus, you don’t need a technical IT team to streamline processes, improve reporting and integrate two or more apps. Apps like Zapier do it for you. It involves creating Zaps that is creating links between business tools. For instance, it can integrate a website, CRM software, and messaging app to improve productivity and bridge the communication gap between customers and the agency.

Benefits of Automating Your Business

The following are the core benefits of incorporating automation into your business.

 

Increased Productivity

Chasing down people across departments is so frustrating, especially when you don’t know the current status of the file. With workflow automation, you can monitor the workflows online and get an instant alert to set priorities. This improves the productivity of the employees, allowing them to be better prepared for the pending tasks.

Lower Costs

Employees are the backbone of any industry. But you need to keep your budget in check while getting employees on board. You can significantly reduce the cost of labor workload if you automate some of your business processes. For instance, freeing employees from doing predictable and mundane tasks will help you invest in the things that involve human input.

Get Creative

When employees are free from manual tasks such as data entry, form filling, and invoice generation, they will find more time for brainstorming and get creative on the tasks that require innovation and emotion. The potential to apply intelligence, sensitivity, and expertise on the product level allows companies to deeply connect with the customers and deal with their questions and queries with deliberate intention.

Remote Work

When the pandemic hit, the demand for remote work increased more than ever before. Not everyone can manage to do an in-house job in a time of crisis. Companies that know how to manage the workforce remotely can effectively capitalize on the given resources. With workflow automation, you can seamlessly connect employees from different parts of the world. For instance, Google Drive, and DropBox allow the companies to share files across departments, and tools like Loom allow them to have full visibility of the teams.

Business Tasks That Require Automation

What tasks do we need to automate? The answer is simple: Tasks that are repetitive and require approvals and smooth communication. Following are the five tasks that you can automate in your business.

Expense Reimbursement

At times employees have to spend money on the best of money for business purposes. Companies can’t instantly pay those employees who pay out of their pocket. And when they apply for reimbursements, they come across a hassle process especially when reimbursements are handled manually.

To effectively handle such scenarios, automation is the solution. Incorporating workflow automation prevents employees to chase hectic approvals and make regular visits to the finance office. Automation makes this process straightforward. Employees simply upload the receipts on the software which instantly gets connected with the manager for approval. Once the manager grants approval, receipts move to the finance department and they release the money spent by the employees.

Onboarding New Hires

First impression is the last impression especially when it comes to onboarding new hires. The seamless onboarding process tells a lot about employees if they are going to stick with the company for a longer time.

Tasks like updating new hires, documents approval, and follow-ups can be automated before candidates even join the company. Plus, you can effortlessly communicate and assign them the tasks so they are better prepared when they embrace the new role. Automation removes the tedious paperwork and mundane approvals, allowing both employer and employees to come on the same page without the need to back and forth face to face interaction.

Vacation Requests

Every organization deals with the influx of leave requests regularly. If organizations still use traditional ways to approve requests, they might already know it’s a tedious process. At times manager feels difficulty in managing the required number of employees in the company. One employee might want the same day off already applied by another employee. If handled manually, it is very challenging to keep the record of employees with days off or those who want particular time away from the company.

Workflow automation removes this uncertainty and makes sure the company doesn’t go understaffed. Automation software tracks and keeps the record of the time of those away and the manager can instantly approve the leave requests by scanning everything on the single screen. Software is stuffed with an online form to let employees know which days are available or unavailable that automatically limits two employees requesting the same days off.

Data Procurement

No matter the type and size of your business, data procurement is a critical part of every business. It is a process that consists of a series of functions required to obtain goods and services from the vendor and keep a record of how these services and goods are used to achieve business goals. The effective use of the procumbent function directly influences the cost-saving objectives of the agency. Yes, by analyzing the data you can revisit decisions if you need to change vendors and suppliers. Data procurement goes beyond the purchase of goods and services. For instance, it also includes a better understanding of the performance of all business units, supplier performance, risk and compliance management, and contract utilization.

Manual processing of data procurement often leads to compromised risks like operational risks, delivery risks, and potential frauds. Moreover, inaccuracy and inefficiency are other issues that result from the manual handling of data. However, with automation procurement software these issues can be avoided. Automating vendor management and purchase orders guarantee enhanced compliance and greater productivity.

Instant Invoice Generation

Invoice generation is an integral part of any business. Effective invoice generation builds trust and allows clients to stay in touch with your business and keep coming back for what you have to offer. If you create invoices manually, you might need to generate an invoice every time to request payment from the client. However, with workflow automation this process becomes transparent, preventing you from entering information every single time to request the next payment. A smart automation solution comes with automation of data entry, matching prices, transferring digital payments, managing purchase orders, and more. Generating digital invoices is crucial for businesses to keep up with the modern trends and compete with rival brands.

Final Thought

When you start a small business, you need employees to keep it up and running.

However, it’s probable in the early stage of your business you’re tight on budget.

To combat this, a smart automation solution is key.

No advanced automation solutions are required. Some vendors offer low-cost solutions that perfectly fit your budget.

From vacation requests and invoice generation to data procurement and onboarding new hires, you can automate workflows for your business growth.

Know that not every business task requires automation, since some mission-critical tasks like system failure and hacking demand instant human involvement to run a business without delays.

That’s all for today. Hope you’ve enjoyed reading this article. If you have any questions, you can ask me in the section below. You are most welcome to share your experience of incorporating workflow automation into your business. Thank you for reading the article.

LED blinking with Raspberry Pi Pico and MicroPython

Hello readers, I hope you all are doing great. In our previous tutorials on raspberry pi Pico, we discussed the basic features, architecture, download and installation of development environments for raspberry Pi Pico programming. In this tutorial, we will learn how to access and control Raspberry Pi Pico and its GPIO pins to implement LED blinking using MicroPython.

Introduction

Raspberry Pi development boards are quite popular and frequently used among students and hobbyists. But the drawback of Raspberry Pi is their cost i.e., around $35-$45. So when cost of the development board is of prime importance the users prefer to use ESP8266, ESP32, Arduino, PIC etc. over Raspberry Pi. To overcome this drawback, Raspberry Pi foundations designed a new board i.e., Raspberry Pi Pico which is a cost effective solution for costlier Raspberry Pi boards.

Raspberry Pi Pico is a cost-effective development platform designed by Raspberry Pi which has enough processing power to handle complex task. It is a low cost and yet powerful microcontroller board with RP2040 silicon chip.

Prerequisites

  • Raspberry Pi Pico Module
  • Latest version of Python
  • Latest version on Thonny IDE should be installed on your system
  • MicroPython setup installed in Raspberry Pi Pico

We have already published tutorials on how to download and install the above mentioned software components.

Follow the given link for detailed study of Raspberry Pi Pico: https://www.theengineeringprojects.com/2022/04/getting-started-with-raspberry-pi-pico.html

Programming Raspberry Pi Pico

To program Raspberry Pi Pico board there are various development environments available (like uPyCraft IDE, Visual Studio Code, Thonny IDE etc.) and multiple programming languages as well. In this tutorial, we are going to use Thonny IDE to program the Raspberry Pi Pico board.

Installing Thonny IDE for Raspberry Pi Pico Programming:

We have already published a tutorial on installing Thonny IDE for Raspberry Pi Pico Programming. Follow the given link to install the IDE: https://www.theengineeringprojects.com/2022/04/installing-thonny-ide-for-raspberry-pi-pico-programming.html

The Raspberry Pi Pico board comes with an onboard LED which is internally connected with GPIO 25. So first we will discuss how to access the on board LED and then will interface an external one.

Controlling (Blinking) Raspberry Pi Pico’s on board LED:

  • Open the Thonny IDE.
  • Connect your Raspberry Pi Pico board with your system (laptop or desktop).
  • To create a new project; go to Files >> New.

Fig.

  1. Write the program to blink the inbuilt LED with a particular delay.

Programming

Steps included in programming the Raspberry Pi Pico to make the onboard LED to blink are:

  1. Importing necessary files from machine

“from machine import Pin, Timer”

  1. The onboard LED is internally connected to the GPIO 25 of the raspberry Pi Pico board. So, the next step is creating LED object from pin 25 and setting the GPIO25 as output pin.

“led = Pin(25, Pin.OUT)”

  1. Toggle the LED: toggle() command is used to blink the onboard LED.

“ led.toggle()”

  1. Save the program.
  2. Save the program. We can save the program either on computer or on Raspberry Pi Pico board.

Fig. Save the program

  1. Run the code.

Fig. Run the code

Note: If you are already running a program on Raspberry Pi Pico board then press ‘Stop’ before running a new program.

Code to blink onboard LED

from machine import Pin, Timer

led = Pin(25, Pin.OUT)

timer = Timer()

def blink(timer):

led.toggle()

timer.init(freq=2.5, mode=Timer.PERIODIC, callback=blink)

Result

Fig. Blinking On-board LED

Interfacing peripherals (LED) with raspberry Pi Pico

Table 1

Fig. Iterfacing LED with Raspberry Pi Pico

Programming

Steps included in programming the Raspberry Pi Pico to make the peripheral LED to blink are:

  1. Importing necessary files from machine: We are importing two files one is to access GPIO pins and another for accessing timer functions.

“from machine import Pin”

“import time”

  1. Create LED object: We have multiple GPIOs available where we can interface peripheral LED. So we are using GPIO_14 of Raspberry Pi Pico board.

Create an object ‘led’ from pin14 and set GPIO pin14 to output.

“led=Pin(14,Pin.OUT)”

  1. Making the onboard LED to continuously blink: We are using the ‘while loop’ to make the inbuilt led blink continuously.

“while True:"

  1. Setting LED high: Thevalue()’ command is used to set the peripheral LED as high where we are passing ‘1’ as an argument for HIGH output.

“led.value(1)”

  1. Adding delay: A delay of 1 second is added to make the led blink.

“time.sleep(1)”

  1. Setting LED Low: Argument ‘0’ is passed inside ‘led.value()’ command to set the led as LOW.

“led.value(0)”

  1. Save the program either on Raspberry Pi Pico board or on your system..
  2. If you are already running a program on Raspberry Pi Pico board then press ‘Stop’ before running a new program.

Result

Fig. Interfacing and Blinking LED with raspberry Pi Pico

Code

from machine import Pin, time

led=Pin(14,Pin.OUT) #Creating LED object from pin14 and Set Pin 14 to output

while True:

led.value(1) #Set led turn ON

time.sleep(1)

led.value(0) #Set led turn OFF

time.sleep(1)

Conclusion

This concludes the tutorial, we hope you find this of some help and also hope to see you soon with a new tutorial on Raspberry Pi Pico programming.

Top 10 Workflow Automation Software

Hi Friends! Happy to see you around. Thank you for clicking this read. In this post today, I’ll walk you through the Top 10 Workflow Automation Software.

Running a business is not an easy job. It requires a lot of deliberate effort and careful attention to run business processes successfully. Some tasks involved are repetitive and time-consuming, making it difficult for you to do them manually. This is where workflow automation comes in handy that doesn’t require human intervention and can be used to effectively manage and execute business processes.

Curious to know about Top 10 workflow automation software?

Scroll on.

Top 10 Workflow Automation Software

Workflow is a process that requires a lot of steps to be completed in a sequential manner. The process goes from start to finish and normally involves people or systems.

Workflow automation software is a tool used by most businesses to automate repetitive and time-consuming tasks. This tool is usually employed to improve employees’ efficiency, reduce errors and increase revenue. From lead management, sales, and marketing, to finance and accounting, this tool is used to automate manual processes. Some software come with flexible customization options, allowing you to develop and modify workflows as per the business needs.

Mainly two types of software are used: no-code tools and low-code tools.

No-code tools come in simple drag-and-drop and flow chart settings that you can use with no coding skills or technical expertise while low-code tools, on the other hand, require a little bit of technical knowledge to get a hands-on experience of them. But don’t worry, you don’t require a software degree to use them, if you pay careful attention, you can learn them yourself on the go.

Listed below are the top 10 workflow automation software used by organizations.

1: Zapier

Zapier is a user-friendly automation tool that helps you automate business processes. It comes with thousands of pre-crafted templates that you can customize based on your business needs. Building a zap is just one click away. Plus, you can add tailor-made workflow logic and multiple steps to automate tasks that would otherwise be completed manually.

Unique Features:

  • A free forever plan is available that gives you access to 100tasks/month and existing applications. However, starter, professional, team, and company plans are also available. Choose what fits your budget and business objectives.
  • Allows 3000+ applications to work together. You can incorporate any kind of app and can make two apps work together to automate tasks.
  • Comes with a top-notch security system and world-class support. Your data is in safe hands where professionals know how to effectively handle your business processes.
  • Allows you to build intelligent workflows that work on the conditions you set.
  • Zapier is a noise-free software that can effortlessly run in the background and gives you a notification alert when tasks in the workflow are completed.

2: Nintex

Nintex is an intelligent no-code workflow automation tool that helps you easily optimize and manage processes. Trusted by more than 10,000 organizations, Nintex allows you to create result-driven workflows with a workflow cloud which means your data is managed and stored over the internet. Setting you free from creating and managing in-house data centers. Automate the manual, repetitive, and time-consuming tasks with just a few clicks.

Unique Features

  • Offers a drag-and-drop visual builder that allows you to create complex workflows on the go.
  • Gives analytics of the processes, helping you figure out the inefficiencies and improve upon them.
  • Even though vendors give you the option to use Nintex on the cloud, in-house and hybrid settings are also available which means you can manage data on-premises or in the hybrid environment: a combination of both cloud and in-house settings.
  • Perfect your automation journey with pre-built templates, allowing you to build over 1 billion workflows every year.
  • Starts with a 30-day free trial followed by $910 per month for 10 workflows with unlimited users and includes advanced forms, Mobile, DocGen®, and Xtensions. Nintex enterprise pricing is also available that starts at $1400 and comes with Nintex Analytics and Nintex App Studio to develop process apps.

3: Kissflow

Kissflow is a market leader in workflow automation that allows users to develop workflows with the visual builder. Integrated with a sleek interface and drag-and-drop settings, Kissflow helps companies to speed up the workflow processes from all-in-one workflow automation software. Moreover, the notification alert option gives you a deep insight into the performance of complex workflow automation processes.

Unique Features:

  • Offers six different pricing options that you can choose to scale up your team performance.
  • Designed for modern workflow, it is a perfect fit for e-commerce businesses and mobile-dependent organizations.
  • Trusted by 10,000 world leaders, Kissflow helps you automate tasks in customer support, marketing, finance, sales outreach, and human resource.
  • Highly recommended for small businesses that are just stepping into workflow automation.
  • Stuffed with over 50 pre-built process apps, Kissflow can manage your business processes promptly with one integrated platform.

4: Integrify

Integrify is a user-friendly workflow automation software that facilitates in building file approval workflow and custom documents. Plus, it incorporates a visual drag-and-drop builder that lets you visualize the workflows as you develop them. Its form builder allows you to monitor workflow automation, giving you an insight into inefficiencies so you can find areas for improvement.

Unique Features:

  • Easy-to-use workflow management software that comes with a drag-and-drop editor for creating complex workflows.
  • Offers free, pre-designed process apps so you don’t have to start from scratch.
  • Allows you to manage and complete tasks in business processes including human resources, sales, finance, and project management.
  • Prompt customer support is available where experts give you the technical support to automate your business processes.
  • Coupled with 15 years of experience, Integrify offers flexible subscription-based pricing. Pricing is available upon request.
  • Offers cloud and advanced cloud fully managed SaaS infrastructure. Moreover, the self-managed on-premises option is also available, allowing you to manage your infrastructure.

5: Flokzu

Flokzu is a workflow automation software that allows you to develop visual workflow models with a visual builder. It is a cloud-based process management tool that features a real-time reporting dashboard allowing you to get a hold of each stage your process is in, so you can make educated decisions for your future outcome. Gives you notification of each pending task, and as the pending task is completed, it automatically assigns a new task to the user.

Unique Features:

  • No coding skills are required. Visually create workflows to outline business processes.
  • Offers over 700 pre-built applications that you can connect with Zapier and Webservices.
  • Comes with cloud-based with end-to-end encryption, ensuring the security of your sensitive data.
  • Offers real-time process analytics that guarantees areas of improvement for your team.
  • Gives you an insight into pending tasks, tasks completed and the time it took to complete each task.
  • Features four pricing options that you can choose as per your business needs. Scale and speed up your business processes with simple and comprehensive monthly/yearly billing options.

6: Automate.io

Trusted by over 30,000 organizations from small enterprises to Fortune 500, automate.io is a process management automation software designed for industries where you can create simple workflows or sync data between two different apps. You can sequentially automate tasks in different business processes including lead management, sales outreach, content marketing, social media marketing, and more.

Unique Features:

  • Comes with 200+ renowned cloud tools including ZenDesk, Gmail, Google Sheets, PayPal, SalesForce, Mailchimp, Hubspot, and more.
  • No IT knowledge is required. Use a simple drag-and-drop builder to create integrations.
  • Connect multiple apps and create automated workflows on a single screen.
  • Include conditional logic, format data, and incorporate time delays in your workflows.
  • Features six pricing options from a 7-day free trial period to paid plans made for small to medium businesses. Though you can use the free plan, premium apps are included in the paid plans.
  • Incorporates Excess Actions Feature. Using it you can go above your monthly action quota. However, you are only billed additional charges for the extra usage at the end of the month.

7: Processmaker

Processmaker is a low-code automation tool used to create approval-based workflows with ease. A notification alert system allows you to get real-time reporting about the tasks to be created so you know exactly what’s happening inside each process. Industries that can benefit from this tool include healthcare, insurance, banking, higher education, manufacturing, and telecom.

Unique Features:

  • Opens opportunities to manage business processes across different departments including IT, finance, HR, design, and sales and marketing.
  • Drag-and-drop feature allows you to model canvas on a single screen.
  • BPMN 2.0 compliant, robust and powerful.
  • Connect with third-party systems through API and generate much more value from the existing data.
  • Four pricing options are available from app and standard to enterprise and custom. No matter your business requirements, it has a package to serve them all.

8: IFTTT

IFTTT stands for If This, Then That. It’s a powerful tool that works on conditional statements (called Applets) and executes processes when these conditions are met. It is mainly used to connect apps and allow services and devices to work together. Most popular applets are used in building a smart home environment. For instance, turning on the device with your voice, powering the security system upon leaving your home, and determining the temperature using the weather.

Unique Features:

  • Allows you to automate different routine tasks like tracking work hours through Google calendar, tweeting your Instagram photos as your native photos on Twitter, and getting weather forecasts every day.
  • Helps you to create your own applets or you can use pre-built applets with a few clicks.
  • Even though the Free plan is available with limited options, customizable applets are included in Pro and Pro+ pricing plans with features like multi-actions, queries, and filter code. You can use Pro and Pro+ with a 7-day free trial.
  • With around 700 services onboard, IFTTT allows you to integrate and automate your favorite services.

9: Monday

Trusted by over 152,000 customers worldwide, Monday is an open-source automation tool to streamline your everyday tasks. Build and customize workflows to improve the collaboration and productivity of your team. Stay connected with real-time notifications, so you know the performance of each task completed.

Unique Features:

  • Gives a visual overview of the business processes, allowing you to make business decisions with confidence.
  • Build custom dashboards and track progress to figure out inefficiencies.
  • Collaborate smartly to assign and prioritize tasks and know data analytics to learn where things stand at a glance.
  • You can start with a 14-day free trial. Plus, four paid plans are available that go from limited features to advanced features with more users.
  • Comes with the context option to be included upon uploading each file.

10: Asana

Asana is a project management software designed to remotely manage teams and assign tasks with one integrated platform. You can collaborate and build strategic project plans from anywhere. The notification alert feature gives you an insight into when the task is completed and what’s new on the table. Allows you to automate routine work so you can pay attention to what matters and adds value to your team.

Unique Features:

  • Helps you assign and organize tasks across teams so they know what needs to be completed urgently and when these tasks are due.
  • Gives you a visual overview of each process so you know what’s working and what things are not going as planned.
  • Comes with a cross-indexing option that lets you assign single tasks across 20 different projects.
  • Offers video messaging through Vimeo. Employees can record and embed new videos to effectively convey their message with confidence.

Final Thought

Workflow automation is critical for business growth. When repetitive and manual tasks are automated, you can improve the productivity of your team by paying attention to the actual business objectives. Using technology to your advantage is the best way to excel and grow in this digital transformation stage and leave a footprint in the competitive market.

That’s all for today. Hope you’ve enjoyed reading this article. If you have any questions, you can ask me in the section below. I’ll help you according to the best of my knowledge. Share your experience if you have used any workflow automation software before. Thank you for reading this post.

Web-Server Based Weather Monitoring System Using ESP32

Abstract: This paper is written to represent a web-server based real-time weather monitoring system implemented using the ESP32 module. The system is designed to measure the weather conditions like temperature, pressure, humidity etc, in its vicinity. This system continuously provides real-time data (weather conditions) over limited or controlled areas, for example, agriculture fields, homes or a particular room, industries etc. Although we have satellites for weather monitoring but to perform research over a particular area, the data observed should be highly accurate which is not possible with satellites. To implement an IoT network we need to use a webserver to continuously store and display the real-time data which can be accessed globally. ’ThingSpeak’ is a web service where one can upload and access (globally) with internet-connected devices. ESP32 will be acting as an interface medium between the various sensors and the web-server. ESP32 module is also responsible for collecting, processing and then communicating the data to the server. The real-time data stored on the web server can be further used for research and analysis of weather conditions of a particular place.

Keywords

ESP32, IoT, Temperature sensor, Humidity sensor, Pressure sensor, Altitude sensor, Arduino IDE, ThingSpeak.

Where To Buy?
No.ComponentsDistributorLink To Buy
1ESP32AmazonBuy Now

Introduction

The evolving generation of wireless technology has made human life a lot easier. Where everything is online and automatic we can easily monitor multiple things virtually from anywhere in the world. The WSN (wireless sensor networks) and Internet of things or IoT play an important role in implementing and accessing these wireless technologies. Smart homes, smart cities and smart weather monitoring systems are examples of such technologies where things are quite simpler or easier.

In this web-server based weather monitoring system, the weather data (from the surrounding environment or of a particular location) like temperature, humidity, pressure etc. is measured with the help of some sensors and then the collected data will be stored on a server after being processed by a microcontroller. Our daily activities are inseparable from weather conditions and various environmental factors. The real-time data collected can be used in research and analysis and the results can be helpful in human life and for improving environmental conditions as well.

The Internet of Things is a system made up of multiple inter-related computing devices. The main factor ‘things’ in IoT is designated to a component that is capable of communicating data over a network (IoT), the thing could be animals, a digital machine, a sensor, a human being etc. Each component of the Internet of Things network is given an individual or a distinct identity and the ability to communicate data or information over a wireless network that is too without the intervention of a human or a computer [8].

An interface medium capable of collecting, controlling, and communicating data among transmitter and recipient electronic equipment or servers is required to build the IoT network[9].

The ESP32 microcontroller series was developed by Espressif Systems. This module (the ESP32) includes a 2.4GHz Wi-Fi chip, memory, a 32-bit Tensilica microcontroller, an antenna, peripheral interfacing abilities, power management modules, and more. This ESP32 module is excellent for the Internet of things because of all of its technological and infrastructural aspects [10].

DHT11 and BMP280 sensors are used to collect the data from their surrounding environment and then communicate the data to the ESP32 module over a particular protocol [11].

The application of this weather monitoring system can also play an important role in the field of agriculture[12 ] to increase productivity, research application, and reducing manpower (by reducing the need to manually monitor the field status). Sometimes in a particular agricultural zone that is hazardous for a human beings, it is quite difficult to manually (offline) monitor the environment or weather conditions. In such cases, this web server based or online weather monitoring system can be of great importance.

Fig. 1

Hardware and Software Components

The list and quantity of the components required to implement the web server based weather monitoring system are shown in Table1.

Table: 1

DHT11

Fig. 2 DHT11 sensor

DHT11 sensor (or temperature and humidity sensor) is a sensor module used to measure humidity and temperature from its surrounding. This sensor module is responsible for monitoring the ambient temperature and humidity of a given area. An NTC (negative temperature co-efficient) temperature sensor and a resistive type humidity sensor make up the sensor. An 8-bit microcontroller is also included. The microcontroller performs ADC (analogue to digital conversion) and outputs a digital signal via the single wire protocol [13].

Some of the technical specifications of the DHT11 sensor are:

Table:2  DHT11 technical specifications

DHT11 sensors can also be used to create a wired sensor system with up to 20 meters of cable.

To measure temperature and humidity, two DHT modules (DHT11 and DHT22) are available on the market. Both modules serve the same purpose, but they have different specifications. The DHT22 sensor, for example, has a wider range of temperature and humidity sensitivity. However, DHT22 is more expensive than DHT11. As a result, you can choose to use any of the modules as per your needs.

Interfacing DHT11 with ESP32[14]

Table.3  Interfacing DHT11 with ESP32

BMP280

Another sensor we are using is the BMP280. The BMP280, also known as the barometric pressure sensor, is a temperature, pressure, and altitude sensor. This sensor's small size and low power consumption make it suitable for mobile applications, GPS modules, and battery-powered devices, among other things[15].

The Bosch BMP280 is based on Bosch's validated ‘Piezo-resistive pressure sensor technology’, which features high accuracy, long-term stability, linearity, and EMC robustness.

The barometric pressure sensor (280) is the successor to the BMP180 sensor, and it is mostly preferred in all areas where precise temperature and pressure measurements are required.

Fig.3  BMP280 Sensor

Fitness, indoor navigation, and GPS refinement are all new technologies which require relative accuracy, and the BMP280 is ideal for them. This module is preferred over the other available modules for temperature records or measurement because of its low TCO (Temperature coefficient of Offset).

The temperature measured with the BMP280 sensor is more accurate than the DHT11 sensor. BMP80 provides a 0.01°C accuracy rate.

Some technical specifications of the BMP280 sensor are:

Table:4  BMP280 Technical specifications

ThingSpeak web service

A web server is a place where one can store data online and can access that data at any time and from anywhere in the world [16]. A real-time data is created with the help of a web-server. There are various web services available to store real-time data for research and analysis like AWS (Amazon Web Service), Azure, Firebase etc.

We are using the ThinSpeak web service provided by MathWorks which allows us to send sensor readings/data to the cloud. The ThingSpeak is an open source data platform for the Internet of Things (IoT) applications. We can also visualize and act on or access the data (calculate the data) sent to the ThingSpeak server from ESP32. Two different types of channels are available to store data on the ThingSpeak server namely ‘Public Channel’ and ‘Private Channel’ and one can use either of the available channels to store and display data [17].

ThingSpeak is frequently used for IoT prototyping and proof-of-concept systems that require analytics[18].

Software Used

We need to give instructions to our ESP32 module so that it can interface, read data from DHT11 and BMP280 sensors and then finally publish the collected data to the ThingSpeak server. Arduino IDE is an integrated development environment used to write, compile and debug the program for the ESP32 module[19].

Fig. Arduino IDE

Process Flow

The process flow of our weather monitoring system is shown below in Chart 1. The process starts with the initialization of ESP32 module which is acting as an interface medium between the sensor modules and the web-server. The ESP32 wi-fi module is continuously searching for the network credentials as per the instruction provided. After connecting to the internet the sensor modules will be initialized and the real-time data [22] collected from the surrounding environment will be pushed to the ThingSpeak web server[23].

Flow Chart: 1

Results

The results observed from the implemented weather monitoring system are shown below. We observed four different environmental conditions which include temperature, humidity, pressure and altitude. The sensor data collected by ESP32 from DHT11 and BMP280 sensors is published to the ThingSpeak web server. On ThingSpeak we have created a channel that contains four fields to store four different environmental factors temperature, humidity, pressure and altitude.

Fig. Hardware

In fig. 4 we can see the ‘Field 1’ which is containing the temperature readings published or communicated from the ESP32 module and saved on the ThingSpeak server.

Similarly, fields 2, 3, and 4 are displaying the humidity, pressure and altitude respectively.

Fig. 4 Temperature (°C)

Fig. 5 Humidity

Fig. 6 Pressure (hPa)

Fig. 7 Altitude

Each factor is monitored at different intervals of time to observe the variations in various environmental factors. From table 5 we can see the various environmental factors and their values at different time intervals for the approximate duration of 24hrs.

Table 5 Variations in weather conditions

Conclusion

We observed the weather conditions (that includes temperature, humidity, pressure and altitude) with our “Web-server based weather monitoring system using ESP32”. The observed real time data is stored on the ThingSpeak server which can be accessed globally. The different values of each (mentioned earlier) environmental factor at different intervals in time are also observed (given in table 5) and the observed result clearly shows the changes in the weather conditions for a full day cycle. Hence, we have successfully implemented and tested the web server based weather monitoring system with ESP32 and ThingSpeak web server.

References

  • Maier, A., Sharp, A. and Vagapov,  Y., November  “Comparative  analysis  and practical implementation  of  the  ESP32  microcontroller  module  for  the  internet  of things”  2017 .
  • Prisma Megantoro, Brahmantya Aji Pramudita, Vigneshwaran Pandi, “Real-time monitoring system for weather and air pollutant measurement with HTML-based UI application” June 2021.
  • Foughali Karim, Karim Fathallah, Ali Frihida, “Monitoring System using web of things in precision agriculture” 2017.
  • J.Shah and B. Mishra, “IoT enabled environmental monitoring system for smart cities,” in 2016 International Conference on Internet of Things and Applications (IOTA), 2016.
  • P.Susmitha , G. Sowmyabala, “ Design and Implementation of Weather Monitoring and Controlling System” July 2014.
  • S.Navulur, A. S. C. S. Sastry, M. N.  Giri Prasad,  “Agricultural  management  through  wireless  sensors  and internet of things” .
  • K.Siva, S. Ram, and A. N. P. S. Gupta, “IoT based Data Logger System for weather monitoring using Wireless sensor networks,” 2016
  • Ferdin Joe John Joseph, “IoT Based Weather Monitoring System for Effective Analytics”, 2249 – 8958, Volume-8 Issue-4, April, 2019.
  • A F Pauzi, MZ Hasan, “Development of IoT Based Weather Reporting System”, 2020.
  • ESP32-IoT Development Framework, https://www.espressif.com/en/products/sdks/esp-idf
  • Carlo Guarnieri Calo Carducci, Antonello Monti, Markus Hans Schraven, Markus Schumacher, Dirk Mueller, “Enabling ESP32 based IoT Applications in Building Automation Systems”, 2019.
  • R.K. M. Math and N. V Dharwadkar, “IoT Based Low-cost Weather Station and Monitoring System for Precision Agriculture in India”, 2018 (2nd International Conference on I-SMAC).
  • N. Tianlong, “Application of Single Bus Sensor DHT11 in Temperature Humidity Measure and Control System [J]”, 2010.
  • “Create a Web Server With ESP32”, https://www.theengineeringprojects.com/2021/11/create-a-web-server-with-esp32.html
  • ThinSpeak, https://thingspeak.com/pages/learn_more
  • T. Thilangam. J, T. S. Babu, and B. S. Reddy, “Weather monitoring system application using LabView”, 2nd International Conference on I-SMAC, 2018.
  • J.Weiss and R. Yu, "Wireless Sensor Networking for the Industrial Internet of Things".
  • Gaurav Verma, Pranjal Mittal, Shaista Farheen, “Real Time Weather Prediction System Using IoT and Machine Learning.
  • R.Shete, S. Agrawal, “IoT based Urban Climate Monitoring using Raspberry Pi”, International Conference on Signal Processing and Communication, 2016.

Introduction to Workflow Automation

Hi Guys! Hope you’re well today. I welcome you on board. In this post, I’ll walk you through Introduction to Workflow Automation.

Workflow automation is a critical part to run a successful business. It is used to improve the efficiency and productivity of the business to provide a better user experience, reduce errors and increase revenue. Workflow automation is the process of automating a set of repeatable tasks to achieve a certain goal within the software or app you use.

Confused?

Don’t be.

We’ll touch on this further in the article.

Curious to know more about workflow automation, its benefits, how to choose workflow automation software, and how it can help your business?

Keep reading.

Introduction to Workflow Automation

Before we get into the nitty-gritty of workflow automation we must know what workflow is.

What is Workflow?

Every business is based on a predefined process. It’s the set of activities including manual tasks like creating reports, data transfer, collaborating within the company and more… all these tasks are performed to fulfill the business needs. Workflow guarantees all these processes are planned and executed in a sequential manner by the people or systems to achieve a certain goal.

Know that a workflow image can be a simple flowchart diagram representing a set of activities to reach the desired goal.

What is Automation?

And automation is the process that repeats itself without human intervention. It works on WHEN and THEN rules. For instance, when the temperature falls below 30 C, then turn on the AC.

What is Workflow Automation?

Simply put, workflow automation is automating the workflow – it involves incorporating the automated software system within the company to monitor and control business processes. The software is used to perform a repeated set of steps consecutively to do a certain task. In this process the work goes from start to finish without human involvement, eliminating the manual steps and ensuring the error-free work on time.

The workflow automation you can implement in the business processes includes sales and marketing, human resource, lead management, and more. This way businessmen can pay careful attention to the more important tasks rather than worrying about properly executing the workflow within the software.

Workflow Automation Benefits

The key benefits of workflow automation include:

  1. Helps you to determine the custom metrics and real-time analytics. With data derived from the automation process, you can predict the future outcome and can execute your process based on the calculated data.
  2. Helps you automate the business processes to save time and additional workforce requirements, allowing you to pay attention to the key areas that add value to your business.
  3. If done manually, the workflow can lead to scores of errors especially in data entry and form filling jobs. Wrong data entry will lead to the wrong outcome and can drastically generate compliance issues. So incorporating automation in your workflow can help you figure out the areas of improvement in your business process for optimal results.
  4. Can identify the information and data to further streamline the business process and connect the different stages in workflows on time.
  5. Allows you to customize the workflow process as per the needs and requirements of the business. Business goals change as the business grows. Things you need to execute at the start of the business may need modification over time and with workflow automation, you can make the process work as you like better for your agency.
  6. Provides a better customer experience. The priority of any business is to satisfy their customer and turn them into recurring clients. With workflow automation, products and services are delivered to the audience on time and correctly. This way customers not only put their trust in your business but also feel less hesitation to connect with it with user-friendly and less complex workflow automation software.

How to Choose the Right Workflow Automation Software

Choosing the right workflow automation software is a bit tricky. It depends on the workflow processes you want to manage within a business.

There are two types of software used in workflow automation: no-code tool and low-code tool.

The no-code tool works better for the beginner with no technical expertise. Some of these tools come with a drag and drop feature, allowing you to easily customize the workflow for your business process at hand. The low-code tool, on the other hand, requires coding skills to put into practice. Low-code tool doesn’t mean you have to be a tech-geek to get a hold of it. And you don’t require any software degree either, you can learn it easily if you put a deliberate effort and attention.

Other things you must consider while choosing the right tool include:

The tool comes with easy to handle user interface UI which means you can learn it yourself, if it requires technical support at every step, you better skip it.

The tool must be economical and scalable so you can modify it as per the business processes.

The tool must be compatible with your apps. What may fit for other businesses might not work for your business. If everyone is buying it doesn’t mean you also have to buy it. Keep your business processes in mind before choosing the right tool.

How Workflow Automation Can Help Your Business?

Workflow automation sets you free from doing manual repetitive tasks and automates your business processes to improve efficiency and productivity.

Following are the key areas of your business you can automate with workflow automation:

Invoice Generation

Invoice generation is a crucial task to create a document to bill your clients. When done manually, mistakes are obvious. But with workflow automation, you can automate the invoice generation process to bypass the multiple manual processes. You can use workflow automation software to create the invoice to bill the client month after month for a definite amount. Plus, you can keep a record of the invoices you create for a particular client.

Onboarding New Candidates

Onboarding new candidates is overwhelming at times. It requires a lot of brainstorming, resources, workforce, and time. However, with workflow automation, this process can be straightforward without the involvement of repeated manual processes. Workflow automation software allows the new candidates to list their information and submit it directly to the HR department. It removes the need for manual tests and check-ups to reach the hiring manager, effortlessly bridging the gap between the company and new candidates.

Lead Management

Quality leads form the basis of any business growth. Manual lead management requires a lot of data filtering and manual follow-ups that slow down the process of reaching potential clients.

Workflow automation allows the companies to discard the low-quality leads, and automate the process to turn the visitors into customers. Moreover, it allows the sales team to streamline the sales funnel process, stuff CRM with the required information, direct new leads to the sales manager, and effectively deliver the products to the customers.

Refund Staff Expenses

Manual handling of staff expenses is a tedious job. But workflow automation is here to rescue you. At times you spend money on the behest of the company. If you want to have approved those expenses from the company, first you need to write the email to the manager who will approve it and then send it to the accounting department. Everything will be documented in a report before the accounts department refund the money to the employees. However, workflow automation software can simplify this and other manual processes including creating reports, managing travel tickets, approving leave and vacation requests and producing purchase orders, and more.

Conclusion

A workflow automation software is an important tool for your business growth.

Using this tool, redundant tasks are eliminated and repetitive and manual tasks are put on auto-pilot.

Whether or not should you pick the automated workflow software for your business is a tricky question and unfortunately, there is no simple formula to figure this out. However, the business processes that can use automation to drive value include time-bound activities, manual repetitive tasks, lead management, customer support and data entry jobs, and more.

Keep two things in mind while picking the right tool: it meets your business's core objectives and it should be economical.

That’s all about the Introduction to Workflow Automation. If you have any questions in mind, you may ask me in the comment section below. I’ll help you to resolve your query. Keep sharing your feedback and suggestions to help us improve the quality of our content. Thank you for reading this article.

Syed Zain Nasir

I am Syed Zain Nasir, the founder of <a href=https://www.TheEngineeringProjects.com/>The Engineering Projects</a> (TEP). I am a programmer since 2009 before that I just search things, make small projects and now I am sharing my knowledge through this platform.I also work as a freelancer and did many projects related to programming and electrical circuitry. <a href=https://plus.google.com/+SyedZainNasir/>My Google Profile+</a>

Share
Published by
Syed Zain Nasir