This page tracks additions or changes to the AT command set based on the firmware version number (which you can obtain via the 'ATI' command):
Version 0.7.7
The following AT commands and features were added in the 0.7.7 release:
- Added AT+BLEUARTTXF (F for force) to immediately send the specified data out in an BLE UART packet (max 20 bytes), bypassing any FIFO delays and avoiding packets potentially being transmitted in two transactions.
- Adjusted BLE UART service to use min connection interval as the tx interval
- Added AT+DFUIRQ to enable using the DFU Pin for IRQ purposes when there is a supported event on the nRF51822
- Enabled the internal pullup resistor on the CS pin for Bluefruit SPI boards
- Added AT+MODESWITCHEN to enable/disable +++ mode switching from the local (serial or SPI) or BLE UART side. By default local = enabled, ble = disabled, meaning commands can only be executed via the local interface by default.
- Implemented a '\+' escape code to immediately send '+' chars without trigger the +++ delay waiting for further similar input
- Added AT+BLEHIDGAMEPADEN to separately enable HID Gamepad, since iOS/OSX has a conflict with gamepad devices causing HID keyboard to not work properly.
The following bugs were fixed in release 0.7.7:
- Fixed a factory reset issue when a long delay occurs in app_error_handler()
- Fixed an issue where strings were being truncated at 64 chars in UART
- Fixed HID keyboard support not working with iOS 9 & 10
Version 0.7.0
The following AT commands were added in the 0.7.0 release:
- AT+BAUDRATE
Change the HW UART baudrate - AT+UARTFLOW
Enable or disable HW UART flow control - AT+BLEMIDIEN=on/off/0/1
Enable/disable MIDI service, requires a reset to take effect - AT+BLEMIDITX
Send a MIDI event - AT+BLEMIDIRX
Receive an available MIDI event - AT+GATTCHARRAW
Added this read only command to read binary (instead of ASCII) data from a characteristic. It is non-printable but less overhead and easier for writing library in Arduino - AT+NVMWRITE=offset,datatype,data
Writes data to 256 byte user NVM. Datatype must be STRING (1), BYTEARRAY (2), or INTEGER (3) - AT+NVMREAD=offset,size,datatype
Reads data back from 256 bytes user NVM - AT+NVMREADRAW=offset,size binary data
Binary data (instead of ASCII) is returned, ending with "OK\r\n". It is non-printable but less overhead and easier to use in some situations. - AT+BLEHIDGAMEPAD=x,y,buttons
- X is LEFT, RIGHT: X=-1 LEFT is pressed, X=1 RIGHT is pressed, X=0 no pressed
- Y is UP, DOWN: Y=-1 i UP, Y=1 is DOWN, Y=0 no pressed
- Button [0x00-0xFF] is a bit mask for 8 button 0-7
- AT+GAPCONNECTABLE=on/off/1/0
Allow/disallow connection to the device - AT+EDDYSTONESERVICEEN
Add/remove EddyStone service to GATT table (requires reset) - AT+EDDYSTONEBROADCAST=on/off/0/1
Start/stop broadcasting url using settings from NVM - AT+BLEBATTEN=on/off/1/0
Enable battery service. Reset required due to the service change. - AT+BLEBATTVAL=percent
Updates the Battery level, percent is 0 to 100
The following commands were changed in the 0.7.0 release:
- AT+GATTADDCHAR
- Added a DATATYPE option to indicate the data type for the GATT characteristic's payload. Valid option are: AUTO (0, default), STRING (1), BYTEARRAY (2), INTEGER (3)
- Added characteristic user description option via the DESCRIPTION flag
- Added characteristic presentation format support via the PRESENTATION flag
- AT+GAPINTERVALS
Added a new 'adv_lowpower_interval' parameter, default value is 417.5 ms. Current arguments are now: min_conn, max_conn, adv_interval, adv_timeout, adv_lowpower_interval
Key bug fixes and changes in this release:
- Significant BTLE UART speed and reliability improvements
- Added callback support (work in progress) for:
- BLE UART RX
- GATT Characteristic(s) RX
- MIDI RX
- Connect/Disconnect
- Increased MAX_LEN for each characteristic from 20 to 32 bytes
- Changed the default GAP parameters:
- Advertising interval = 20ms
- Min connection interval = 20 ms
- Max connection interval = 40 ms
- Increased the maximum number of CCCDs saved to flash from 8 to 16
- Eddystone config service disabled by default
- Removed AT+EDDYSTONEENABLE to avoid confusion
- Changed advertising timeout for Eddystone to 'unlimited'
- Fixed Write-No-Response characteristic property, which wasn't being handled properly
- Fixed timing constraints to meet Apple design guidelines
- Fixed systick to ms calculation
- Fixed all tests with google eddystone validator except for writing tx_power = 1 dB (not valid on nrf51)
- Fixed a bug where writing from the central does not update the value on the characteristic correctly
- Fixed an issue with HID examples, where when paired with Central, a disconnect then reconnect could not send HID reports anymore
Version 0.6.7
The following AT commands were added in the 0.6.7 release:
- AT+BLEUARTFIFO
Returns the number of free bytes available in the TX and RX FIFOs for the Bluetooth UART Service.
The following commands were changed in the 0.6.7 release:
- AT+BLEUARTTX
If the TX FIFO is full, the command will wait up to 200ms to see if the FIFO size decreases before exiting and returning an ERROR response due to the FIFO being full. - AT+BLEURIBEACON
This command will go back to using the old (deprecated) UriBeacon UUID (0xFED8), and only the AT+EDDYSTONEURL command will use the newer Eddystone UUID (0xFEAA). - AT+BLEKEYBOARD and AT+BLEUARTTX
These commands now accept '\?' as an escape code since 'AT+BLEKEYBOARD=?' has another meaning for the AT parser. To send a single question mark the following command should be used: 'AT+BLEKEYBOARD=\?' or 'AT+BLEUARTTX=\?' - AT+EDDYSTONEURL
This command now accepts an optional third parameter for RSSI at 0m value (default is -18dBm).
Running this command with no parameters ('AT+EDDYSTONEURL\r\n') will now return the current URL.
Key bug fixes in this release:
- The FIFO handling for the Bluetooth UART Service was improved for speed and stability, and the TX and RF FIFOs were increased to 1024 bytes each.
- An issue where a timer overflow was causing factory resets every 4 hours or so has been resolved.
- Fixed a problem with the GATT server where 'value_len' was being incorrectly parsed for integer values in characteristics where 'max_len' >4
Version 0.6.6
The following AT commands were added in the 0.6.6 release:
- AT+EDDYSTONEURL
Update the URL for the beacon and switch to beacon mode - AT+EDDYSTONEENABLE
Enable/disable beacon mode using the configured url - AT+EDDYSTONECONFIGEN
Enable advertising for the the Eddystone configuration service for the specified number of seconds - AT+HWMODELED
Allows the user to override the default MODE LED behaviour with one of the following options: DISABLE, MODE, HWUART, BLEUART, SPI, MANUAL - AT+BLECONTROLKEY
Allows HID media control values to be sent to a bonded central device (volume, screen brightness, etc.) - AT+BLEHIDEN
Enables or disables BLE HID support in the Bluefruit LE firmware (mouse, keyboard and media control) - AT+BLEMOUSEMOVE
To move the HID mouse - AT+BLEMOUSEBUTTON
To set the state of the HID mouse buttons
The following commands were changed in the 0.6.6 release:
- AT+BLEKEYBOARDEN - Now an alias for AT+BLEHIDEN
- AT+GATTADDCHAR - Added a new UUID128 field to allow custom UUIDs
Key bug fixes in this release:
- Fixed issues with long beacon URLs
- Fixed big endian issue in at+blebeacon for major & minor number
Known issues with this release:
- Windows 10 seems to support a limited number of characteristics for the DIS service. We had to disable the Serial Number characteristic to enable HID support with windows 10.
Version 0.6.5
The following AT commands were added in the 0.6.5 release:
The following commands were changed in the 0.6.5 release:
- Increased the UART buffer size (on the nRF51) from 128 to 256 bytes
- +++ now responds with the current operating mode
- Fixed a bug with AT+GATTCHAR values sometimes not being saved to NVM
- Fixed a bug with AT+GATTCHAR max_len value not being taken into account after a reset (min_len was always used when repopulating the value)
Version 0.6.2
This is the first release targetting 32KB SRAM parts (QFAC). 16KB SRAM parts can't be used with this firmware due to memory management issues, and should use the earlier 0.5.0 firmware.
The following AT commands were changed in the 0.6.2 release:
-
AT+BLEUARTTX
Basic escape codes were added for new lines, tabs and backspace -
AT+BLEKEYBOARD
Also works with OS X now, and may function with other operating systems that support BLE HID keyboards
Version 0.5.0
The following AT commands were added in the 0.5.0 release:
The following AT commands were changed in the 0.5.0 release:
-
ATI
The SoftDevice, SoftDevice version and bootloader version were added as a new (7th) record. For Ex: "S110 7.1.0, 0.0" indicates version 7.1.0 of the S110 softdevice is used with the 0.0 bootloader (future boards will use a newer 0.1 bootloader).
Other notes concerning 0.5.0:
Starting with version 0.5.0, you can execute the AT+FACTORYRESET command at any point (and without a terminal emulator) by holding the DFU button down for 10 seconds until the blue CONNECTED LED starts flashing, then releasing it.
Version 0.4.7
The following AT commands were added in the 0.4.7 release:
The following commands were changed in the 0.4.7 release:
-
ATI
The chip revision was added after the chip name. Whereas ATI would previously report 'nRF51822', it will now add the specific HW revision if it can be detected (ex 'nRF51822 QFAAG00')
Version 0.3.0
- First public release
Text editor powered by tinymce.