Sequans Monarch VZM20Q topic
- Introduction
- Monarchs and Mayflys
- Manufacturer Documentation
- Modem Constructor
- Example Code
- Reference
- Detailed Descriptions
Introduction
The Sequans Monarch VZM20Q is another LTE CatM1 chip. It's available in "Skywire" (XBee-like) format from Nimbelink.
Monarchs and Mayflys
To my knowledge, there are not any Sequans modules available that can directly connect to a Mayfly. Although the Nimbelink board linked above would fit the physical XBee footprint on the Mayfly, it will not work without some additional interface or other modifications. The power supply on the Mayfly is insufficient, the voltage reference is not implemented on the Mayfly, and the Nimbelink board requires 3 extra ground pins that aren't available on the Mayfly.
Manufacturer Documentation
The module datasheet and AT commands are available here: https:/
Modem Constructor
Construct a new Sequans Monarch object. The constuctor initializes all of the provided member variables, constructs a loggerModem parent class with the appropriate timing for the module, calls the constructor for a TinyGSM modem on the provided modemStream, and creates a TinyGSM Client linked to the modem. Should be set to a negative number if the modem should be continuously powered or the power cannot be controlled by the MCU.
Should be set to a negative number if the modem status pin cannot be read. This could be the pin called either the
SequansMonarch::
Parameters
modemStream
The Arduino stream instance for serial communication.
powerPin
The digital pin number of the mcu pin controlling power to the modem (active
HIGH
).
statusPin
The digital pin number of the mcu pin connected to the modem status output pin.
modemResetPin
The digital pin number of the pin on the mcu attached the the hard or panic reset pin of the modem.
modemSleepRqPin
The digital pin number of a pin on the mcu used to request the modem enter its lowest possible power state.
apn
The Access Point Name (APN) for the SIM card.
GPIO3/STATUS_LED
or POWER_MON
in the Sequans Monarch integration guide.
Should be set to a negative number if the modem reset pin is not connected to the MCU. This should be the pin called RESETN
in the Sequans Monarch integration guide.
Should be set to a negative number if there is no pin usable for deep sleep modes or it is not accessible to the MCU. This should be the pin called RTS
or RTS0
in the Sequans Monarch integration guide.
Example Code
The monarch is used in the menu a la carte example.
Classes
- class SequansMonarch
- The loggerModem subclass for Nimbelink or other modules based on the Sequans Monarch VZM20Q.
Modem Pin Settings and Timing
The timing and pin level settings for a Sequans Monarch
- #define VZM20Q_STATUS_LEVEL = HIGH
- The loggerModem::
_statusLevel. - #define VZM20Q_STATUS_TIME_MS = 5000
- The loggerModem::
_statusTime_ms. - #define VZM20Q_RESET_LEVEL = LOW
- The loggerModem::
_resetLevel. - #define VZM20Q_RESET_PULSE_MS = 1
- The loggerModem::
_resetPulse_ms. - #define VZM20Q_WAKE_DELAY_MS = 0
- The loggerModem::
_wakeDelayTime_ms. - #define VZM20Q_WAKE_LEVEL = LOW
- The loggerModem::
_wakeLevel. - #define VZM20Q_WAKE_PULSE_MS = 0
- The loggerModem::
_wakePulse_ms. - #define VZM20Q_ATRESPONSE_TIME_MS = 15000L
- The loggerModem::
_max_atresponse_time_ms. - #define VZM20Q_DISCONNECT_TIME_MS = 15000L
- The loggerModem::
_disconnetTime_ms.
Define documentation
#define VZM20Q_STATUS_LEVEL = HIGH
#include <src/modems/SequansMonarch.h>
The loggerModem::
Depending on firmware, you MIGHT be able to monitor the status on either GPIO2/POWER_MON
or GPIO3/STATUS_LED
The module integration guide says:
GPIO3: Optional STATUS_LED. Note that the LED function is currently not available.
GPIO2: GPIO or Power monitor (Output) in option. POWER_MON is high right after POWER_ON, then remains high until shutdown procedure is completed. Module can be safely electrically power off as soon as POWER_MON goes low. Note that this feature is currently not available.
Very useful, right?
The Nimbelink manual for their breakout lists a status pin, but doesn't disclose which of these it is and the time for reporting isn't mentioned either.
#define VZM20Q_STATUS_TIME_MS = 5000
#include <src/modems/SequansMonarch.h>
The loggerModem::
Depending on firmware, you MIGHT be able to monitor the status on either GPIO2/POWER_MON
or GPIO3/STATUS_LED
The module integration guide says:
GPIO3: Optional STATUS_LED. Note that the LED function is currently not available.
GPIO2: GPIO or Power monitor (Output) in option. POWER_MON is high right after POWER_ON, then remains high until shutdown procedure is completed. Module can be safely electrically power off as soon as POWER_MON goes low. Note that this feature is currently not available.
Very useful, right?
The Nimbelink manual for their breakout lists a status pin, but doesn't disclose which of these it is and the time for reporting isn't mentioned either.
#define VZM20Q_RESET_LEVEL = LOW
#include <src/modems/SequansMonarch.h>
Reset for VZM20Q with a minimum 1µs LOW
pulse on RESETN
. The maximum time is not documented.
#define VZM20Q_RESET_PULSE_MS = 1
#include <src/modems/SequansMonarch.h>
The loggerModem::
Reset for VZM20Q with a minimum 1µs LOW
pulse on RESETN
. The maximum time is not documented.
#define VZM20Q_WAKE_DELAY_MS = 0
#include <src/modems/SequansMonarch.h>
The loggerModem::
Module automatically boots when power is applied, no further command is needed.
To enter PSM (power save mode), you need to do the following :
- Request timers from the network
- Register on the network
- Pull the
RTS
pin logic - levelHIGH
- device will enter PSM a minimum of 100s later
To exit PSM, you need to do the following :
- Pull the
RTS
pin logic - levelLOW
#define VZM20Q_WAKE_LEVEL = LOW
#include <src/modems/SequansMonarch.h>
The Sequans Monarch/VZM20Q wakes at LOW
level.
#define VZM20Q_WAKE_PULSE_MS = 0
#include <src/modems/SequansMonarch.h>
The loggerModem::
The Sequans Monarch/VZM20Q wakes at LOW
level.
#define VZM20Q_ATRESPONSE_TIME_MS = 15000L
#include <src/modems/SequansMonarch.h>
The loggerModem::
Time to UART availability not documented for the VZM20Q; allowing a long 15s buffer.
#define VZM20Q_DISCONNECT_TIME_MS = 15000L
#include <src/modems/SequansMonarch.h>
The loggerModem::
Shutdown time for VZM20Q is undocumented. We allow 15sec in case it is not monitored.