ANR029
C ALYPSO R EMOTE GPIO FEATUREV ERSION 1.1
J ULY 19, 2023

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

Revision history
Manualversion

Date

Notes

1.0

• Initial version

January 2022

1.1

• Updated Important notes, meta data and document style

July 2023

1

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

Contents
1 Introduction

3

2 Functional description
2.1
Configuration and control using AT commands . . . . . . . . . . . . . . . . . .
2.1.1 AT+gpioSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1.2 AT+gpioGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2
Configuration and control via web interface . . . . . . . . . . . . . . . . . . . .
2.2.1 GPIO Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.2 GPIO Get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
5
5
6
7

3 References

9

4 Important notes

10

Version 1.1, July 2023

www.we-online.com/wcs

2

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

1 Introduction
The Calypso WLAN module developed by Würth Elektronik eiSos is intended to be used as aradio sub-system in order to provide WLAN (IEEE 802.11) communication capabilities to systems. The UART acts as the primary interface between the module and a host micro-controller.
The module can be fully configured and controlled using a set of AT-commands sent as messages via UART. Once configured, the module independently manages WLAN connectivity
allowing the host controller to utilize its resources for its application tasks.
From firmware version 2.0.0 onwards, the Calypso supports the so-called "Remote GPIO" feature, which allows the configuration and control of up to 4 module GPIOs via Wi-Fi, without any
intervention of a host controller. This application note gives a short overview of the new feature.
The following pins of Calypso can be configured and controlled remotely:
ID

Pad

Name

Chipset pin

Supported pin functions

0

8

REMOTE_0

GPIO12

Input, output

1

19

REMOTE_1

GPIO5

Input, output

2

24

REMOTE_2

GPIO10

Input, output, PWM

325

REMOTE_3

GPIO11

Input, output, PWM

Table 1: Supported pins

2 Functional description
Using the "Remote GPIO" feature of the Calypso, it is possible to set each of the supported
GPIOs to output HIGH or LOW, as well as to read the externally applied logic level (i.e HIGH
or LOW), in case it has been configured as input pin before. Two of the four pins can act as a
PWM instead of the digital input or digital output function.
Furthermore, there is the option to store the GPIO configuration in flash memory (non-volatile),so that it is retained after a device restart. Otherwise the configuration is volatile.
The remote GPIOs can be controlled either using AT commands sent to the radio module
via UART or using web API requests.

2.1 Configuration and control using AT commands
There are two AT commands to control the remote GPIOs, At+gpioSet and AT+gpioGet.
2.1.1 AT+gpioSet
The command AT+gpioSet is used to configure the GPIO:

3

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

RequestResponse

AT+gpioSet=[id],[save],[type],[value1],[value2]

OK or error

Arguments: See Table 3
Table 2: AT+gpioSet
Arguments

value

id

ID of the GPIO (see Table 1)

savefalse - Apply only during runtime (volatile),true - Apply and save as default (non-volatile)

type

see Table 4

value1

depends on type value, see Table 4

value2depends on type value, see Table 4
Table 3: AT+gpioSet arguments

type

value1value2

unused

-

-

input

nopullpulldown
pullup-outputlow, high-pwm

PWM period (1-200) [ms]PWM ratio (0-100) [%]Table 4: AT+gpioSet GPIO type and valueX arguments

The flash memory used to store these settings has a limited count of write
cycles. Try to avoid periodic saving to flash as each time one write cycle isused. Saving in non-volatile memory happens when using AT+gpioSet with the"save" parameter’s value set to true.
Example:Set pin REMOTE_0 to output high, REMOTE_1 to input pulldown and REMOTE_2 to PWM
with 100 ms interval and 75 % ratio. Furthermore, save the settings in flash.
AT+gpioSet=0,true,output,high,OK
AT+gpioSet=1,true,input,pulldown,
OK
AT+gpioSet=2,true,pwm,100,75
OK

Code 1: Example AT+gpioSet part 1
Then toggle the pin REMOTE_0 two times without saving it in flash.

4

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

AT+gpioSet=0,false,output,low,OK
AT+gpioSet=0,false,output,high,OK

Code 2: Example AT+gpioSet part 2
2.1.2 AT+gpioGet
The command AT+gpioGet is used to read the current configuration and value of the GPIO:
RequestResponse

AT+gpioGet=[id],[default]+gpioget:[id],[type],[value1],[value2]
OK or error

Arguments:
id: ID of the GPIO (see Table 1)
default: true = default setting, false = current value

id: ID of the GPIO
type, value1, value2: see Table 4

Table 5: AT+gpioGet
Example:Read the current configuration stored in flash:
AT+gpioGet=0,true+gpioget:0,output,high,OK
AT+gpioGet=1,true+gpioget:1,input,low,pulldown
OK
AT+gpioGet=2,true+gpioget:2,pwm,100,75
OK
AT+gpioGet=3,true+gpioget:3,unused,,OK

Code 3: Example AT+gpioGet part 1
The pin REMOTE_0 is configured as output high, REMOTE_1 as input pulldown with low levelapplied, REMOTE_2 as PWM with 100 ms interval and 75 % ratio, and REMOTE_3 as unused
pin.
Then externally apply a high signal to pin REMOTE_1 and read its value again:
AT+gpioGet=1,false+gpioget:1,input,high,pulldown
OK

Code 4: Example AT+gpioGet part 2

2.2 Configuration and control via web interface
The on-board web server on the Calypso provides web pages that allow configuration andcontrol of the remote GPIOs. The on-board remote GPIO configuration page can be reachedfrom any device through a web browser.

5

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature• In AP mode (provisioning): The device that accesses the website must be connected to
the Calypso AP and needs to open "calypso.net/gpio.html".
• In station or P2P mode: The device that accesses the website must be in the same
network as the Calypso and needs to open "[module ip]/gpio.html".
For example http://192.168.1.101/gpio.html in case the module’s IP is 192.168.1.101
This page contains the "GET" and the "SET" tabs.

Figure 1: GPIO GET tab

Figure 2: GPIO SET tab

2.2.1 GPIO Set
In order to set a remote GPIO, in the "SET" tab, select the ID, type and the value from thedropdown menu. Check the "Save" check box to save the configuration in the flash. Finally,
click on the "POST" button to send the configuration to the module. On success, the module
returns code 204.

6

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

Figure 3: GPIO SET
2.2.2 GPIO Get
In order to read a remote GPIO, in the "GET" tab, select the ID and runtime/default value
from the dropdown menu. Finally, click on the "GET" button to get the configuration from themodule. On success, the module returns a JSON string with the current/default state of theremote GPIO.

Figure 4: GPIO GETThe remote GPIOs on the Calypso can be accessed in all application modes
except FOTA mode.

7

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO featureThis webpage uses RESTful APIs in order to perform GET and POST requests
on remote GPIO resources on the Calypso. A detailed description of these API
calls can be found in chapter "The HTTP server interface" of the Calypso user
manual [1]8Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

3 References[1] Würth Elektronik. Calypso user manual. https://www.we-online.de/katalog/de/manual/
2610011025000.

9

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

4 Important notes
The Application Note and its containing information ("Information") is based on Würth Elektronik eiSos GmbH & Co. KG and its subsidiaries and affiliates ("WE eiSos") knowledge andexperience of typical requirements concerning these areas. It serves as general guidance andshall not be construed as a commitment for the suitability for customer applications by WE
eiSos. While WE eiSos has used reasonable efforts to ensure the accuracy of the Information,
WE eiSos does not guarantee that the Information is error-free, nor makes any other representation, warranty or guarantee that the Information is completely accurate or up-to-date. The
Information is subject to change without notice. To the extent permitted by law, the Information
shall not be reproduced or copied without WE eiSos’ prior written permission. In any case,
the Information, in full or in parts, may not be altered, falsified or distorted nor be used for any
unauthorized purpose.
WE eiSos is not liable for application assistance of any kind. Customer may use WE eiSos’assistance and product recommendations for customer’s applications and design. No oral or
written Information given by WE eiSos or its distributors, agents or employees will operate tocreate any warranty or guarantee or vary any official documentation of the product e.g. data
sheets and user manuals towards customer and customer shall not rely on any provided Information. THE INFORMATION IS PROVIDED "AS IS". CUSTOMER ACKNOWLEDGES THATWE EISOS MAKES NO REPRESENTATIONS AND WARRANTIES OF ANY KIND RELATED
TO, BUT NOT LIMITED TO THE NON-INFRINGEMENT OF THIRD PARTIES’ INTELLECTUAL PROPERTY RIGHTS OR THE MERCHANTABILITY OR FITNESS FOR A PURPOSEOR USAGE. WE EISOS DOES NOT WARRANT OR REPRESENT THAT ANY LICENSE, EITHER EXPRESS OR IMPLIED, IS GRANTED UNDER ANY PATENT RIGHT, COPYRIGHT,
MASK WORK RIGHT, OR OTHER INTELLECTUAL PROPERTY RIGHT RELATING TO ANYCOMBINATION, MACHINE, OR PROCESS IN WHICH WE EISOS INFORMATION IS USED.
INFORMATION PUBLISHED BY WE EISOS REGARDING THIRD-PARTY PRODUCTS ORSERVICES DOES NOT CONSTITUTE A LICENSE FROM WE eiSos TO USE SUCH PRODUCTS OR SERVICES OR A WARRANTY OR ENDORSEMENT THEREOF.
The responsibility for the applicability and use of WE eiSos’ components in a particular customer design is always solely within the authority of the customer. Due to this fact it is up
to the customer to evaluate and investigate, where appropriate, and decide whether the device with the specific characteristics described in the specification is valid and suitable for therespective customer application or not. The technical specifications are stated in the current
data sheet and user manual of the component. Therefore the customers shall use the data
sheets and user manuals and are cautioned to verify that they are current. The data sheets
and user manuals can be downloaded at www.we-online.com. Customers shall strictly observe
any product-specific notes, cautions and warnings. WE eiSos reserves the right to make corrections, modifications, enhancements, improvements, and other changes to its products andservices at any time without notice.
WE eiSos will in no case be liable for customer’s use, or the results of the use, of the components or any accompanying written materials. IT IS CUSTOMER’S RESPONSIBILITY TO
VERIFY THE RESULTS OF THE USE OF THIS INFORMATION IN IT’S OWN PARTICULAR
ENGINEERING AND PRODUCT ENVIRONMENT AND CUSTOMER ASSUMES THE ENTIRERISK OF DOING SO OR FAILING TO DO SO. IN NO CASE WILL WE EISOS BE LIABLE FOR

10

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

CUSTOMER’S USE, OR THE RESULTS OF IT’S USE OF THE COMPONENTS OR ANY ACCOMPANYING WRITTEN MATERIAL IF CUSTOMER TRANSLATES, ALTERS, ARRANGES,
TRANSFORMS, OR OTHERWISE MODIFIES THE INFORMATION IN ANY WAY, SHAPE OR
FORM.
If customer determines that the components are valid and suitable for a particular design andwants to order the corresponding components, customer acknowledges to minimize the risk ofloss and harm to individuals and bears the risk for failure leading to personal injury or death
due to customers usage of the components. The components have been designed and developed for usage in general electronic equipment only. The components are not authorized foruse in equipment where a higher safety standard and reliability standard is especially requiredor where a failure of the components is reasonably expected to cause severe personal injury
or death, unless WE eiSos and customer have executed an agreement specifically governing
such use. Moreover WE eiSos components are neither designed nor intended for use in areas
such as military, aerospace, aviation, nuclear control, submarine, transportation, transportation signal, disaster prevention, medical, public information network etc. WE eiSos must be
informed about the intent of such usage before the design-in stage. In addition, sufficient reliability evaluation checks for safety must be performed on every component which is used inelectrical circuits that require high safety and reliability functions or performance. COSTUMER
SHALL INDEMNIFY WE EISOS AGAINST ANY DAMAGES ARISING OUT OF THE USE OF
THE COMPONENTS IN SUCH SAFETY-CRITICAL APPLICATIONS.

11

Version 1.1, July 2023

www.we-online.com/wcs

WIRELESS CONNECTIVITY & SENSORS
ANR029 - Calypso Remote GPIO feature

List of Figures
1
2
3
4

GPIO GET tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GPIO SET tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GPIO SET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GPIO GET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6
6
7
7

List of Tables
1
2
3
4
5

Supported pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AT+gpioSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AT+gpioSet arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
AT+gpioSet GPIO type and valueX arguments . . . . . . . . . . . . . . . . . . .
AT+gpioGet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
4
4
4
5

12

Version 1.1, July 2023

www.we-online.com/wcs

Contact
Würth Elektronik eiSos GmbH & Co. KG
Division Wireless Connectivity & Sensors
Max-Eyth-Straße 174638 Waldenburg
Germany
Tel.: +49 651 99355-0
Fax.: +49 651 99355-69
www.we-online.com/wireless-connectivity