Vela IF820 Series - Bluetooth 5.4 Dual-Mode Modules
Learn more and compare with similar parts on the family page.

Specifications

Additional Description
Vela IF820 - Development Kit with integrated chip antenna

Documentation

Name Part Type Last Updated
Product Brief - Vela IF820 Series 453-00171-K1 Product Brief 04/22/2024
Datasheet - Vela IF820 Series 453-00171-K1 Datasheet 10/30/2024

Buy Now

Distributor Part In Stock Region Buy
Mouser 453-00171-K1 39 North America Buy Now
DigiKey 453-00171-K1 36 North America Buy Now
Mouser 453-00171-K1 28 North America Buy Now
Farnell 453-00171-K1 7 EMEA Buy Now
Future Electronics 453-00171-K1 3 North America Buy Now
Arrow Electronics 453-00171-K1 0 North America Buy Now
Avnet 453-00171-K1 0 North America Buy Now


FAQ

How do I find what options the Vela IF820 Flasher CLI supports?

Accessing the IF820 Flasher CLI help screen

You can access the help screen with the following command

if820_flasher_cli.exe -h

Which outputs the following

>if820_flasher_cli.exe -h

usage: if820_flasher_cli [-h] [-c CONNECTION] [-ce] [-d] [-f FILE]


CLI tool to flash an IF820 board (or compatible boards) with new firmware.

If no COM port is specified, the tool will automatically detect the board and flash it.

If there is more than one board detected, the user will be prompted to select the board to flash.

The CLI supports chip erase, firmware update, and flashing firmware with chip erase.


options:

  -h, --help            show this help message and exit

  -c CONNECTION, --connection CONNECTION HCI COM port

  -ce, --chip_erase     perform full chip erase.

  -d, --debug           Enable verbose debug messages

  -f FILE, --file FILE  application hex file to flash

-c lets the user specify a COM port which then ignores and DVK probe automation. This will let the user flash custom boards with any UART device.

-ce performs a chip erase (recommended) but they may be occasions you want to retain certain settings.

-d provides extra debug output and may be requested by Ezurio support, should you be having issues with the IF820 Flasher CLI on your system.

-f defines the file name and path of the firmware image to be flashed.



How do I troubleshoot the Vela IF820 Flasher CLI?

Troubleshooting the IF820 Flasher CLI 

A successful IF820 Flasher CLI session should look something like this, where 20240328_ezserial_app_VELA-IF820-INT-ANT-USB_141616_v1.4.16.16_download.hcd is the file location/name of the firmware image to be flashed.

>if820_flasher_cli.exe -ce -f 20240328_ezserial_app_VELA-IF820-INT-ANT-USB_141616_v1.4.16.16_download.hcd

2024-06-10 15:45:05,617 | INFO | Loading minidriver...

2024-06-10 15:45:07,368 | INFO | Performing chip erase...

2024-06-10 15:45:07,384 | INFO | Chip erase finished

2024-06-10 15:45:07,385 | INFO | Changing baud to 3000000

2024-06-10 15:45:07,395 | INFO | Programming HCD file...

2024-06-10 15:45:13,927 | INFO | Finished programming!


Module not found

The following error is indicative of the module/dongle com port not being found. Double check that the com port of the IF820 is visible.

>if820_flasher_cli.exe -ce -f 20240328_ezserial_app_VELA-IF820-INT-ANT-USB_141616_v1.4.16.16_download.hcd

2024-06-10 15:47:01,707 | ERROR | No boards found

Traceback (most recent call last):

  File "\\Mac\Home\git\vela_if820\Vela_IF820_Firmware\if820_flasher_cli.py", line 78, in

NameError: name 'exit' is not defined

[16908] Failed to execute script 'if820_flasher_cli' due to unhandled exception!


File not found

If you see the following error then the Flasher CLI cannot find  the firmware image.  Double check the spelling of the file name and its absolute path. It may be easiest to ensure the  the firmware image file (.hcd) is in the same folder as the Flasher CLI executable.

>if820_flasher_cli.exe -ce -f 20240328_ezserial_app_VELA-IF820-INT-ANT-USB_141616_v1.4.16.16_download.hcd

2024-06-10 15:51:41,707 | INFO | Loading minidriver...

2024-06-10 15:51:43,426 | INFO | Performing chip erase...

2024-06-10 15:51:43,439 | INFO | Chip erase finished

2024-06-10 15:51:43,440 | INFO | Changing baud to 3000000

2024-06-10 15:51:43,446 | INFO | Programming HCD file...

Traceback (most recent call last):

  File "\\Mac\Home\git\vela_if820\Vela_IF820_Firmware\if820_flasher_cli.py", line 87, in

  File "If820Board.py", line 213, in flash_firmware

  File "HciProgrammer.py", line 110, in program_firmware

FileNotFoundError: [Errno 2] No such file or directory: '20240328_ezserial_app_VELA-IF820-INT-ANT-USB_141616_v1.4.16.16_download.hcd'

[22684] Failed to execute script 'if820_flasher_cli' due to unhandled exception!


Accessing the IF820 Flasher CLI help screen

You can access the help screen with the following command

if820_flasher_cli.exe -h

Which outputs the following

>if820_flasher_cli.exe -h

usage: if820_flasher_cli [-h] [-c CONNECTION] [-ce] [-d] [-f FILE]


CLI tool to flash an IF820 board (or compatible boards) with new firmware.

If no COM port is specified, the tool will automatically detect the board and flash it.

If there is more than one board detected, the user will be prompted to select the board to flash.

The CLI supports chip erase, firmware update, and flashing firmware with chip erase.


options:

  -h, --help            show this help message and exit

  -c CONNECTION, --connection CONNECTION HCI COM port

  -ce, --chip_erase     perform full chip erase.

  -d, --debug           Enable verbose debug messages

  -f FILE, --file FILE  application hex file to flash


Option Descriptions

-c lets the user specify a COM port which then ignores and DVK probe automation. This will let the user flash custom boards with any UART device.

-ce performs a chip erase (recommended) but they may be occasions you want to retain certain settings.

-d provides extra debug output and may be requested by Ezurio support, should you be having issues with the IF820 Flasher CLI on your system.

-f defines the file name and path of the firmware image to be flashed.

How can I check the Vela IF820 DVK/Dongle RP2040 firmware?

The Vela  IF820 DVK uses a RP2040 to provide UART com ports for the DVK.

You can check the version of RP2040 firmware using the following, which assumes you have Python and pyocd installed.

pyocd list -v -v -v

which should return the RP2040 firmware of all boards currently connected which should look something like this

PS C:\Python311> pyocd list -v -v -v

0000733 D Project directory: C:\Python311 [session]

0001190 D CMSIS-DAP v2 probe E6620CD64F488232: firmware version 1.3.0+1694472875, protocol version 2.1.1 [dap_access_cmsis_dap]

0001280 D CMSIS-DAP v2 probe E6625C05E767202F: firmware version 1.3.0+1694472875, protocol version 2.1.1 [dap_access_cmsis_dap]

0001358 D CMSIS-DAP v2 probe E6625C05E789602C: firmware version 1.3.0+1694472875, protocol version 2.1.1 [dap_access_cmsis_dap]

  #   Probe/Board                              Unique ID          Target

------------------------------------------------------------------------------

  0   Ezurio (formerly Laird Connectivity) DVK Probe CMSIS-DAP   E6620CD64F488232   ✔︎ cortex_m

      Ezurio                       Module


  1   Ezurio DVK Probe CMSIS-DAP   E6625C05E767202F   n/a


  2   Ezurio DVK Probe CMSIS-DAP   E6625C05E789602C   n/a

PS C:\Python311>

I am using if820_flasher_gui but it does not detect my DVK?

If the IF820 flasher GUI or CLI utility does not detect the IF820 DVK it may be that the RP2040 used for providing serial/debug ports on the Vela IF820 may need updating. 

Please contact a Laird FAE via support@lairdconnect.com for more details

What are the recommended UWTerminalX settings for the Vela IF820?

To use UWTerminalX with the Vela IF820 it is recommended to use the following settings

  • Tick DTR
  • Untick BREAK
  • Untick Localecho
  • Untick linemode
  • baud rate 115200
  • parity none
  • stop bits 1
  • data bits 8
  • handshaking none
  • Terminal select  CR
  • use UART 1

On booting the Vela IF820, if all is good you should see the EZ-Serial boot message something like this, note the @E indicates an event, in this case boot.

@E,0074,BOOT,E=01040808,S=03010000,P=0104,H=23,C=00,A=E0984030FB5D,F=EZ-Serial-CYBT_243053_02 V1.4.8.8 Jun  9 2023 10:03:25

To confirm two way communications send/type the following followed by carriage return

/ping

To which the module should respond with somthing like the following, note the @R indicates a response, in this case to the /ping command. The /PING,0000 indicates the command was successful

@R,001D,/PING,0000,R=0000007F,F=F218




When using RM126x P2P mode, do the beacon and data rates need to match?

No, the beacon and data rates can be different but at the time of writing there is no benefit from the two data rates being different. If in doubt set them to the same data rate,

Why does my Vela IF820 fail to accept a UART firmware update?

The Vela IF820 exposes to UARTS.

  • UART 0 also known as the HCI UART
  • UART 1the EZ-Serial UART (115200,8N1 no flow control)

On booting a Vela IF820 loaded with EZ-Serial Firmware a boot message will be sent on UART 1 and will look something like this

@E,0074,BOOT,E=01040808,S=03010000,P=0104,H=23,C=00,A=E77BCEF68661,F=EZ-Serial-CYBT_243053_02 V1.4.8.8 Jun  9 2023 10:03:25

Firmware updates should be performed on UART 0

Firmware and flashing tools can be downloaded from https://github.com/LairdCP/Vela_IF820_Firmware/releases

Whats the difference between EZ-Serial text and binary parse modes?

The Vela IF820 is preloaded with EZ-Serial firmware which can be used in one of two modes

  • Text API
  • Binary API

Text mode API provides human readable commands that can be sent to the module over the UART, typically from a microcontroller or from a PC terminal program during development.

Commands take the form of short code, for example

  • /rbt          will reboot the module
  • /bti          will start a Bluetooth classic inquiry
  • /s             will start a scan for BLE adverts

The text mode API is particularly useful when first using EZ-Serial.

The binary mode API may be a better choice for production devices due to having a simpler parset/generator for the UART host. Binary mode uses a fixed packet structure for every transaction. Each packet is made up of the following

  • 4 byte header
  • optional payload
  • checksum byte

For example a command to get the GAP device name might look like this

C0 00 04 10 6D

and the response might look like this

C0 15 04 10 00 00 12 45 5A 2D 53 65 72 69 61 6C 20 31 41 3A 32 31 3A 44 33 A0 

The first four bytes are the header (command), the 00 00 represents success, the 12 45 5A 2D 53 65 72 69 61 6C 20 31 41 3A 32 31 3A 44 33 is the  returned name and the final byte is the checksum.

Does the Vela IF820 EZ-Serial support flow control?

Yes, the Vela IF820 does support flow control but it is not enabled by default.

The default UART settings are

  • 115200 baud
  • 8 data bits
  • no parity
  • 1 stop bit
  • no flow control

The UART settings can be changed using the system_set_uart_parameters command (stu)

The UART settings can be read using the system_get_uart_parameters command (gtu)

Does the Vela IF820 support more than one connection when using EZ-Serial?

Does the Vela IF820 support more than one concurrent SPP connection when using EZ-Serial?

No, only a single SPP connection is supported with EZ-Serial. If multiple SPP connections are required, consider using Modus Toolbox.

How do I disable transparent data mode in EZ-Serial for the Vela IF820?

Transparent data mode can be disabled with bit 1 of the SPPM command as below. This can be used in both text and binary parse modes

(<<) SPPM,M=2

(>>) @R,000A,SPPM,0000


Now when entering a SPP connection instead of going straight into transparent data mode EZ-Serial will remain in command mode and allow the use of commands such as 

Query Connections

(<<) /btqc

(>>) @R,0010,/BTQC,0000,C=01

(>>) @E,002D,BTCS,C=01,A=0016A4001589,T=01,B=00,R=00,S=00

Query peer address

(<<) /btqpa,c=1

(>>) @R,0020,/BTQPA,0000,A=0016A4001589,T=00

Query RSSI

(<<) /btqss,a=58a0238ed80b

(>>) @R,0011,/BTQSS,0502,R=00

You can also send a disconnect command

(<<) /btdis,c=1

(>>) @R,000C,/BTDIS,0000

(>>) @E,0012,BTDIS,C=01,R=0000

To send data in this mode use

(<<) .spps,c=1,d=4C6169726420436F6E6E6563746976697479 

(>>) @R,0010,.SPPS,0000,C=01

Where c = the connection handle and d = is the outgoing payload in hex

When receiving data in this mode you will see

(>>) @E,0016,.SPPD,C=01,D=4D61726B

where c is the connection handle and d is the incoming data in hex