P ROTEUS - E REFERENCE MANUAL 2612011024000 V ERSION 0.
*************** MUST READ Check for firmware updates Before using the product make sure you use the most recent firmware version, data sheet and user manual. This is especially important for Wireless Connectivity products that were not purchased directly from Würth Elektronik eiSos. A firmware update on these respective products may be required. We strongly recommend to include in the customer system design, the possibility for a firmware update of the product.
Revision history Manual version FW version HW version 1.0 1.0.0 1.0 Notes • Initial release Date December 2021 ? For firmware history see chapter Firmware history Proteus-e reference manual version 0.3 www.we-online.
Abbreviations and abstract Abbreviation Name Description Bluetooth® conform MAC address of the module used on the RF-interface. BTMAC CS Checksum Byte wise XOR combination of the preceding fields. DSSS Direct sequence spread spectrum Technique to spread a message on the radio DTM Direct test mode Mode to test Bluetooth® specific RF settings. EV (Board) Evaluation (Board) Proteus-e populated on motherboard with USB interface for test and evaluation purpose.
Contents 1. Introduction 1.1. Operational description 1.1.1. Key features . . 1.1.2. Connectivity . . 1.2. Block diagram . . . . . . 1.3. Ordering information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2. Electrical specifications 2.1. Recommended operating conditions 2.2. Absolute maximum ratings . . . . . . 2.3. Power consumption . . . . . . . . . . 2.3.1. Static . . . . . . . . . . . . . 2.3.2. Dynamic . . . . . . . . . . . 2.4. Radio characteristics . . . . . . . .
7.2. 7.3. 7.4. 7.5. 7.6. 7.1.4. CMD_DISCONNECT_REQ . . . . . . . . . . . . . . . . . . . . . . 7.1.5. CMD_DISCONNECT_IND . . . . . . . . . . . . . . . . . . . . . . . 7.1.6. CMD_PHYUPDATE_REQ . . . . . . . . . . . . . . . . . . . . . . . 7.1.7. CMD_PHYUPDATE_IND . . . . . . . . . . . . . . . . . . . . . . . . 7.1.8. CMD_GETBONDS_REQ . . . . . . . . . . . . . . . . . . . . . . . . 7.1.8.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.9. CMD_DELETEBONDS_REQ . . . . . . . . .
.7. 7.8. 7.6.6. CMD_GPIO_REMOTE_READ_REQ . . . . . . . . . . . . . . . . . 7.6.6.1. Example: Read the values of remote GPIOs . . . . . . . . . . . 7.6.7. CMD_GPIO_LOCAL_WRITE_REQ . . . . . . . . . . . . . . . . . . 7.6.7.1. Example: Set a local output GPIO to low . . . . . . . . . . . . . 7.6.8. CMD_GPIO_LOCAL_READ_REQ . . . . . . . . . . . . . . . . . . 7.6.8.1. Example: Read the values of local GPIOs . . . . . . . . . . . . 7.6.9. CMD_GPIO_REMOTE_WRITECONFIG_IND . . . . . . . . . . . . 7.6.9.1.
.13. RF_ConnectionInterval: Modify the connection interval . . 8.13.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 8.13.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 8.14. RF_TXPower: Modify the output power . . . . . . . . . . . 8.14.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 8.14.2. Example 2 . . . . . . . . . . . . . . . . . . . . . . 8.15. RF_SPPBaseUUID: Configure the SPP base UUID . . . . 8.15.1. Example 1 . . . . . . . . . . . . . . . . . . . . . . 8.15.2.
13.4. Contact for firmware requests . . . . . . . . . . . . . . . . . . . . . . . . . . 131 14. Firmware updates 132 14.1. Firmware flashing using the production interface . . . . . . . . . . . . . . . 132 15. Firmware history 133 16. Design in guide 16.1. Advice for schematic and layout . . . . . . . . . . . . . . . . . 16.2. Dimensioning of the micro strip antenna line . . . . . . . . . . 16.3. Antenna solutions . . . . . . . . . . . . . . . . . . . . . . . . 16.3.1. Wire antenna . . . . . . . . . . . .
23. Bluetooth SIG listing/qualification 159 24. Regulatory compliance information 24.1. Important notice EU . . . . . . . . . . . . . . 24.2. Important notice FCC . . . . . . . . . . . . . 24.3. Conformity assessment of the final product . 24.4. Exemption clause . . . . . . . . . . . . . . . . 24.5. FCC Compliance Statement . . . . . . . . . . 24.6. IC Compliance Statement . . . . . . . . . . . 24.7. FCC and IC requirements to OEM integrators 24.7.1. OEM requirements: . . . . . . . . . . 24.7.2.
1. Introduction 1.1. Operational description The Proteus-e is a radio module for wireless communication between devices such as control systems, remote controls, sensors etc. On the basis of Bluetooth® LE 5.1, it offers a fast and secure data transmission of data packages between two parties (point to point topology). The Bluetooth® LE standard itself offers very high configurability, making the module suitable for a wide range of applications.
1.1.1. Key features The Proteus-e offers the following key features: SPP-like connection-based secured data transmission: The Proteus-e firmware implements an SPP-like Bluetooth® LE profile that allows the bidirectional data transmission between two Proteus-e and/or to other Bluetooth® LE devices implementing the SPPlike profile. Secured connections allow the transmission of encrypted and authenticated data. Remote GPIOs: The Proteus-e firmware allows to switch free module GPIOs via remote control.
1.2. Block diagram Proteus-e Shielding Wireless MCU UART, Reset, GPIO, SWD ARM Cortex M4, Flash, RAM Power supply DCDC voltage regulator High accuracy crystal Radio core, 2.4GHz Bluetooth 5.1 RF Filter & 50Ω matching external wiring according to trace design 50Ω port to λ/4 antenna Antenna Figure 2: Block diagram of the module 1.3.
2. Electrical specifications As not otherwise stated measured on the evaluation board of the Proteus-e with T=25°C, VDD=3V, f=2.44GHz, internal DC-DC converter in use. 2.1. Recommended operating conditions Parameter Min. Typ. Max. Unit Ambient temperature -40 25 85 °C Supply voltage (VDD) 1.81 3 3.6 V 60 ms Supply rise time (0V to ≥ 1.
2.3. Power consumption 2.3.1. Static Parameter TX Current consumption Power Test conditions RF_TXPower = 4 RF_TXPower = 0 Value Unit Transmitter only with DC/DC converter from nRF52 data sheet, CPU current not included Full module current consumption Transmitter only with DC/DC converter from nRF52 data sheet, CPU current not included Full module current consumption 8 mA 9.3 mA 5.8 mA 7.
Figure 3: Sleep current (no RAM retention, wake on reset) over operating temperature range Figure 4: Radio transmitting @ 4 dBm output power, 1 Mbps Bluetooth® LE mode, Clock = HFXO, Regulator = DC/DC (typical values) Proteus-e reference manual version 0.3 www.we-online.
2.3.2. Dynamic Besides the static TX, RX, idle and sleep current the average current is of interest. Here an example for a typical behavior of a peripheral device in advertising mode (see Figure 5). Currents and state durations are dependent on the configuration of the module. In this state the module transmits the advertising packets on the three advertising channels. Nordic Semiconductor provides an online tool calculating the average current of a Bluetooth® connection.
2.4. Radio characteristics Parameter Min. Max.
2.5. Pin characteristics Specifications from nRF52 data sheet are reported here below. Parameter Min. Input high voltage Typ. Max. Unit 0.7 ×VCC VCC V Input low voltage VSS 0.3 ×VCC V Current at VSS+0.4 V, output set low, standard drive, VDD ≥1.7V 1 2 4 mA Current at VSS+0.4 V, output set low, high drive, VDD ≥ 2.7 V 6 10 15 mA Current at VSS+0.4 V, output set low, high drive, VDD ≥ 1.7 V 3 Current at VDD-0.4 V, output set high, standard drive, VCC ≥1.
3. Pinout 1 ANT 15 RF GPIO_1 B4 B1 SWDIO BUSY/ UART_ENABLE 7 10 /RESET UTXD GND GND SWDCLK URXD MODE_1 6 11 LED_1 /CTS /RTS GPIO_2 VDD Figure 6: Pinout (top view) Proteus-e reference manual version 0.3 www.we-online.
No µC Pin Designation I/O Description 1 ANT I/O RF connection to PCB antenna. (see chapter 4.2) 2 RF I/O 50Ω RF connection through radio front end to transceiver part of chipset. (see chapter 4.2) 3 SWDIO Input Serial wire input/output (SWD Interface). Uses internal pull up resistor. Do not connect if not needed. SWDCLK Input Serial wire clock (SWD Interface). Uses internal pull down resistor. Do not connect if not needed. /RESET Input Reset pin. A low signal resets the module.
No µC Pin Designation I/O Description 13 P0.16 UTXD Output 14 P0.18 URXD Input UART (Reception). Uses internal pull up resistor1 . 15 P0.20 GPIO_1 GPIO Pin for remote GPIO access. Do not connect, if not needed. B1 GND Supply Ground B2 GND Supply Ground B3 GND Supply Ground B4 GND Supply Ground UART (Transmission) Table 13: Pinout, second part Proteus-e reference manual version 0.3 www.we-online.
4. Quick start 4.1. Minimal pin connections 5 /RESET 1 VDD VDD ANT 4 RF UTXD 2 Proteus-e 6 UART_ENABLE / MODE_1 7 LED_1 8 1 GND SWDIO/SWDCLK Host Controller URXD 3 RTS / CTS Figure 7: Minimal pin connections The above image shows the steps to be performed to integrate the Proteus-e into a custom end device. 1. Supply voltage and ground Connect the VDD and GND pins to supply the radio module with power. 2.
• In case the transparent mode or the feature of switching off the UART in command mode shall be used, connect the shared pin BUSY/UART_ENABLE pin to the host controller. 7. (Optional) Status indication Connect the LED_1 pin to the host controller to allow easy indication of the status. 8. (Optional) Flash and debug interface In case of custom firmware development, it is recommended to additionally have the pins SWDIO and SWDCLK accessible in order to support a fail-safe update of firmware.
4.2. Antenna connection Proteus-e’s smart antenna configuration allows the user to choose between two antenna options. Detailed description on how to use them and what to consider for certification aspects is described in chapter 17: 4.2.1. On-board PCB antenna The Proteus-e has an on-board PCB antenna optimized for strong miniaturization operating in the 2.4 GHz frequency band. To use this integrated antenna, it has to be connected to the radio chip by connecting the pins RF and ANT. 4.2.2.
4.3. Power up After powering the module the /RESET pin shall be hold for another ∆t of 1ms after the VDD is stable to ensure a safe start-up. The module will send a CMD_GETSTATE_CNF (0x02 41 02 00 01 01 41) to indicate "ready for operation" after the /RESET pin was released. Applying a reset (e.g. a host temporarily pulling the /RESET pin down for at least 1ms and releasing it again) after the VCC is stable will also be sufficient. Figure 8: Power up Proteus-e reference manual version 0.3 www.we-online.
4.4. Quickstart example The quick start example in this chapter demonstrates how the UART communication with the Proteus-e works in command mode. In case the host sends a request message (i.e. CMD_ GET_REQ) to the radio module, it responds with an confirmation message (i.e. CMD_GET_CNF). In this example several parameters of the radio module are requested and the device name is configured.
Info Module ⇒ Request CMD_SET_REQ with settings index 2 02 11 0C 00 02 48 65 6C 6C 6F 20 57 6F 72 6C 64 3D ⇐ Response CMD_SET_CNF: Successfully modified the setting 02 51 01 00 00 52 ⇐ Response CMD_GETSTATE_CNF: Module re-started in ACTION_IDLE mode 02 41 02 00 01 01 41 Proteus-e reference manual version 0.3 www.we-online.
5. Functional description 5.1. Operation modes The Proteus-e module acts as a slave and can be fully controlled by an external host. The Proteus-e supports the following operating modes: • The command mode, where the Proteus-e can be controlled by the host controller via commands. The command mode allows to use all functions of the radio module.
ACTION_DTM The module is in direct test mode. ACTION_IDLE Permitted commands: CMD_DTM_REQ, CMD_RESET_REQ, CMD_GETSTATE_REQ The module advertises and waits for incoming connection indications. If no connection will be established, it goes to sleep.
5.3. State indication using the LED pins The pin LED_1 of the Proteus-e can be used to determine the module state. The states described in Figure 9 result in the following pin behavior. The pins on the Proteus-e are active high.
5.6. Connection based data transmission In the Bluetooth® LE standard the data transmission typically is connection based. A connection between two devices can be secured or unsecured (see user setting RF_SecFlags). The connection setup is triggered by the central device and consists of several steps, that must be run sequentially: 1. Physical connection establishment A physical connection has to be established first. Therefore, a central device (i.e.
Figure 10: Steps for the connection setup For more details about the connection setup and data transmission, please refer to application note ANR025 [3]. Proteus-e reference manual version 0.3 www.we-online.
5.7. Advertising of custom data The content of standard advertising and scan response packets of the Proteus-e is automatically defined. To place custom data in the advertising and scan response packet, the Proteus-e implements the user settings RF_AdvertisingData and RF_ScanResponseData. Both settings contain the raw data that is to be placed in the advertising packet and scan response packet respectively, 31 bytes maximum per packet.
5.9. Configure the module for low power consumption Depending on the application environment of the Proteus-e, the goal is to find the optimal trade-off between the module’s performance and its power consumption. Therefore, the main settings and operation modes that affect the current consumption are listed below: • CMD_SLEEP_REQ: This command puts the module into ACTION_SLEEP mode, where it consumes the lowest current (<1µA). In this case, both the UART and the Bluetooth® LE interface are shut down.
Info Module A Module B ⇒ Request CMD_DTMSTART_REQ to enable the DTM on module A 02 1D 00 00 1F ⇐ Response CMD_DTMSTART_CNF: Request understood, try to start DTM now 02 5D 01 00 00 5E ⇐ Indication CMD_GETSTATE_CNF: Restarted module with DTM enabled 02 41 03 00 10 05 01 54 ⇒ Request CMD_DTMSTART_REQ to enable the DTM on module B 02 1D 00 00 1F ⇐ Response CMD_DTMSTART_CNF: Request understood, try to start DTM now 02 5D 01 00 00 5E ⇐ Indication CMD_GETSTATE_CNF: Restarted module with DTM enabled 0
5.11. Using the 2 MBit phy Bluetooth® 5 allows to transmit data with 2 MBit data rate. To be backward compatible to Bluetooth® LE 4.x devices, Bluetooth® LE connections must still be setup using the 1 MBit phy. As soon as a connection has been setup, the connection can be updated to the 2 MBit. To switch the phy after the connection has been setup the Proteus-e offers the command CMD_PHYUPDATE_REQ.
6. Host connection 6.1. Serial interface: UART The configuration in factory state of the UART is 115200 Baud without flow control and with data format of 8 data Bits, no parity and 1 stop Bit ("8n1"). The baud rate and flow control of the UART can be configured by means of the UserSetting UART_ConfigIndex. The data format is fixed to 8n1. The output of characters on the serial interface runs with secondary priority.
7. The command interface The module acts as a slave and can be fully controlled by an external host. The configuration as well as the operation of the module can be managed by predefined commands that are sent as telegrams over the UART interface of the module. The commands of the command interface can be divided into 3 groups: • Requests: The host requests the module to trigger any action, e.g. in case of the request CMD_RESET_REQ the host asks the module to perform a reset.
Please note that the different commands are only valid in specific module states (see Figure 9). If a command is not permitted in the current state, the command confirmation returns "Operation not permitted" as a response. Proteus-e reference manual version 0.3 www.we-online.
7.1. Setup connections 7.1.1. CMD_CONNECT_IND This telegram indicates that a remote device starts the connection process. It contains the status and the FS_BTMAC of the connecting device. Format: Start signal Command Length Status BTMAC CS 0x02 0x86 0x07 0x00 1 Byte 6 Bytes 1 Byte Status: 0x00: Physical connection established successfully 0x01: Connection failed, e.g. due to a timeout 7.1.2. CMD_SECURITY_IND This telegram indicates the security status and the FS_BTMAC of the connected device.
Start signal Command Length CS 0x02 0x07 0x00 0x00 0x05 Response (CMD_DISCONNECT_CNF): Start signal Command | 0x40 Length Status CS 0x02 0x47 0x01 0x00 1 Byte 1 Byte Status: 0x00: Request received, try to disconnect 0x01: Operation failed 0xFF: Operation not permitted 7.1.5. CMD_DISCONNECT_IND This telegram indicates that the connection has shut down successfully. This indication message is the result of a disconnection request (CMD_DISCONNECT_REQ).
0x01: 1 MBit PHY 0x02: 2 MBit PHY Response (CMD_PHYUPDATE_CNF): Start signal Command | 0x40 Length Status CS 0x02 0x5A 0x01 0x00 1 Byte 1 Byte Status: 0x00: Request received. Try to update PHY of current connection 0x01: Operation failed, e.g. due to invalid PHY 0xFF: Operation not permitted 7.1.7. CMD_PHYUPDATE_IND This command indicates that there was an attempt to update the PHY of the existing connection.
Start signal Command | 0x40 Length Status 0x02 0x4F 2 Bytes 1 Byte #Devices 1 Byte Payload CS (Length - 2) Bytes 1 Byte The Payload sequentially lists the data of the bonded #Devices devices. It consists of #Devices times the following telegram (see example below).
Start signal Command Length Bond_ID CS 0x02 0x0E 2 Bytes 0 or 2 Bytes 1 Byte Response (CMD_DELETEBONDS_CNF): Start signal Command | 0x40 Length Status CS 0x02 0x4E 0x01 0x00 1 Byte 1 Byte Status: 0x00: Request successfully processed 0x01: Operation failed (e.g. Bond_ID not found) 0xFF: Operation not permitted 7.1.9.1. Example 1 Request to remove all bonding data.
Start signal Command Length CS 0x02 0x2D 0x00 0x00 0x2F Response (CMD_ALLOWUNBONDEDCONNECTIONS_CNF): Start signal Command | 0x40 Length Status CS 0x02 0x6D 2 Bytes 1 Byte 1 Byte Status: 0x00: Request successfully processed 0x01: Operation failed 0xFF: Operation not permitted Proteus-e reference manual version 0.3 www.we-online.
7.2. Transmit and receive data 7.2.1. CMD_DATA_REQ This command provides the simple data transfer to the previously connected device. This command is suitable for transmission for a point-to-point connection. The number of payload data bytes (MPS) is negotiated during the connection phase. It can be maximal 243 bytes, but at least 19 bytes. When the data is processed by the module a CMD_DATA_CNF is sent to the host. Additionally a CMD_TXCOMPLETE_RSP will follow as soon as the data has been sent.
Start signal Command Length BTMAC RSSI Payload CS 0x02 0x84 2 Bytes 6 Bytes 1 Byte (Length - 7) Bytes 1 Byte Proteus-e reference manual version 0.3 www.we-online.
7.3. Configuring the module and modifying the device settings It is strongly recommended to have identical settings on all devices, which have to open a connection with each other or are to be used in Beacon mode. The module’s parameters are stored in flash, but have a local copy in RAM. The flash parameters can be modified by the CMD_SET_REQ, read by the CMD_GET_REQ and retain their content even when resetting the module. 7.3.1.
Start signal Command Length Settings index Parameter CS 0x02 0x11 2 Bytes 1 Byte (Length - 1) Bytes 1 Byte Response (CMD_SET_CNF): Start signal Command | 0x40 Length Status CS 0x02 0x51 0x01 0x00 1 Byte 1 Byte Status: 0x00: Request received, settings set successfully 0x01: Operation failed due to invalid parameter 0x04: Serious error, when writing flash. Try to factory reset or re-flash the device 0x05: Supply voltage too low. Please apply correct supply voltage, reset and retry.
7.3.2. CMD_GET_REQ This command can be used to query individual setting parameters in flash. The respective parameters are accessed by means of the corresponding settings index, which can be found in Table 21. Parameters of 2 or more bytes have to be transferred with the LSB first unless noted differently in the corresponding description. Read access to the memory area outside the setting is blocked.
7.4. Manage the device state 7.4.1. CMD_GETSTATE_REQ This command returns the current state of the module. Please refer to chapter 5 for details on the states of the module.
Start signal Command | 0x40 Length Module role Module actions More info CS 0x02 0x41 0x09 0x00 0x01 0x03 0x11 0x00 0x00 0xDA 0x18 0x00 0xF3 0x68 The module is connected to another module with FS_BTMAC 0x11 0x00 0x00 0xDA 0x18 0x00 and an MPS of 243 Bytes (0xF3). 7.4.2. CMD_RESET_REQ This command triggers a software reset of the module.
7.4.4. CMD_SLEEP_IND This indication is send by the module when the RF_AdvertisingTimeout has expired without a connection to the module. Format: Start signal Command Length Status CS 0x02 0x82 0x01 0x00 0x00 1 Byte Status: 0x00: Advertising timeout detected, will go to sleep now 7.4.5. CMD_FACTORYRESET_REQ This command triggers a factory reset of the module. First, the default User Settings are restored, then the module is reset.
During start-up of the device, the user settings memory is checked for consistency. In case of inconsistency (e.g. the memory was erased) the device will perform a factory reset. 7.4.6. CMD_UARTDISABLE_REQ This command disables the UART of the module. It will be re-enabled when the module has to send data to the host (e.g.
Start signal Command Length Status CS 0x02 0x9B 0x01 0x00 1 Byte 1 Byte Status: 0x00: UART has been re-enabled successfully Proteus-e reference manual version 0.3 www.we-online.
7.5. Run the Bluetooth test modes The test modes "DTM" as specified by the Bluetooth® SIG are defined in the Bluetooth® Core specification. 7.5.1. CMD_DTMSTART_REQ This command restarts the module in direct test mode (DTM). When starting in DTM mode, a CMD_GETSTATE_CNF message follows which indicates that the test mode has been enabled successfully. Now the CMD_DTM_REQ can be used to start and stop various test modes. Performing a reset will leave the DTM and restart the module in the ACTION_IDLE state.
Vendor option Vendor command Payload 0x00: Reset DTM 0x00 0x00 New phy 1. 0x01: 1MBit 0x02: Set phy 0x00 2.
0x00: Request received 0x01: Operation failed 0x03: Busy 0xFF: Operation not permitted Result: 0x0000: Test success 0x0001: Test failed 0x8000 + n: Received n packets during RX test See also the example in chapter 5.10. 7.5.2.1. Example: Transmission, 16 times 0x0F, channel 0 Start the transmission test on channel 0 (2402 MHz).
Start signal Command | 0x40 Length Status Result CS 0x02 0x5E 0x03 0x00 0x00 0x80 0x00 0xDF Test stopped successfully and received 0 packets. 7.5.2.2.
Start signal Command | 0x40 Length Status Result CS 0x02 0x5E 0x03 0x00 0x00 0x00 0x00 0x5F See the previous example to stop the test again. 7.5.2.4.
7.6. Switching GPIOs by remote control This chapter contains the commands to use the GPIO feature of the Proteus-e. Please refer to chapter 11 for a detailed description. 7.6.1. CMD_GPIO_LOCAL_WRITECONFIG_REQ This command configures the free GPIOs of the radio module. This is necessary to allow local and remote GPIO control. As the configuration is stored in flash, it is retained after restarting the device. The flash memory used to store these settings has a limited count of write cycles of minimum 10.000.
Values: • if Function is disconnected, Length is 0x03: 0x00: value field must use 0x00.
7.6.2. CMD_GPIO_LOCAL_READCONFIG_REQ This command reads the current configuration of the free GPIOs of the radio module. Format: Start signal Command Length CS 0x02 0x2B 0x00 0x00 0x29 Response (CMD_GPIO_LOCAL_READCONFIG_CNF): Start signal Command | 0x40 Length Status Block1 0x02 0x6B 2 Bytes 1 Byte x Bytes ...
7.6.2.1. Example: Read the current GPIO configuration Read the current configuration: Start signal Command Length CS 0x02 0x2B 0x00 0x00 0x29 Response: Start signal Command | 0x40 Length Status Blocks CS 0x02 0x6B 0x09 0x00 0x00 0x03 0x01 0x02 0x01 0x03 0x02 0x02 0x01 0x63 The GPIOs with GPIO_ID 0x01 and 0x02 are output high. Proteus-e reference manual version 0.3 www.we-online.
7.6.3. CMD_GPIO_REMOTE_WRITECONFIG_REQ This command configures the free GPIOs of the connected remote device. This is necessary to allow remote GPIO control. As the configuration is stored in flash, it is retained after restarting the device. This command can be run successfully only if the remote device is connected via Bluetooth® LE. The flash memory used to store these settings has a limited count of write cycles of minimum 10.000.
0x00: value field must use 0x00. • if Function is input, Length is 0x03: 0x00: GPIO has no pull resistor 0x01: GPIO has internal pull down resistor 0x02: GPIO has internal pull up resistor • if Function is output, Length is 0x03: 0x00: GPIO is output LOW 0x01: GPIO is output HIGH CMD_GPIO_REMOTE_WRITECONFIG_CNF block structure Each Block has the following format: Length GPIO_ID Status 0x02 1 Byte 1 Byte Length: Length of the subsequent bytes in this block GPIO_ID: ID of the GPIO, see chapter 11.
7.6.4. CMD_GPIO_REMOTE_READCONFIG_REQ This command reads the current configuration of the free GPIOs of the connected remote device. Format: Start signal Command Length CS 0x02 0x2C 0x00 0x00 0x2E Response (CMD_GPIO_REMOTE_READCONFIG_CNF): Start signal Command | 0x40 Length Status Block1 0x02 0x6C 2 Bytes 1 Byte x Bytes ...
7.6.4.1. Example: Read the current GPIO configuration of the connected remote device Read the current GPIO configuration of the connected remote device: Start signal Command Length CS 0x02 0x2C 0x00 0x00 0x2E Response: Start signal Command | 0x40 Length Status Blocks CS 0x02 0x6C 0x09 0x00 0x00 0x03 0x01 0x02 0x01 0x03 0x02 0x02 0x01 0x64 The GPIOs with GPIO_ID 0x01 and 0x02 are output high. Proteus-e reference manual version 0.3 www.we-online.
7.6.5. CMD_GPIO_REMOTE_WRITE_REQ This command writes the free GPIOs of the remote device. This command can be only run successfully if the respective pins of the remote device have been configured as output pins before and the remote device is connected via Bluetooth® LE. Format: Start signal Command Length Block1 0x02 0x29 2 Bytes x Bytes ...
Status: 0x00: Success 0x01: Failed 7.6.5.1. Example: Set a remote output GPIO to low Set the output GPIO (GPIO_ID 0x01) of the connected remote device to low: Start signal Command Length Block1 CS 0x02 0x29 0x03 0x00 0x02 0x01 0x00 0x2B Response: Start signal Command | 0x40 Length Status Block1 CS 0x02 0x69 0x04 0x00 0x00 0x02 0x01 0x00 0x6C Successfully set GPIO with GPIO_ID 0x01 to low. Proteus-e reference manual version 0.3 www.we-online.
7.6.6. CMD_GPIO_REMOTE_READ_REQ This command reads the free GPIOs of the remote device. This command can be only run successfully if the respective pins of the remote device have been configured as output or input pins before and the remote device is connected via Bluetooth® LE. Format: Start signal Command Length Block1 0x02 0x2A 2 Bytes x Bytes ...
7.6.6.1. Example: Read the values of remote GPIOs Read the value of the GPIOs with GPIO_ID 0x01 and 0x02 of the connected remote device: Start signal Command Length Block1 CS 0x02 0x2A 0x03 0x00 0x02 0x01 0x02 0x2A Response: Start signal Command | 0x40 Length Status Block1 Block2 CS 0x02 0x6A 0x07 0x00 0x00 0x02 0x01 0x00 0x02 0x02 0x01 0x6D Successfully read the values of the remote GPIOs with GPIO_ID 0x01 (GPIO is low) and 0x02 (GPIO is high).
7.6.7. CMD_GPIO_LOCAL_WRITE_REQ This command writes the free GPIOs of the local device. This command can be only run successfully if the respective pins of the local device have been configured as output pins before. Format: Start signal Command Length Block1 0x02 0x26 2 Bytes x Bytes ... Blockn CS x Bytes 1 Byte Response (CMD_GPIO_LOCAL_WRITE_CNF): Start signal Command | 0x40 Length Status Block1 0x02 0x66 2 Bytes 1 Byte x Bytes ...
Status: 0x00: Success 0x01: Failed 7.6.7.1. Example: Set a local output GPIO to low Set the output GPIO (GPIO_ID 0x01) of the local device to low: Start signal Command Length Block1 CS 0x02 0x26 0x03 0x00 0x02 0x01 0x00 0x24 Response: Start signal Command | 0x40 Length Status Block1 CS 0x02 0x66 0x04 0x00 0x00 0x02 0x01 0x00 0x63 Successfully set GPIO with GPIO_ID 0x01 to low. Proteus-e reference manual version 0.3 www.we-online.
7.6.8. CMD_GPIO_LOCAL_READ_REQ This command reads the free GPIOs of the local device. This command can be only run successfully if the respective pins of the local device have been configured as output or input pins before. Format: Start signal Command Length Block1 0x02 0x27 2 Bytes x Bytes ... Blockn CS x Bytes 1 Byte Response (CMD_GPIO_LOCAL_READ_CNF): Start signal Command | 0x40 Length Status Block1 0x02 0x67 2 Bytes 1 Byte x Bytes ...
7.6.8.1. Example: Read the values of local GPIOs Read the value of the GPIOs with GPIO_ID 0x01 and 0x02 of the local device: Start signal Command Length Block1 CS 0x02 0x27 0x03 0x00 0x02 0x01 0x02 0x27 Response: Start signal Command | 0x40 Length Status Block1 Block2 CS 0x02 0x67 0x07 0x00 0x00 0x02 0x01 0x00 0x02 0x02 0x01 0x60 Successfully read the values of the local GPIOs with GPIO_ID 0x01 (GPIO is low) and 0x02 (GPIO is high). Proteus-e reference manual version 0.3 www.
7.6.9. CMD_GPIO_REMOTE_WRITECONFIG_IND This command indicates that the remote device has written the free GPIOs of the radio module. Please note that only the GPIOs are part of this message, that have been configured successfully. Failed attempts of GPIO configurations will not be indicated by this message. Format: Start signal Command Length Block1 0x02 0xA8 2 Bytes x Bytes ... Blockn CS x Bytes 1 Byte The Block structure is as defined in CMD_GPIO_REMOTE_WRITECONFIG_REQ block structure. 7.6.9.
7.6.10. CMD_GPIO_REMOTE_WRITE_IND This command indicates that the remote device has written the free GPIOs of the radio module. Please note that only the GPIOs are part of this message, that have been updated successfully. Failed attempts of GPIO updates will not be indicated by this message. Format: Start signal Command Length Block1 0x02 0xA9 2 Bytes x Bytes ... Blockn CS x Bytes 1 Byte The Block structure is as defined in CMD_GPIO_LOCAL_READ_CNF block structure. 7.6.10.1.
7.6.11. CMD_GPIO_LOCAL_WRITE_IND This command indicates that the GPIOs of the remote device have been written by its local host. Please note that only the GPIOs are part of this message, that have been updated successfully. Failed attempts of GPIO updates will not be indicated by this message. Format: Start signal Command Length Block1 0x02 0xA6 2 Bytes x Bytes ... Blockn CS x Bytes 1 Byte The Block is of structure as defined in CMD_GPIO_LOCAL_READ_CNF block structure . 7.6.11.1.
7.7. Other messages 7.7.1. CMD_ERROR_IND This indication is shown when the module entered an error state. Format: Start signal Command Length Status CS 0x02 0xA2 0x01 0x00 1 Byte 1 Byte Status: 0x01: UART_COMMUNICATION_ERROR The UART had a buffer overflow. Thus, UART TX and RX was aborted and UART has restarted. Please restart module if UART is still malfunctioning. Proteus-e reference manual version 0.3 www.we-online.
7.8. Message overview Start signal CMD Message name Short description Chapter 0x02 0x00 CMD_RESET_REQ Reset the module 7.4.2 0x02 0x01 CMD_GETSTATE_REQ Request the current module state 7.4.1 0x02 0x02 CMD_SLEEP_REQ Go to sleep 7.4.3 0x02 0x04 CMD_DATA_REQ Send data to the connected device 7.2.1 0x02 0x07 CMD_DISCONNECT_REQ Close the connection 7.1.4 0x02 0x0E CMD_DELETEBONDS_REQ Delete bonding information 7.1.
Start signal CMD Message name Short description 0x02 0x25 CMD_GPIO_LOCAL_WRITECONFIG_ REQ Configure the free GPIOs for remote control 7.6.1 0x02 0x26 CMD_GPIO_LOCAL_WRITE_REQ Set the output value of a output GPIO of the current device 7.6.7 0x02 0x27 CMD_GPIO_LOCAL_READ_REQ Read the value of a GPIO of the current device 7.6.8 0x02 0x28 CMD_GPIO_REMOTE_WRITECONFIG_ REQ Configure the free GPIOs of the remote device for remote control 7.6.
Start signal CMD Message name Short description 0x02 0x40 CMD_RESET_CNF Reset request received 7.4.2 0x02 0x41 CMD_GETSTATE_CNF Return the current module state 7.4.1 0x02 0x42 CMD_SLEEP_CNF Sleep request received 7.4.3 0x02 0x44 CMD_DATA_CNF Data transmission request received 7.2.1 0x02 0x47 CMD_DISCONNECT_CNF Disconnection request received 7.1.4 0x02 0x4E CMD_DELETEBONDS_CNF Deleted bonding information 7.1.
Start signal CMD Message name Short description 0x02 0x82 CMD_SLEEP_IND State will be changed to ACTION_SLEEP 7.4.4 0x02 0x84 CMD_DATA_IND Data has been received 7.2.3 0x02 0x86 CMD_CONNECT_IND Connection established 7.1.1 0x02 0x87 CMD_DISCONNECT_IND Disconnected 7.1.5 0x02 0x88 CMD_SECURITY_IND Secured connection established 7.1.2 0x02 0x9A CMD_PHYUPDATE_IND PHY has been updated 7.1.7 0x02 0x9B CMD_UARTENABLE_IND UART was re-enabled 7.4.
8. UserSettings - Module configuration values The settings described in this chapter are stored permanently in the module’s flash memory. Depending on their corresponding permissions, their current values can be read out by the CMD_GET_REQ command or modified by the CMD_SET_REQ command. To do so the corresponding settings index is used, which can be found in the primary table of each setting description. The validity of the specified parameters is not verified.
Packet variant Package Flash size RAM size WLCSP WLCSP 196 kB 24 kB Table 19: nRF52805 IC revision overview 8.1.1. Example 1 Request the device info of the module using CMD_GET_REQ with settings index 15 Start signal Command Length Settings index CS 0x02 0x10 0x01 0x00 0x0F 0x1C Response CMD_GET_CNF: Successfully read out the device info (with Byte order changed to MSB first): OS version = 0x0126 (Softdevice S112 7.3.
8.2. FS_FWVersion: Read the firmware version Settings index Designation Permissible values Default value Permissions Number of Bytes 1 FS_FWVersion - - read 3 This setting contains the firmware version of the module. 8.2.1.
8.3. FS_MAC: Read the MAC address Settings index Designation Permissible values Default value Permissions Number of Bytes 3 FS_MAC - - read 8 This setting contains the unique MAC address of the module. 8.3.1.
8.4. FS_BTMAC: Read the Bluetooth conform MAC address Settings index Designation Permissible values Default value Permissions Number of Bytes 4 FS_BTMAC - - read 6 This setting contains the Bluetooth® LE conform MAC address of the module. The FS_BTMAC is introduced and used to find the respective device on the RF-interface. It consists of the company ID 0x0018DA followed by the FS_SerialNumber of the module. Please note that LSB is transmitted first in all commands. 8.4.1.
8.5. FS_SerialNumber: Read the serial number of the module Settings index Designation Permissible values Default value Permissions Number of Bytes 16 FS_SerialNumber - - read 3 This setting contains the serial number of the module. 8.5.1. Example 1 Request the serial number of the module using CMD_GET_REQ with settings index 16 Start signal Command Length Settings index CS 0x02 0x10 0x01 0x00 0x10 0x03 Response CMD_GET_CNF: Successfully read out the serial number, it is 0.0.
8.6. RF_DeviceName: Modify the device name Settings index Designation Permissible values Default value Permissions Number of Bytes 2 RF_DeviceName See description "Proteus-E" read/write 1-31 This parameter is using MSB first notation. This parameter determines the name of the module, which is used in the advertising packets as well as in the Generic Access Profile (GAP).
Start signal Command Length Settings index CS 0x02 0x10 0x01 0x00 0x02 0x11 Response CMD_GET_CNF: Successfully read out the module as 0x41 0x32 0x37 0x32 0x31 = "A2721". Start signal Command | 0x40 Length Status Parameter CS 0x02 0x50 0x06 0x00 0x00 0x41 0x32 0x37 0x32 0x31 0x13 Proteus-e reference manual version 0.3 www.we-online.
8.7. RF_StaticPasskey: Modify the static passkey Settings index Designation Permissible values Default value Permissions Number of Bytes 18 RF_StaticPasskey See description "123123" read/write 6 This setting determines the static pass key of the peripheral device used for authentication. If the static pass key security mode is enabled by the peripheral, this key must be entered in the central device. The permissible characters are ranging from 0x30 to 0x39 which are ASCII numbers (0-9).
8.8. RF_SecFlags: Modify the security settings Settings index Designation Permissible values Default value Permissions Number of Bytes 12 RF_SecFlags See description 0 read/write 1 This 8-Bit field configures security settings of the module. Chapter 5.6 contains further information about secure connections. When connecting from a foreign device to a Proteus-e, the peripheral (Proteuse) determines the minimum security level needed for communication.
8.8.1. Example 1 Set the security flags to 0x0B, to use the static passkey pairing and with bonding enabled, using CMD_SET_REQ with settings index 12 Start signal Command Length Settings index Parameter CS 0x02 0x11 0x02 0x00 0x0C 0x0B 0x16 Response CMD_SET_CNF: Successfully modified the setting. Start signal Command | 0x40 Length Status CS 0x02 0x51 0x01 0x00 0x00 0x52 8.8.2.
8.9. RF_ScanResponseData: Modify the content of the scan response packet Settings index Designation Permissible values Default value Permissions Number of Bytes 14 RF_ScanResponseData See description None read/write 31 The standard content of the scan response packet of the Proteus-e is automatically defined. This setting allows to put user content in the scan response packet.
Start signal Command | 0x40 Length Status Parameter CS 0x02 0x50 0x04 0x00 0x00 0x02 0x0A 0x04 0x5A Proteus-e reference manual version 0.3 www.we-online.
8.10. RF_AdvertisingData: Modify the content of the advertising packet Settings index Designation Permissible values Default value Permissions Number of Bytes 13 RF_AdvertisingData See description None read/write 31 The standard content of the advertising packet of the Proteus-e is automatically defined. This setting allows to put user content in the advertising packet.
Start signal Command Length Settings index CS 0x02 0x10 0x01 0x00 0x0D 0x1E Response CMD_GET_CNF:Successfully read out the content as: • full device name is "Hello" (0x06 0x09 0x48 0x65 0x6C 0x6C 0x6F) • TX power is 4 (0x02 0x0A 0x04) Start signal Command | 0x40 Length Status Parameter CS 0x02 0x50 0x0B 0x00 0x00 0x06 0x09 0x48 0x65 0x6C 0x6C 0x6F 0x02 0x0A 0x04 0x18 Proteus-e reference manual version 0.3 www.we-online.
8.11. RF_AdvertisingTimeout: Modify the advertising timeout Settings index 7 Designation Permissible values Default value Permissions Number of Bytes RF_AdvertisingTimeout 0 (infinite), 1 - 650 0 read/write 2 This parameter defines the time in seconds after which the advertising of the module stops. If no peer connects before this timeout, advertising stops and the module goes to sleep mode. If the RF_AdvertisingTimeout is set to 0, the module advertises infinitely.
8.12. RF_AdvertisingInterval: Modify the advertising interval Settings index 9 Designation Permissible values Default value Permissions Number of Bytes RF_AdvertisingInterval 20 - 10240 40 read/write 2 The RF_AdvertisingInterval defines how often advertising packets are transmitted. The value is the interval in milliseconds. The choice of the RF_AdvertisingInterval primarily affects the latency of device detection on air as well as the current consumption.
8.13. RF_ConnectionInterval: Modify the connection interval Settings index Designation Permissible values Default value Permissions Number of Bytes 8 RF_ConnectionInterval See description 15-50 read/write 4 The user setting RF_ConnectionInterval defines the minimum and maximum connection interval, which is used to negotiate the connection interval during connection setup.
Start signal Command Length Settings index Parameter CS 0x02 0x11 0x05 0x00 0x08 0x10 0x00 0x28 0x00 0x26 Response CMD_SET_CNF: Successfully modified the setting. Start signal Command | 0x40 Length Status CS 0x02 0x51 0x01 0x00 0x00 0x52 8.13.2.
8.14. RF_TXPower: Modify the output power Settings index 17 Designation Permissible values Default value Permissions Number of Bytes RF_TXPower See description 4 read/write 1 This setting determines the output power in dBm of the module. The value has to be entered in hexadecimal and as two’s complement. The permissible values are listed in the following table.
Start signal Command Length Settings index CS 0x02 0x10 0x01 0x00 0x11 0x02 Response CMD_GET_CNF: Successfully read out the value 0x04 = 4dBm Start signal Command | 0x40 Length Status Parameter CS 0x02 0x50 0x02 0x00 0x00 0x04 0x54 Proteus-e reference manual version 0.3 www.we-online.
8.15. RF_SPPBaseUUID: Configure the SPP base UUID Settings index 26 Designation Permissible values Default value Permissions Number of Bytes RF_SPPBaseUUID See description 0x6E400000C352 11E5953D0002 A5D5C51B read/write 16 Set the base UUID of the SPP-like profile. For more information about the UUID definition, please refer to chapter 12.1. 8.15.1.
8.16. RF_SPPServiceUUID: Configure the SPP service UUID Settings index 32 Designation Permissible values Default value Permissions Number of Bytes RF_SPPServiceUUID See description 0x0001 read/write 2 Set the service UUID of the SPP-like profile. For more information about the UUID definition, please refer to chapter 12.1. The service UUID can be every value, but must be different from RF_SPPTXUUID and RF_SPPRXUUID. 8.16.1.
8.17. RF_SPPRXUUID: Configure the SPP RX UUID Settings index 33 Designation Permissible values Default value Permissions Number of Bytes RF_SPPRXUUID See description 0x0002 read/write 2 Set the RX UUID of the SPP-like profile. This characteristics has the function to transmit data from the connected remote peer to the radio module via write command. For more information about the UUID definition, please refer to chapter 12.1. The RX UUID can be every value, RF_SPPServiceUUID and RF_SPPTXUUID.
8.18. RF_SPPTXUUID: Configure the SPP TX UUID Settings index 34 Designation Permissible values Default value Permissions Number of Bytes RF_SPPTXUUID See description 0x0003 read/write 2 Set the TX UUID of the SPP-like profile. This characteristics has the function to transmit data from the radio module to the connected remote peer via notification. For more information about the UUID definition, please refer to chapter 12.1. The TX UUID can be every value, RF_SPPServiceUUID and RF_SPPRXUUID.
8.19. RF_Appearance: Configure the appearance of the device Settings index 25 Designation Permissible values Default value Permissions Number of Bytes RF_Appearance 0-65535 0 read/write 2 The user setting RF_Appearance specifies the appearance of the Bluetooth® devices. It’s a 2 Bytes field defined by the Bluetooth® SIG. Please check the Bluetooth® Core Specification:Core Specification Supplement, Part A, section 1.12 [1] for permissible values. 8.19.1.
8.20. UART_ConfigIndex: Modify the UART speed Settings index 11 Designation Permissible values Default value Permissions Number of Bytes UART_ConfigIndex See description 22 read/write 1 This parameter defines the baud rate used by the module’s UART. The permissible values are listed in the following table. If flow control is enabled the pins /RTS and /CTS are used.
UART_ConfigIndex 33 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 89 91 93 95 97 Rate [Baud] Real rate [Baud] Flow control Parity 1000000 1000000 yes none 1200 1205 no even 1200 1205 yes even 2400 2396 no even 2400 2396 yes even 4800 4808 no even 4800 4808 yes even 9600 9598 no even 9600 9598 yes even 14400 14414 no even 14400 14414 yes even 19200 19208 no even 19200 19208 yes even 28800 28829 no even 28800 28829 yes e
Please note that due to the HF-activity of the chip, single Bytes on the UART can get lost, when using a very fast UART data rate. To avoid loosing single bytes, please enable the UART flow control. 8.20.1. Example 1 Set the baud rate index to 0x1F (921600 Baud with flow control and parity none) using CMD_SET_REQ with settings index 11 Start signal Command Length Settings index Parameter CS 0x02 0x11 0x02 0x00 0x0B 0x1F 0x05 Response CMD_SET_CNF: Successfully modified the setting.
8.21. CFG_Flags: Configure the module Settings index Designation Permissible values Default value Permissions Number of Bytes 28 CFG_Flags See description 24 read/write 2 The user setting CFG_Flags specifies various module features. Bit no. Name Description Reserved Reserved. 2 GPIO remote config. Set this Bit to 1 to block the GPIO configuration via remote device. 3 DCDC enable Set this Bit to 1 to use the internal DCDC instead of LDO.
Start signal Command | 0x40 Length Status Parameter CS 0x02 0x50 0x03 0x00 0x00 0x00 0x00 0x51 Proteus-e reference manual version 0.3 www.we-online.
Settings index Permissible Default values value Number Permissions of Bytes Designation Summary 1 FS_FWVersion Version of the firmware - - read 3 2 RF_DeviceName Name of the module See description "Prot3" read / write 1-31 3 FS_MAC MAC address of the module - - read 6 4 FS_BTMAC Bluetooth® LE conform MAC address of the module - - read 6 7 RF_ AdvertisingTimeout Time [s] after advertising stops.
Settings index Permissible Default values value Number Permissions of Bytes Designation Summary 18 RF_StaticPasskey 6 digit pass key See description "123123" read / write 6 25 RF_Appearance Appearance 0-65535 0 read / write 2 26 RF_SPPBaseUUID Base UUID of the SPP-like profile See description See description read / write 16 28 CFG_Flags CFG Flags See description 24 read / write 2 32 RF_SPPServiceUUID Service UUID of the SPP-like profile See description 0x0001 read / wri
9. Timing parameters 9.1. Reset and sleep After power-up, resetting the module or waking the module from sleep a CMD_GETSTATE_CNF is sent to the serial interface as soon as the module is ready for operation. Description Ready after reset/sleep Typ. Unit ms 9.2. Bluetooth LE timing parameters The timing parameters for sending advertising packets are determined by the user settings RF_AdvertisingInterval and RF_AdvertisingTimeout.
9.4. Connection based data transmission After connection has been setup, data can be transmitted using the CMD_DATA_REQ. It buffers the data in the module and sends it with the next connection interval event. As soon as the data has been transmitted successfully, a CMD_TXCOMPLETE_RSP is returned to the host. The time needed for this coincides with the connection interval that was negotiated during connection setup.
• 243 bytes per CMD_DATA_REQ Radio mode t1-t0 [ms] (UART RX) t4-t0 [ms] (Host TX Period) t6-t5 [ms] (UART TX) t6-t0 [ms] (End-to-end delay) 243/(t4-t0) [kByte/s] (Throughput) 1 Mb/s 3.85 22.5 - - 10.8 2 Mb/s 3.85 15 - - 16.
10. Transparent mode The Proteus-e implements a new feature that allows the easy integration of the Proteus-e Bluetooth® LE module to an already existing host. The transparent mode offers a plug and play installation without previous configuration of the Proteus-e. It is tailored for easy communication with mobile Bluetooth® LE devices like smart phones. The transparent mode is a special operation mode, that uses the configuration of the command mode described in the previous chapters.
10.3. More information 10.3.1. UART • The data sent to the UART is buffered in the Proteus-e up to a maximum payload of 243 Bytes. When no new byte was received for 20 ms, the data will be transmitted by radio to the connected Bluetooth® LE device. If the data is larger than the MPS of the connection, the data is sent via radio in several packets, with one packet per connection interval. • To enable a fast transmission of data packets a large MPS of the Bluetooth® LE connection is helpful.
Radio module Host controller /RTS BUSY OR /CTS Figure 13: Handling the /RTS and BUSY pin Proteus-e reference manual version 0.3 www.we-online.
11. Remote GPIO control The Proteus-e allows to control free GPIOs via remote access. Chapter 7.6 contains the description of the necessary commands. To use the remote GPIO control feature of the Proteus-e, the GPIOs of interest must be configured first. This can be done in two ways. Either by the local host (see figure 14), when the radio module is in idle mode (not connected via Bluetooth® LE), or via the connected remote device (see figure 15).
CMD_GPIO_LOCAL_WRITECONFIG_REQ Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_LOCAL_WRITECONFIG_CNF Module 2 Host 2 Figure 14: Configure the local GPIOs via local host Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_REMOTE_WRITECONFIG_IN D CMD_GPIO_REMOTE_WRITECONFIG_REQ CMD_GPIO_REMOTE_WRITECONFIG_CNF CMD_GPIO_REMOTE_WRITECONFIG_REQ Module 2 Host 2 CMD_GPIO_REMOTE_WRITECONFIG_CNF Figure 15: Configure the local GPIOs via remote device host Proteus-e reference manual version 0.3 www.
CMD_GPIO_LOCAL_READCONFIG_REQ Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_LOCAL_READCONFIG_CNF Module 2 Host 2 Figure 16: Read the configuration of the local GPIOs via local host Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_REMOTE_READCONFIG_REQ CMD_GPIO_REMOTE_READCONFIG_CNF CMD_GPIO_REMOTE_READCONFIG_REQ Module 2 Host 2 CMD_GPIO_REMOTE_READCONFIG_CNF Figure 17: Read the configuration of the local GPIOs via remote device host Proteus-e reference manual version 0.3 www.we-online.
CMD_GPIO_LOCAL_WRITE_REQ Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_LOCAL_WRITE_CNF CMD_GPIO_LOCAL_WRITE_IND Module 2 Host 2 CMD_GPIO_LOCAL_WRITE_IND Figure 18: Set the output value of a GPIO via host controller CMD_GPIO_LOCAL_READ_REQ Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_LOCAL_READ_CNF Module 2 Host 2 Figure 19: Read the input value of a GPIO via host controller Proteus-e reference manual version 0.3 www.we-online.
Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_REMOTE_WRITE_IN D CMD_GPIO_REMOTE_WRITE_REQ CMD_GPIO_REMOTE_WRITE_CNF CMD_GPIO_REMOTE_WRITE_REQ Module 2 Host 2 CMD_GPIO_REMOTE_WRITE_CNF Figure 20: Set the output value of a GPIO via remote device Module 1 Host 1 GPIO Wire Radio 1 0 CMD_GPIO_REMOTE_READ_REQ CMD_GPIO_REMOTE_READ_CNF CMD_GPIO_REMOTE_READ_REQ Module 2 Host 2 CMD_GPIO_REMOTE_READ_CNF Figure 21: Read the input value of a GPIO via remote device Proteus-e reference manual version 0
11.1. Supported GPIO_IDs for remote and local control The following GPIOs of the Proteus-e are supported for remote and local access. 1 ANT 15 RF GPIO_1 B4 B1 SWDIO BUSY/ UART_ENABLE 7 10 /RESET UTXD GND GND SWDCLK URXD MODE_1 6 11 LED_1 /CTS /RTS GPIO_2 VDD Pin GPIO_ID Supported functions GPIO_1 1 Input, Output GPIO_2 2 Input, Output Table 24: Supported GPIO_IDs Proteus-e reference manual version 0.3 www.we-online.
12. Customizing the Proteus-e 12.1. UUID The UUID is a unique number identifying a Bluetooth® LE profile and thus describing its functions. The Proteus-e using its standard UUID is compatible to all devices that implement the SPP-like profile, whichever device it is integrated. To suspend this interoperability, the user settings RF_SPPBaseUUID, RF_SPPServiceUUID, RF_SPPTXUUID and RF_SPPRXUUID can be used to modify the UUID of the SPP-like profile.
13. Custom firmware 13.1. Custom configuration of standard firmware The configuration of the standard firmware includes adoption of the non-volatile Usersettings (see chapter 8) to customer requirements and creating a customized product on base of the standard product. This variant will result in a customer exclusive module with a unique ordering number.
13.4. Contact for firmware requests Please contact your local field sales engineer (FSE) or wireless-sales@we-online.com for quotes regarding this topics. Proteus-e reference manual version 0.3 www.we-online.
14. Firmware updates All products will experience maintenance, security and/or feature updates from time to time. For the standard products these are maintained via the PCN process. Customers can request the creation of a customized product including a "firmware freeze" to ensure that they will receive their verified product even if the standard product is updated. The Proteus-e does not support an update of the production firmware images by users. 14.1.
15. Firmware history Version 1.0.0 "Release" • First production release. Proteus-e reference manual version 0.3 www.we-online.
16. Design in guide 16.1. Advice for schematic and layout For users with less RF experience it is advisable to closely copy the relating evaluation board with respect to schematic and layout, as it is a proven design. The layout should be conducted with particular care, because even small deficiencies could affect the radio performance and its range or even the conformity. The following general advice should be taken into consideration: • A clean, stable power supply is strongly recommended.
• ESD protection for the antenna connection must be chosen such as to have a minimum effect on the RF signal. For example, a protection diode with low capacitance such as the 8231606A or a 68 nH air-core coil connecting the RF-line to ground give good results. • Placeholders for optional antenna matching or additional filtering are recommended. • The antenna path should be kept as short as possible.
• Ground connections for the module and the capacitors should be kept as short as possible and with at least one separate through hole connection to the ground layer. • ESD protection elements should be placed as close as possible to the exposed areas. Figure 23: Placement of the module with integrated antenna 16.2. Dimensioning of the micro strip antenna line The antenna track has to be designed as a 50Ω feed line.
Example: A FR4 material with εr = 4.3, a height H = 1000 µm and a copper thickness of Tmet = 18 µm will lead to a trace width of W ~ 1.9 mm. To ease the calculation of the micro strip line (or e.g. a coplanar) many calculators can be found in the internet. • As rule of thumb a distance of about 3×W should be observed between the micro strip and other traces / ground. • The micro strip refers to ground, therefore there has to be the ground plane underneath the trace.
16.3.2. Chip antenna There are many chip antennas from various manufacturers. The benefit of a chip antenna is obviously the minimal space required and reasonable costs. However, this is often at the expense of range. For the chip antennas, reference designs should be followed as closely as possible, because only in this constellation can the stated performance be achieved. 16.3.3. PCB antenna PCB antenna designs can be very different.
16.3.4. Antennas provided by Würth Elektronik eiSos 16.3.4.1. 2600130021 - Himalia - 2.4 GHz dipole antenna Figure 25: 2.4 GHz dipole-antenna Due to the fact, that the antenna has dipole topology there is no need for an additional ground plane. Nevertheless the specification was measured edge mounted and 90° bent on a 100 x 100 mm ground plane. Specification Value Frequency range [GHz] 2.4 – 2.5 Impedance [Ω] 50 VSWR ≤ 2:1 Polarization Linear Radiation Omni-Directional Peak Gain [dBi] 2.
17. Reference design Proteus-e was tested and certified on the corresponding Proteus-e evaluation board. For the European Conformity the evaluation board serves as reference design. When reusing Würth Elektronik eiSos FCC or IC certification it is mandatory to follow the trace design. Complete layout and schematic information can be found in the manual of the Proteus-e evaluation board. Proteus-e reference manual version 0.3 www.we-online.
VBUS DD+ ID GND SHIELD GND P0.20 P0.04 P0.14 P0.16 CON1 GND 1 5V 2 D3 D+ 4 5 82400152 D3 TP14 TP13 TP19 TP18 61000418221 P0.18 SHELL*4 Micro_USB TP17 TP10 TP9 TP12 TP11 x 3 5 2 1 VDD GND Jumper USB ADJ OUT GND IN 4 x 100nF C12 GND 1 3 5 1 3 5 n.m.
NO METAL 12.5mm 17.1.2. Layout no metal antenna 2 1 4 3 NO METAL 12.5mm 1 PCB edge Figure 27: Reference design: Layout Proteus-e reference manual version 0.3 www.we-online.
17.2. Trace design The trace design shown in this chapter the design proved for FCC and IC certification. To reuse and reference to the Würth Elektronik eiSos’ FCC ID it is mandatory to use the trace design. To provide best options following trace designs are certified: • A simple short between the pins RF and ANT pin to be used if size and price is critical and the range is uncritical.
17.2.1. Simple short using internal antenna The simple short is a 50 Ω coplanar strip connecting RF and ANT pin. Figures 29 and 30 show this in detail. Figure 29: Simple short schematic Figure 30: Simple short layout Proteus-e reference manual version 0.3 www.we-online.
17.2.2. 22 pF coupling capacitor using internal antenna In this configuration, instead of the simple short, a 22 pF capacitor is used at C9 connecting RF and ANT pin. C6, C7, C8 and C10 are left unassembled. Figures 31 and 32 show this in detail. Figure 31: Capacitor internal antenna schematic Figure 32: Capacitor internal antenna layout Proteus-e reference manual version 0.3 www.we-online.
17.2.3. 22 pF coupling capacitor using external antenna In this configuration, the 22 pF capacitor is used at C6 connecting the RF pin to a dipol antenna (Himalia [5], chapter 16.3.4.1). C7, C8, C9 and C10 are left unassembled. Figures 33 and 34 show this in detail. Figure 33: Capacitor external antenna schematic Figure 34: Capacitor external antenna layout To fullfill §15.
17.3. Antenna fine tuning Engineers with experience in radio design and the needed measurement equipment should consider the possibility of antenna tuning. The smart antenna connection provides the possibility to even tune the antenna inside the module. Due to the influence of mounting conditions as metallic objects close to the antenna, or the size of the mother-pcb and ground plane there might be some detuning of the antenna.
18. Manufacturing information 18.1. Moisture sensitivity level This wireless connectivity product is categorized as JEDEC Moisture Sensitivity Level 3 (MSL3), which requires special handling. More information regarding the MSL requirements can be found in the IPC/JEDEC J-STD-020 standard on www.jedec.org. More information about the handling, picking, shipping and the usage of moisture/reflow and/or process sensitive products can be found in the IPC/JEDEC J-STD-033 standard on www.jedec.org. 18.2.
It is recommended to solder this module on the last reflow cycle of the PCB. For solder paste use a LFM-48W or Indium based SAC 305 alloy (Sn 96.5 / Ag 3.0 / Cu 0.5 / Indium 8.9HF / Type 3 / 89%) type 3 or higher. The reflow profile must be adjusted based on the thermal mass of the entire populated PCB, heat transfer efficiency of the reflow oven and the specific type of solder paste used. Based on the specific process and PCB layout the optimal soldering profile must be adjusted and verified.
• Do not use ultrasonic cleaning as it will permanently damage the part, particularly the crystal oscillators. 18.2.3. Potting and coating • If the product is potted in the customer application, the potting material might shrink or expand during and after hardening. Shrinking could lead to an incomplete seal, allowing contaminants into the component. Expansion could damage components. We recommend a manual inspection after potting to avoid these effects.
• Do not touch any exposed area of the antenna to avoid electrostatic discharge. Do not let the antenna area be touched in a non ESD-safe manner. • When soldering, use an ESD-safe soldering iron. 18.4. Safety recommendations It is your duty to ensure that the product is allowed to be used in the destination country and within the required environment. Usage of the product can be dangerous and must be tested and verified by the end user.
19. Physical specifications 19.1. Dimensions Dimensions 9 x 7 x 2 mm Table 28: Dimensions 19.2. Weight Weight <1g Table 29: Weight 19.3. Light sensitivity Inside the Proteus-e a light sensitive WLCSP package is used. This package is sensitive to visible and near infrared light. As the chip is not completely shielded on the sides, any mounting without enclosure could lead to malfunction. This should be taken into account when designing an enclosure for the end device. Proteus-e reference manual version 0.
19.4. Module drawing 9,0 6,0 1 6 1,2 q 0,7 7 3,6 B1 B4 10 15 1,2 11 2,0 ±0,3 4,8 7,0 ±0,2 9,0 ±0,2 Figure 36: Module dimensions [mm] Proteus-e reference manual version 0.3 www.we-online.
19.5. Footprint WE-FP-4+ 4,8 3,5 12,5 12,5 1,2 1,2 15 0,7 5,0 10 1,7 11 3,6 B4 B1 1 1,2 7 no metal area 6 q 0,7 0,7 1,2 6,0 Figure 37: Footprint WE-FP-4+ [mm] 19.6. Antenna free area To avoid influence and mismatching of the antenna the recommended free area around the antenna should be maintained. As rule of thumb a minimum distance of metal parts to the antenna of λ/10 should be kept (see figure 37).
20. Marking 20.1. Lot number The 15 digit lot number is printed in numerical digits as well as in form of a machine readable bar code. It is divided into 5 blocks as shown in the following picture and can be translated according to the following table. Figure 38: Lot number structure Block Information Example(s) 1 eiSos internal, 3 digits 439 2 eiSos internal, 2 digits 01 3 Hardware version, 3 digits V2.4 = 024, V12.
20.2. General labeling information The module labels may include the following fields: • Manufacturer identification WE, Würth Elektronik or Würth Elektronik eiSos • WE Order Code and/or article alias • Serial number or MAC address • Certification identifiers (CE, FCC ID, IC, ARIB,...) • Bar code or 2D code containing the serial number or MAC address If the module is using a serial number, this serial number includes the product ID (PID) and an 6 digit number.
21. Information for explosion protection In case the end product should be used in explosion protection areas the following information can be used: • The module itself is unfused. • The maximum output power of the module is 5 dBm for radio pad . • The total amount of capacitance of all capacitors is 6.8 µF. • The total amount of inductance of all inductors is 10.009 µH. • A DC/DC regulator is included in the chip set and used to obtain low power functionality. Proteus-e reference manual version 0.3 www.
22. References [1] Bluetooth. Bluetooth Core Specification, version 5.1. https://www.bluetooth.com/ specifications/specs/core-specification-5-1/. [2] Würth Elektronik. Application note 24. http://www.we-online.com/ANR024. [3] Würth Elektronik. Application note 25. http://www.we-online.com/ANR025. [4] Würth Elektronik. Application note 27. http://www.we-online.com/ANR027. [5] Würth Elektronik. 2600130021. Himalia. https://www.we-online.com/catalog/en/WIRL_ACCE_ [6] Würth Elektronik.
23. Bluetooth SIG listing/qualification Type Data Design name Proteus-e Declaration ID D057370 QDID 177585 Specification name 5.1 Project type End product Each product containing intellectual property of the Bluetooth® Special Interest Group (SIG) must be qualified by the SIG to obtain the corresponding Declaration ID. Due to the qualification of the Proteus-e as end product no further Bluetooth® tests are required. The only arising expenses are those for purchasing a Bluetooth® Declaration ID.
24. Regulatory compliance information 24.1. Important notice EU The use of RF frequencies is limited by national regulations. The Proteus-e has been designed to comply with the R&TTE directive 1999/5/EC and the RED directive 2014/53/EU of the European Union (EU). The Proteus-e can be operated without notification and free of charge in the area of the European Union. However, according to the R&TTE / RED directive, restrictions (e.g. in terms of duty cycle or maximum allowed RF power) may apply.
24.5. FCC Compliance Statement FCC ID: R7T1201102 This device complies with Part 15 of the FCC Rules. Operation is subject to the following two conditions: (1) this device may not cause harmful interference, and (2) this device must accept any interference received, including interference that may cause undesired operation. (FCC 15.19) Modifications (FCC 15.
• The final host / module combination may also need to be evaluated against the FCC Part 15B criteria for unintentional radiators in order to be properly authorized for operation as a Part 15 digital device. • If the final host / module combination is intended for use as a portable device (see classifications below) the host manufacturer is responsible for separate approvals for the SAR requirements from FCC Part 2.1093 and RSS-102. 24.7.1.
Product Certified antenna Proteus-e (2612011024000) PCB antenna included in the Proteus-e 24.7.3. Change in ID / Multiple listing Experienced developers have the possibility to write and flash their own firmware. This firmware will have full control of radio parameters. For an FCC/ISED approved radio module the ID holder, in this case Würth Elektronik eiSos, is solely responsible to ensure that the product complies with the regulations.
25. Important notes The following conditions apply to all goods within the wireless connectivity product range of Würth Elektronik eiSos GmbH & Co. KG: 25.1. General customer responsibility Some goods within the product range of Würth Elektronik eiSos GmbH & Co. KG contain statements regarding general suitability for certain application areas.
25.5. Product improvements Due to constant product improvement, product specifications may change from time to time. As a standard reporting procedure of the Product Change Notification (PCN) according to the JEDEC-Standard, we inform about major changes. In case of further queries regarding the PCN, the field sales engineer, the internal sales person or the technical support team in charge should be contacted. The basic responsibility of the customer as per section 25.1 and 25.2 remains unaffected.
26. Legal notice 26.1. Exclusion of liability Würth Elektronik eiSos GmbH & Co. KG considers the information in this document to be correct at the time of publication. However, Würth Elektronik eiSos GmbH & Co. KG reserves the right to modify the information such as technical specifications or functions of its products or discontinue the production of these products or the support of one of these products without any written announcement or notification to customers.
unless the parties have executed an agreement specifically governing such use. Moreover, Würth Elektronik eiSos GmbH & Co. KG products are neither designed nor intended for use in areas such as military, aerospace, aviation, nuclear control, submarine, transportation (automotive control, train control, ship control), transportation signal, disaster prevention, medical, public information network etc. Würth Elektronik eiSos GmbH & Co.
27. License terms This License Terms will take effect upon the purchase and usage of the Würth Elektronik eiSos GmbH & Co. KG wireless connectivity products. You hereby agree that this license terms is applicable to the product and the incorporated software, firmware and source codes (collectively, "Software") made available by Würth Elektronik eiSos in any form, including but not limited to binary, executable or source code form.
health, you must ensure to have all necessary expertise in the safety and regulatory ramifications of your applications. You acknowledge and agree that you are solely responsible for all legal, regulatory and safety-related requirements concerning your products and any use of Würth Elektronik eiSos’ products with the incorporated Firmware in such safety-critical applications, notwithstanding any applications-related information or support that may be provided by Würth Elektronik eiSos.
Elektronik eiSos disclaims any liability for any alteration, development created by you or your customers as well as for any combination with other products. 27.7. Applicable law and jurisdiction Applicable law to this license terms shall be the laws of the Federal Republic of Germany. Any dispute, claim or controversy arising out of or relating to this license terms shall be resolved and finally settled by the court competent for the location of Würth Elektronik eiSos’ registered office. 27.8.
List of Figures 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. Proteus-e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Block diagram of the module . . . . . . . . . . . . . . . . . . . . . . . . . . . Sleep current (no RAM retention, wake on reset) over operating temperature range . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . Current consumption - transmitting . . . . . . . . . . . . . . . . . . . . . . . . Current consumption - receiving . . . . . . . . . . . . . . . . . . . . . . . . . Current consumption - low power . . . . . . . . . . . . . . . . . . . . . . . . . RSSI accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A. Additional CRC8 Information This Annex gives an example CRC8 implementation and test vectors. A.1. Example CRC8 Implementation #include uint8_t Get_CRC8(uint8_t * bufP, uint16_t len) { uint8_t crc = 0x00; for (uint16_t i = 0; i < len; i ++) { crc ^= bufP[i ]; } return crc; } Code 1: Example CRC8 Implementation A.2.
B. Example codes for host integration The following code is an example implementation of a function to transmit data using a 2 Byte length field in the command frame. For demonstration reasons the Proteus-III has been taken. The full function codes of all radio modules are available in the Wireless Connectivity SDK (www.we-online.de/wco-SDK ).