Interfacing ZMOD4510 with Arduino via UART

The PCB Artists ZMOD4510 outdoor air quality sensor has been designed to make it extremely easy to use with any host MCU or platform. The ZMOD4510 module communicates with the host using an UART interface (fixed at 9600-8-N-1), therefore making it possible to interface ZMOD4510 to Arduino boards.
ZMOD4510 module DIP header
ZMOD4510 module DIP header

Interfacing ZMOD4510 Module with Arduino

Arduino, just like all other embedded platforms, comes with a hardware UART interface. Arduino libraries for Arduino boards also allow for using any pin as software emulated serial port. In this example, we will use a software serial port for interfacing the module with Arduino UNO.

The ZMOD4510 module requires at least 4 pins to be connected for proper functioning:

  • Module Pin 6: 3.3V
  • Module Pin 5: RxD
  • Module Pin 4: TxD
  • Module Pin 3: GND

The connection diagram for connecting ZMOD4510 to Arduino is simple and shown below. You can connect RxD and TxD pins of the module to any digital IO of the Arduino if you are using the Software serial library (see references below).

zmod4510 arduino uart interface connection diagram
Connection diagram for connecting ZMOD4510 to Arduino

The 3.3V output of the Arduino is capable of supplying enough current for the ZMOD4510 module to operate. The module consumes less than 10mA (peak) when it is fully active and making pollution level measurements.

5V Arduino and 3.3V ZMOD4510 Module

Voltage level compatibility is always something that you have to worry about when interfacing a 5V powered system like the Arduino UNO to a 3.3V system such as the ZMOD4510 module.
Ideally, the ZMOD4510 module can directly connect to a 5V MCU host.
The ZMOD4510 module has been designed with 5V tolerant pins for the UART interface and can therefore handle 5V UART logic level from the 5V host.
If you are using a 5V host MCU like the ATmega8 on Arduino boards, you do not have to worry about the ZMOD4510 module getting damaged.
However, remember that the ZMOD4510 outputs 0V for “low” and 3.3V for “high” logic signals.
If your 5V MCU does not consider 3.3V as logic “high”, the UART interface will not work and the Arduino will not be able to read the data being sent by the ZMOD4510.
As per the datasheet, Arduino UNO considers anything higher than 3V as logic “high”.
Therefore, the Arduino UNO can directly interface to the ZMOD4510 module.

If you have an MCU that does not recognize 3.3V at the input as logic high and needs a higher voltage to read as logic “high”, you will need to use a logic level converter chip such as the TXS0102 in between for proper interfacing.

One such logic level converter board is:
SparkFun Logic Level Converter

Change Log
  • Initial Release: 22 March 2021

You may also like

Leave a Comment

19 − 2 =