MakerLab
ArduinoArduino MKR GSM 1400

Arduino MKR GSM 1400: Connecting Your Projects to the World

A compact microcontroller board designed for IoT applications, featuring cellular connectivity for remote data transmission.

Arduino MKR GSM 1400

The Arduino MKR GSM 1400 is a powerful yet compact board designed for IoT (Internet of Things) projects requiring cellular communication. It belongs to the Arduino MKR family, which focuses on small form-factor boards with advanced connectivity options. Released around 2017, it was one of Arduino's early offerings to integrate cellular modem capabilities directly onto the board, simplifying the process of connecting remote devices to the internet without relying on Wi-Fi or Ethernet.

At its heart, the MKR GSM 1400 is powered by the u-blox SARA-U201 module, which provides 2G, 3G, and 4G (LTE Cat 1) cellular connectivity. This module is paired with an ARM Cortex-M0+ based microcontroller, the Microchip SAMD21, which handles the core processing, GPIO control, and communication protocols. This dual-chip architecture allows for efficient management of both the application logic and the cellular modem, making it suitable for battery-powered devices where power consumption is a critical factor.

The board is designed for makers, students, and embedded engineers who need to build IoT solutions that can operate in areas without readily available Wi-Fi networks. Its integrated GSM modem means you can send sensor data, receive commands, or even make simple calls directly over the cellular network. This makes it ideal for applications like remote environmental monitoring, asset tracking, smart agriculture, or creating connected devices in remote locations. The 3.3V operating voltage and breadboard-friendly design further enhance its usability for prototyping.

Compared to other Arduino boards, the MKR GSM 1400 stands out due to its built-in cellular modem. While boards like the MKR WiFi 1010 offer Wi-Fi and Bluetooth, or the original Arduino Uno focuses on basic I/O, the GSM 1400 specifically targets applications where cellular is the primary or only connectivity option. This specialized nature makes it a niche but powerful tool for developers looking to push the boundaries of connected hardware beyond traditional network infrastructures.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCMicrochip SAMD21 Cortex-M0+ 32-bit Low-Power ARM MCU
Cellular Moduleu-blox SARA-U201 (supports 2G, 3G, 4G LTE Cat 1)
Architecture32-bit ARM Cortex-M0+
Clock speed48 MHz
Flash / Storage256 KB
RAM / SRAM32 KB
Operating voltage3.3V
Digital I/O pins22 (many with alternative functions)
Analog / ADC7 (12-bit resolution)
PWM11 pins
ConnectivityGSM/3G/4G LTE, I2C, SPI, UART
USBMicro USB connector (for programming and power)
Power input5V via Micro USB, VIN pin (7-12V recommended), or LiPo battery connector
Dimensions67.64 mm x 25 mm

Pinout & pin functions

PinFunction
GNDGround
3V33.3V output
VCCMain power supply (typically 5V from USB or VIN)
VINExternal power input (7-12V recommended)
VBATBattery input (for LiPo battery)
RSTReset pin
0 (RX)Serial communication RX (UART)
1 (TX)Serial communication TX (UART)
2Digital I/O
3Digital I/O, PWM
4Digital I/O
5Digital I/O, PWM
6Digital I/O, PWM
7Digital I/O
8Digital I/O
9Digital I/O, PWM
10Digital I/O, SPI SS
11Digital I/O, SPI MOSI, PWM
12Digital I/O, SPI MISO
13Digital I/O, SPI SCK
A0Analog Input (ADC), Digital I/O
A1Analog Input (ADC), Digital I/O
A2Analog Input (ADC), Digital I/O
A3Analog Input (ADC), Digital I/O
A4Analog Input (ADC), Digital I/O, I2C SDA
A5Analog Input (ADC), Digital I/O, I2C SCL
A6Analog Input (ADC), Digital I/O
A7Analog Input (ADC), Digital I/O
SARA_PWRPower control for SARA module
SARA_STATUSStatus indicator for SARA module
SIM_DETECTSIM card detection pin

Wiring & circuit basics

Powering the Arduino MKR GSM 1400 requires careful consideration to avoid damage. The primary power source is typically the Micro USB port, which supplies 5V. Alternatively, the VIN pin can accept a wider voltage range, usually between 7V and 12V, which is then regulated down to 3.3V by an onboard regulator. For portable applications, a LiPo battery can be connected to the VBAT header, which is also managed by an onboard power management circuit. Always ensure your power source can supply sufficient current, especially when the GSM module is active, as it can draw significant power spikes. Avoid connecting higher voltages directly to the 3.3V pin, as this will damage the board.

The Arduino MKR GSM 1400 operates at a logic level of 3.3V. This means that digital input pins expect signals between 0V (LOW) and 3.3V (HIGH). If you are connecting external components that operate at 5V, such as some older sensors or LEDs, you will need a logic level shifter to prevent damage to the microcontroller. Conversely, if you are connecting a 3.3V sensor to a 5V Arduino board, it might work, but it's not guaranteed and depends on the sensor's tolerance. For this 3.3V board, ensure all connected components are compatible or use appropriate level shifting.

A basic example circuit is wiring an LED. Connect the anode (longer leg) of an LED to a digital pin capable of PWM, for instance, pin 5. Connect the cathode (shorter leg) of the LED to one end of a current-limiting resistor (typically 220-330 ohms for standard LEDs). Connect the other end of the resistor to a GND pin on the Arduino. When the microcontroller sets pin 5 HIGH (3.3V), current flows through the resistor and LED, illuminating it. The resistor is crucial to prevent excessive current from flowing through the LED and potentially damaging it or the microcontroller pin.

Programming & getting started

The primary toolchain for the Arduino MKR GSM 1400 is the Arduino IDE. After installing the IDE, you'll need to add the 'Arduino SAMD Boards' board package via the Board Manager. Then, select 'Arduino MKR GSM 1400' from the Tools > Board menu. Connect the board via USB, select the correct COM port, and you can upload standard Arduino sketches. The board also supports more advanced environments like PlatformIO, which offers a more robust development experience with features like integrated debugging and library management. For cellular communication, you'll typically use the Arduino `MKRGSM` library, which provides functions to connect to the cellular network, send/receive SMS, and make HTTP requests.

To upload your first program, open the Arduino IDE, select 'File' > 'Examples' > 'MKRGSM' > 'SendSMS'. Connect your Arduino MKR GSM 1400 to your computer via USB. Ensure you have a valid SIM card inserted into the SIM card slot and that it is not PIN-protected (or you know the PIN). Select the correct board and COM port from the 'Tools' menu. Click the Upload button. Once uploaded, you can open the Serial Monitor to see output and potentially interact with the board. You will need to configure the example sketch with your phone number and the SMS message content.

Project ideas

Remote Environmental MonitorBuild a weather station that sends temperature, humidity, and pressure data via SMS or HTTP POST requests to a server. Uses analog pins for sensors, digital pins for control, and the MKRGSM library for communication. Learns about sensor integration and remote data logging.
Asset TrackerDevelop a device that reports its GPS location periodically using an external GPS module connected via UART and transmits the coordinates using the cellular modem. Uses UART pins for GPS and the MKRGSM library for data transmission. Teaches about GPS interfacing and location-based services.
SMS-Controlled RelayCreate a system where you can send an SMS message to the board to toggle a relay, controlling a device like a light or pump remotely. Uses digital I/O pins for the relay and the MKRGSM library for receiving SMS commands. Introduces control systems and SMS interaction.
Low-Power Data LoggerDesign a battery-powered data logger that wakes up periodically, reads sensor data, transmits it over the cellular network, and then goes back to sleep to conserve power. Utilizes low-power modes of the SAMD21 and efficient use of the cellular module. Focuses on power management for IoT devices.
Basic Cellular IoT GatewayUse the MKR GSM 1400 to collect data from multiple simple sensors connected via I2C or SPI and relay this data to a cloud platform. Leverages I2C/SPI pins for sensor communication and the MKRGSM library for cloud connectivity. Explores multi-sensor data aggregation and cloud integration.
Voice-Activated Remote Control (Advanced)Integrate with a voice assistant service (e.g., Google Assistant via IFTTT) to send commands to the MKR GSM 1400 via SMS or HTTP to control devices. Requires external services and more complex interaction logic. Teaches about bridging IoT platforms and external APIs.

Buying tips & gotchas

When purchasing the Arduino MKR GSM 1400, ensure it comes with an antenna for the cellular module, as this is crucial for operation. Be aware that cellular data plans are required to use the GSM functionality, which can incur costs. Common pitfalls include incorrect SIM card setup (e.g., PIN lock enabled) or insufficient power supply, especially during cellular transmission. While official Arduino boards are reliable, be cautious of counterfeit or 'clone' boards that may have performance or compatibility issues. Accessories like battery packs, suitable antennas, and external sensors will greatly expand the board's capabilities.