---
title: M66 Header DB
description: "## Basic Overview The M66 header DB (Development Board) is a compact and portable board designed specifically for Arduino. The main equipped modules are the M66 series wireless communication modules. The Development board has a USB Type-C interface, making it…"
url: "https://eicut.com/wiki/arduino/hats-and-shields/m66-header-db/"
updated: "2026-02-14"
category: Arduino / HATs and Shields
---

# M66 Header DB

## Basic Overview

The M66 header DB (Development Board) is a compact and portable board designed specifically for Arduino. The main equipped modules are the M66 series wireless communication modules. The Development board has a USB Type-C interface, making it convenient for development. Developers only need a USB Type-C cable to easily use the Development board. Additionally, the Development board is compatible with the expansion board of Arduino, which can be directly used on the Development board.

## Supported Module List

- Arduino uno R3
- Arduino uno R3 SMD
- Arduino Zero
- Arduino Yun Rev2
- Arduino UNO Wi-Fi Rev2
- Arduino UNO R4 Wi-Fi
- Arduino uno R4 Minima
- Arduino Leonardo

## Feature List

Module Features:

- Quad-band: 850/900/1800/1900MHz
- AT Commands: GSM 07.07, 07.05 and Enhanced AT Commands
- TCP/UDP/HTTP/FTP/PPP
- Jamming Detection
- Audio
- FOTA
- OpenCPU
- QuecFastFix

## Development Board Resources

### Function Description

The main component and interface placement of the M66 Header DB is shown in the following figure:

![Annotated layout M66 Header DB](https://eicut.com/wp-content/uploads/2025/10/image1-1-1024x875.webp)
**Top view**

![Back of Eicut M66 Header DB](https://eicut.com/wp-content/uploads/2025/10/image2-1.webp)
**Back view**

The detailed assignment of the peripheral interfaces on the M66 Header DB is as follows:

| NO. | Name | Silkscreen | Comment |
| --- | --- | --- | --- |
| **1** | USB Type-C Interface | – | – |
| **2** | Audio jack 3.5 mm | – | – |
| **3** | Sim card case | – | 4FF SIM Card 12.3 × 8 mm |
| **4** | SD card case | – | Micro SD Card |
| **5** | Manual boot | Manual Boot | If shorted, the micro will turn on. |
| **6** | Reset RTC | Reset RTC | If open, the RTC will reset. |
| **7** | 2*9pin | – | Header 2.54 mm |
| **8** | External GSM Antenna | GSM ANT | UFL Antenna |
| **9** | boot | BOOT | If pushed, connects PWRKEY pin to ground and turns on/off M66. |
| **10** | UART Switch | UART Arduino/USB | If the switch is on the Arduino UART side, communication between Arduino and M66 is established; if on the USB UART side, communication between USB and M66 is established. |

**The M66 Header DB has 3 functional indication LEDs, as follows:**

- **D2**: LED Connect NETLIGHT
- **D3**: LED Connect RFTXMON
- **D4**: Power indication LED

### Board Interfaces

The main pin placement of the M66 Header DB is shown in the following figure:

![Pins labeled Eicut M66 Header DB ](https://eicut.com/wp-content/uploads/2025/10/image4-1024x841.webp)
**Annotated diagram**

![Eicut M66 Header DB pinout with ATmega mapping](https://eicut.com/wp-content/uploads/2025/10/image5-1024x844.webp)
**Pinout with ATmega mapping**

  🔗Tip

**As shown in the image above, Arduino can communicate with the module in two ways: software UART and hardware UART.**
 **Set the switch to Arduino UART mode and connect with a jumper depending on your needs.**

**Important**: Do **not** use the Arduino power supply to power the M66 board directly. Instead, you can safely connect the**VBUS** pin of the M66 module to the **5V** pin of Arduino with a jumper. The ground (GND) is already shared and does not need an additional connection.

**Power Header**

| NO. | Name | Silkscreen | Comment |
| --- | --- | --- | --- |
| **8-Pin** | NC | NC | – |
| **8-Pin** | IOREF | IOREF | This provides a logic reference voltage for Arduino shields that use it; it is connected to the 5 V bus. |
| **8-Pin** | RST | RST | Reset Arduino |
| **8-Pin** | 3v3 | 3v3 | 3.3 V Arduino regulator; don’t connect to power the module. |
| **8-Pin** | 5v | 5v | 5 V Arduino regulator; don’t connect to power the module. |
| **8-Pin** | GND | GND | Ground |
| **8-Pin** | GND | GND | Ground |
| **8-Pin** | Vin | Vin | This pin is used to power the Arduino Uno using an external power source. The voltage should be within the supported range. |

**ADC Header**

| NO. | Name | Silkscreen | Comment |
| --- | --- | --- | --- |
| **6-Pin** | ADC0 | A0 | Analog input (ADC). |
| **6-Pin** | ADC1 | A1 | The Arduino Uno has 6 analog pins which utilize an ADC (Analog-to-Digital Converter). |
| **6-Pin** | ADC2 | A2 | These pins serve as analog inputs and can also function as digital inputs or outputs. |
| **6-Pin** | ADC3 | A3 | These pins serve as analog inputs and can also function as digital inputs or outputs. |
| **6-Pin** | ADC4 | A4 | These pins serve as analog inputs and can also function as digital inputs or outputs. |
| **6-Pin** | ADC5 | A5 | These pins serve as analog inputs and can also function as digital inputs or outputs. |

**Digital Header**

| NO. | Name | Silkscreen | Comment |
| --- | --- | --- | --- |
| **18-Pin** | PD0/TX | 0 | Serial |
| **18-Pin** | PD1/RX | 1 | Communication |
| **18-Pin** | PD2 | 2 | — |
| **18-Pin** | PD3/PWM | 3 | — |
| **18-Pin** | PD4 | 4 | — |
| **18-Pin** | PD5/PWM | 5 | — |
| **18-Pin** | PD6/PWM | 6 | — |
| **18-Pin** | PD7 | 7 | — |
| **18-Pin** | PB0 | 8 | — |
| **18-Pin** | PB1/PWM | 9 | — |
| **18-Pin** | PB2/PWM/SS | 10 | — |
| **18-Pin** | PB3/PWM/MOSI | 11 | SPI |
| **18-Pin** | PB4/MISO | 12 | Communication |
| **18-Pin** | PB5/SCK | 13 | — |
| **18-Pin** | Ground | GND | — |
| **18-Pin** | AREF | AREF | — |
| **18-Pin** | PC4/SDA | SDA | I2C |
| **18-Pin** | PC5/SCL | SCL | Communication |

**M66 Header 2*9**

| NO. | Name | Silkscreen | Comment |
| --- | --- | --- | --- |
| **2*9-Pin** | Ground | GND | – |
| **2*9-Pin** | Ground | GND | – |
| **2*9-Pin** | VBUS | VBUS | This pin is powered by USB. |
| **2*9-Pin** | ADC reference voltage | AVDD | Vmax=2.9 V, Vmin=2.7 V, Vnorm=2.8 V |
| **2*9-Pin** | Request to send | RTS | Digital input |
| **2*9-Pin** | Analog to Digital Converter | ADC | Analog input |
| **2*9-Pin** | Clear to send | CTS | Digital output |
| **2*9-Pin** | Transmit data | DBG-TX | Digital output |
| **2*9-Pin** | Data carrier detection | DCD | Digital output |
| **2*9-Pin** | Receive data | DBG-RX | Digital input |
| **2*9-Pin** | Ring indication | RI | Digital output |
| **2*9-Pin** | Receive data | AUX-RX | Digital input |
| **2*9-Pin** | Data terminal ready | DTR | Digital input |
| **2*9-Pin** | Transmit data | AUX-TX | Digital output |
| **2*9-Pin** | VBUS | VBUS | This pin is powered by USB. |
| **2*9-Pin** | VBUS | VBUS | This pin is powered by USB. |
| **2*9-Pin** | Ground | GND | – |
| **2*9-Pin** | Ground | GND | – |

## Development Board Dimensions

![eicut M66 Header DB dimensions](https://eicut.com/wp-content/uploads/2025/10/image3-1-889x1024.webp)
**Board Dimensions : 70 * 53 mm**

## Getting Started Preparation

**Step 1**: Connect the Development Board

Connect the Development board to the computer's USB port using a USB Type-C cable for power supply.

**Step 2**: Turn on the Development board

Long press the PWRKEY button to turn on the board. Before pressing the PWRKEY button, make sure the power supply voltage is stable. It is recommended to have a time interval of not less than 30 ms between powering up and pressing the PWRKEY button. If you want the board to power up and turn on automatically without the need for a turn-off function, you can directly short the two pins with PWK_AUTO silkscreen on the 2-Pin (Manual Boot) header.

**Step 3**: Install the 343p IC driver from the link below.

  🔗 IC Driver

[**Download 343P IC driver**](https://www.wch-ic.com/products/CH343.html)

**Step 4**: Don't forget that when you want to connect the module to the computer, the switch mode is on USB UART.

**Step 5**: In the next step, install the Qnavigator software from the link below.

  🔗Qnavigator

[**Download Qnavigator software**](https://www.quectel.com/download/qnavigator_v1-5/)

**Step 6**: After installing the software, follow the software instructions and select your board in the port section, set the baud rate to 115200, and click Connect.

## Resource Download

- [Quectel M66 GSM Specification V1.4](https://eicut.com/wp-content/uploads/2025/05/Quectel_M66_GSM_Specification_V1.4.pdf)
- [M66 Header DB Schematic](https://eicut.com/wp-content/uploads/2025/07/M66-shematic.pdf)

## FAQ

    What does digital mean?

Digital is a way of representing voltage in 1 bit: either 0 or 1. Digital pins on the Arduino are pins designed to be configured as inputs or outputs according to the needs of the user. Digital pins are either on or off. When ON they are in a HIGH voltage state of 5V and when OFF they are in a LOW voltage state of 0V.

On the Arduino, when the digital pins are configured as output, they are set to 0 or 5 volts.
 When the digital pins are configured as input, the voltage is supplied from an external device. This voltage can vary between 0-5 volts which is converted into digital representation (0 or 1). To determine this, there are 2 thresholds:
 • Below 0.8V – considered as 0.
 • Above 2V – considered as 1.

When connecting a component to a digital pin, make sure that the logic levels match. If the voltage is in between the thresholds, the returning value will be undefined.

    What is PWM?

In general, Pulse Width Modulation (PWM) is a modulation technique used to encode a message into a pulsing signal. A PWM is comprised of two key components: frequency and duty cycle. The PWM frequency dictates how long it takes to complete a single cycle (period) and how quickly the signal fluctuates from high to low. The duty cycle determines how long a signal stays high out of the total period. Duty cycle is represented in percentage.

In Arduino, the PWM enabled pins produce a constant frequency of ~500Hz, while the duty cycle changes according to the parameters set by the user. PWM signals are used for speed control of DC motors, dimming LEDs and more.

![PWM duty cycle waveforms showing 0%, 25%, and 100% with period marked.](https://eicut.com/wp-content/uploads/2025/10/image6.webp)

Period-labeled PWM signals at 0%, 25%, and 100% duty cycle.

    What is Analog to Digital Conversion?

ADC stands for Analog to Digital Converter. ADC is an electronic circuit used to convert analog signals into digital signals. This digital representation of analog signals allows the processor (which is a digital device) to measure the analog signal and use it through its operation.

Arduino Pins A0-A5 are capable of reading analog voltages. On Arduino the ADC has 10-bit resolution, meaning it can represent analog voltage by 1,024 digital levels. The ADC converts voltage into bits which the microprocessor can understand.

One common example of an ADC is Voice over IP (VoIP). Every smartphone has a microphone that converts sound waves (voice) into analog voltage. This goes through the device’s ADC, gets converted into digital data, which is transmitted to the receiving side over the internet.

    What is SPI?

Serial Peripheral Interface (SPI) is a serial data protocol used by microcontrollers to communicate with one or more external devices in a bus like connection. The SPI can also be used to connect 2 microcontrollers. On the SPI bus, there is always one device that is denoted as a Master device and all the rest as Slaves. In most cases, the microcontroller is the Master device. The SS (Slave Select) pin determines which device the Master is currently communicating with.

SPI enabled devices always have the following pins:
 • **MISO (Master in Slave out)** - A line for sending data to the Master device
 • **MOSI (Master out Slave In)** - The Master line for sending data to peripheral devices
 • **SCK (Serial Clock)** - A clock signal generated by the Master device to synchronize data transmission.

**I2C** - SCL/SDA pins are the dedicated pins for I2C communication. On the Arduino Uno they are found on Analog pins A4 and A5.

 

   What is SPI?

Serial Peripheral Interface (SPI) is a serial data protocol used by microcontrollers to communicate with one or more external devices in a bus like connection. The SPI can also be used to connect 2 microcontrollers. On the SPI bus, there is always one device that is denoted as a Master device and all the rest as Slaves. In most cases, the microcontroller is the Master device. The SS (Slave Select) pin determines which device the Master is currently communicating with.

SPI enabled devices always have the following pins:
 • **MISO (Master in Slave out)** - A line for sending data to the Master device
 • **MOSI (Master out Slave In)** - The Master line for sending data to peripheral devices
 • **SCK (Serial Clock)** - A clock signal generated by the Master device to synchronize data transmission.

**I2C** - SCL/SDA pins are the dedicated pins for I2C communication. On the Arduino Uno they are found on Analog pins A4 and A5.

    What is I2C?

I2C is a communication protocol commonly referred to as the “I2C bus”. The I2C protocol was designed to enable communication between components on a single circuit board. With I2C there are 2 wires referred to as SCL and SDA.

• **SCL** is the clock line which is designed to synchronize data transfers.
 • **SDA** is the line used to transmit data.

Each device on the I2C bus has a unique address, up to 255 devices can be connected on the same bus.

**Aref** - Reference voltage for the analog inputs.
 **Interrupt** - INT0 and INT1. Arduino Uno has two external interrupt pins.
 **External Interrupt** - An external interrupt is a system interrupt that occurs when outside interference is present. Interference can come from the user or other hardware devices in the network. Common uses for these interrupts in Arduino are reading the frequency a square wave generated by encoders or waking up the processor upon an external event.

Arduino has two forms of interrupt: **External** and **Pin Change**.
 There are two external interrupt pins on the ATmega168/328 called INT0 and INT1. Both INT0 and INT1 are mapped to pins 2 and 3. In contrast, Pin Change interrupts can be activated on any of the pins.

[![M66 Arduino Hat V1.0 ](https://eicut.com/wp-content/uploads/2025/10/Frame-19_11zon-273x300.webp)](https://eicut.com/product/m66-arduino-hat)
