Skip to content

Changelog & known issues for the firmware of
ID-engine Z & ACCESS200 (firmware ID 1100)

Here, you can find the changelog of all released versions of firmware ID 1100 as well as the known issues with the latest stable version.

  • Stable versions are official versions available for download.
  • Production version: 2.00.07
    This is the stable version with which new readers are currently shipped.
  • All other versions mentioned in the changelog are only given to individual customers on request, e.g. to fix a very specific bug. Any changes in these versions will be included in one of the next stable versions.

We test all releases thoroughly via automated robotic end tests. Any issues that still occur in the latest stable version are listed below. If you're experiencing an issue with a firmware, please first try the latest stable version. To report a new issue, please get in touch.

Known issues in latest stable version

No issues currently known


2.00.07 (2022-03-02) | STABLE


  • Added support for the new BEC2 file format for configurations. This allows you to use wireless upload, create ConfigCards in BALTECH Uploader, and package configurations with a firmware.

  • Added support for emulating an ISO 14443-4 card with a reader. For this purpose, the Iso14CE command set is used. This allows you to use a reader as a transfer reader for wireless upload in BALTECH Uploader.

  • Added support for uploading BEC2 configuration files via NFC. This allows you to use wireless upload in BALTECH Uploader.
    The firmware also supports NFC upload apps for mobile phones to be developed in the future.

  • To protect a reader with a configured RFID interface against unauthorized firmware updates, the new configuration value Device / Run / DenyUnauthFwUploadViaBrp has been introduced: If this value is set, the reader blocks the upload of a firmware in BF2/BF3 format, i.e. a firmware can only be uploaded if it's packaged with a newer version of the configuration deployed to the reader (alternatively, a factory reset can be performed).

  • If the reader firmware is incomplete after a failed firmware update, you can now still perform a factory reset. This ensures the reader won't be left in a corrupted state if a firmware update has been aborted due to an RFID interface configuration that has the Device / Run / DenyUnauthFwUploadViaBrp bit set (see previous bullet point).

  • Incomplete firmware no longer returns a special ID (1053 for USB readers, 1075 for Ethernet readers), but the ID and version of the firmware you tried to upload. Thus, you can infer to the intended firmware state after an aborted update. So that you can still recognize when a firmware is incomplete, Sys.GetBootStatus now returns the new boot status IncompleteFirmware.

  • Added support for setting a bus address via NFC (implementation in our software tools is planned). Setting a bus address will be permitted either in the course of uploading a BEC2 file or when the reader housing is open (i.e. a tamper alarm is triggered).
    For very high security requirements, the new parameter GreaterVersion (see Device / Run / AuthReqUploadViaBrp and Device / Run / AuthReqUploadViaIso14443) can be set: Then, the bus address can only be set if a newer version of the existing configuration is deployed. This ensures that the bus address can't be changed arbitrarily by deploying the same configuration version again.

  • Added support for retrieving reader information via NFC (implementation in our software tools is planned).

  • Added support for MIFARE DESFire EV3.

  • Added VHL.Read and VHL.Write support for MIFARE Ultralight, Ultralight-C, and Ultralight-EV1 cards.

  • Added low-level commands for encrypted communication with Ultralight-C and Ultralight-EV1 cards:

  • Added an alive check for keypad components to further increase reliability of ACCESS200 keypad readers.

  • Increased the timeout for VHL.ExchangeAPDU to 60 seconds to cater for complex crypto operations.

  • LEGIC readers with security module SM-4500 are supported now.

  • You can now check if your reader's LED can be customized: If yes, Sys.GetFeatures will return the feature ID RgbLed or RgbLedLimited respectively.

  • Changed the default setting for OSDP: By default, the reader now uses SCBK-D without diversification.

  • OSDP now supports a tri-color LED (red/green/blue).

  • Added the OnPinEntry event, which is fired when a PIN code has been entered via the keypad. Now you can configure a custom action, e.g. to give visual or acoustic feedback when PIN entry is completed.

  • The SNET protocol now supports DKR readers.

  • You can now configure an individual transition time for each VLED definition .

  • Added support for MIFARE Plus values in security level 3. For this purpose, the Mif.ValueSL3 command has been added.

  • Added support for NXP AV3 SAM ( low level and VHL commands)

  • Added support for the following card types:

  • For readers that support OSDP, Sys.GetFeatures will now return the feature ID OsdpV217.

  • When you use LED customization to illuminate only 1 side of an ACCESS200 housing, the LEDs on the other side will be disabled.

Bug fixes

  • When a programmed card number (PCN) was truncated via the host interface component for virtual COM port undirectional, RS-232 undirectional, or keyboard emulation, it was truncated at the end. Now it's truncated at the front.

  • The I/O port protocol, which e.g. allows you to use a UART pin as a GPIO, wasn't supported by ID-engine Z.

  • Reading an ISO 14443 type A card without an iClass container was very slow if the reader configuration contained Autoread components for both iClass and ISO 14443 type A.

  • When setting beeper off time to 0 via the OSDP command osdp_BUZ, the beeper was still on after command execution. Now, the beeper is switched off afterwards.

  • LEGIC readers could hang if an ISO 15693 or ISO 14443 card was presented at the edge of the antenna field.

  • VHL.Select handled random IDs returned by Felica and ISO 14443 type B cards incorrectly: The command returned the card multiple times, each time as a new card with a new ID, even if the Reselect parameter was set to false. Now, the card is returned only once as long as it remains in the antenna field.

  • On MIFARE Plus S and MIFARE PLus L3 cards, authentication with SAM key only worked with SAM key 0.

  • Combo cards MIFARE DESFire/Classic were occasionally not detected.

  • Desfire.GetDfNames only worked when there was 1 application programmed onto the card.

  • Desfire.Authenticate terminated in an error.

  • VHL.IsSelected didn't work with FeliCa cards.

  • Since version 1.21.00, OSDP authentication was still possible with SCBK-D after installing SCBK.

  • LED signalization during AdrCard, ConfigCard, or LicenseCard presentation wasn't correct if a VLED transition time was configured.

  • Updating the reader via OSDP protocol did not work since version 1.05.00.

  • Reintroduced Iso14a.TransparentCmdBitlen. In rare cases this is still needed.

  • WTX was not supported by ISO 7816 T=1 protocol.

  • Encoding conversion, e.g. used by certain Autoread components in BALTECH ConfigEditor, didn't work properly when the data to convert had been cut out of the original data stream.

  • To enhance security, manipulation on the software level via the RFID interface now triggers a tamper alarm. This includes, e.g. the use of a ConfigCard, an AdrCard, or a wireless upload via NFC.

  • If deploying a configuration via Sys.GfgLoadBlock was blocked by the reader due to missing permissions, the reader returned the error Sys.ErrCfgAccess, which suggested an issue with the memory. Now, the error ErrAccessDenied is returned.

  • The timeout for SAM detection has been reduced to speed up initialization.

  • When a Prox license is missing, the low-level commands HID.ProxRead, HID.Prox32Read, and HID.IndalaRead now return the new error code HID.ErrLicense.

  • Unencrypted configurations can now only be deployed to legacy devices for which this is a requirement.

  • For MIFARE DESFire EV1 cards, read reliability has been improved for slow card presentation.

  • On ID-engine Z readers, handling multiple cards presented at the same time (anti-collision) resulted in an error for certain combinations of ISO 14443 Type A cards.

  • Minor bugs in LED customization feature fixed.

1.25.00 (2020-08-18)


  • Added a Sum command to conversion rule templates. You can use it to calculate the sum of several bytes, e.g. to generate a checksum of the number read from a card.

1.23.01 (2020-08-07) | STABLE

Bug fixes

  • Since version 1.23.00, HID Prox and Indala cards no longer worked with the Wiegand protocol on ACCESS200 readers manufactured before 2020-06-01.

1.23.00 (2020-07-19)


  • Added a feature to identify a reader connected via RS-232/virtual COM port and running in unidirectional communication mode. When you send a ? to such a reader, it now returns a string containing the constant prefix BALTECH Reader, followed by its firmware version and serial number.
  • The command Sys.GetFeatures now indicates HID iCLASS support if an HID iCLASS SE Processor is available.
  • Implemented the new Prox license model for HID Prox, Indala, and Keri cards. To equip affected 125 kHz readers with licenses yourself, you can order a BALTECH LicenseCard. To check a reader for an existing license, use the new Sys.GetLicenses command.

Bug fixes

  • When running VHL.Format on a MIFARE card, and a block writing error occurred due to incorrect access conditions, the command was canceled.
  • Since version 1.13.00, errors could occur when accessing ISO 15693 cards.
  • If the MIFARE emulation on a SmartMX platform was accessed first, subsequent ISO 14443-4 access attempts led to an error.
  • VHL HITAG 2 block access didn't work.

1.21.03 (2020-06-19)

Bug fixes

  • VHL.Read could only read TTF cards if the configurable TTF decoder was configured. If the default ScanCardTypesPart1 and ScanCardTypesPart2 settings were used instead, the 125 kHz plugin returned VHL.ErrConfig and card reading stopped.
  • Running VHL.IsSelected with EM 4100 cards resulted in sporadic misreads.
  • VHL.IsSelected sporadically failed to read 125 kHz cards. To improve reliability, an automatic retry for 125 kHz card systems has been added.

1.21.00 (2020-05-11)


  • Added optional card removal detection mode to Autoread. You can now configure the reader to send a message to the host and/or perform other actions (e.g. switch an LED), whenever it detects that a valid card has been removed.
  • Added VHL support for Cardax cards.

Bug fixes

  • The ISO14443A transparent command didn't work if EnMifBwProt (MIFARE backwards compatibility protocol) was enabled.
  • For MIFARE Classic cards, the VHL key list wasn't completely processed if a block read/write error occurred.
  • Read/write problems with ISO 15693 cards have been fixed.
  • The default configuration values for OSDP secure mode and OSDP data mode have been changed.

1.20.00 (2020-03-23)


  • Added RGB-LED support for ID-engine Z
  • Added further RGB functions:
    • Smooth activation/deactivation of RGB colors
    • Signals pulsing continuously between 2 RGB colors
    • Virtual LED definitions that allow RGB colors to be activated via BRP commands or BALTECH script
    • User Interface (UI) commands for controlling LEDs and beeper

Bug fixes

  • Red and green LEDs resulted in light green when activated simultaneously. Now, the result in yellow as the intensity of the green LED has been reduced.
  • An empty blacklist rejected all cards.
  • HITAG 2 labels couldn't be selected in password mode

1.18.00 (2020-03-19)


  • Added alternative data area for number comparison in black-/whitelist

Bug fixes

  • VHL.Read EM4205/4450 used wrong configuration values

1.17.00 (2020-03-06)

Bug fixes

  • Minor corrections for OSDP with encryption

1.16.00 (2020-02-26)


  • Final release for OSDP with encryption
  • Bus address setup with BALTECH AdrCard is now also possible for an already installed reader (tamper switch closed) as long as no project settings are deployed.

Bug fixes

  • SAM access to invalid slot causes a reader to reboot.

1.15.00 (2020-02-05)


  • Color and intensity of ACCESS200 LEDs are individually configurable now.
  • Raw serial-over-CDC protocol can't be disabled accidentally any more.

1.14.00 (2019-12-18)

Bug fixes

  • In presence of a strong external interference signal, the keypad could become unresponsive.

1.13.00 (2019-11-21)


  • It's possible to lock the factory reset feature for a certain Security Level via the configuration file (BEC) or BALTECH ConfigCard.
  • Added the Sec.GetCurAcMask command.

Bug fixes

  • A keypress on an ACCESS200 reader could cause a USB communication failure.

1.12.00 (2019-11-06)

Bug fixes

  • After a software reset, the keypad and LED control of an ACCESS200 reader could be out of order.

1.11.00 (2019-10-31)

Bug fixes

  • The reader firmware could hang when sending a message to a host via read-only (e.g. Wiegand, keyboard emulation) or bus protocol (e.g. OSDP). This could result in an unresponsive keypad.
  • Under specific conditions, sending constant Wiegand data could cause the firmware to enter an endless loop.
  • The command VHL.CheckReconfigErr always returned false even if reconfiguration via BALTECH ConfigCard failed.

1.10.00 (2019-10-09)


Bug fixes

  • OSDP: Wiegand raw data was sent without parity bits.

1.09.00 (2019-09-30)

Bug fixes

  • OSDP: Wiegand raw data was sent without parity bits.

1.08.00 (2019-08-29)

Bug fixes

  • ISO 15693 block length was restricted to 16 bytes. Now it supports up to 64 bytes.
  • HTG 1/S write command contained an error.

1.07.00 (2019-07-30)


  • Card emulation NFC-A is supported now.
  • VHL.Setup and VHL.Write support for inter-industry cards added.

Bug fixes

  • On presentation of multiple ISO 14443A cards, sporadic reading problems could occur. This affected LEGIC readers only.
  • Sys.GetFeatures didn't return the feature IDs of EM4205 and EM4450.
  • The BLE alert service could overwrite the signalization of the blue LED even if this service wasn't used by the BLE host.
  • VHL.IsSelected didn't work with ioProx, Pyramid, and ISO15693 cards that had a block length of 32 bytes.

1.06.00 (2019-05-09)


  • Card data format in OSDP replay messages is now adjustable.
  • BALTECH AdrCard supports address 0 now.

Bug fixes

  • 13.56 MHz card types couldn't be read anymore after executing security-based host commands.
  • LED signalization during BALTECH ConfigCard presentation wasn't correct.
  • HID iCLASS card presentation could cause the reader to reboot.

1.05.00 (2019-03-22)


  • Wiegand allows sending frames of any bit number now.
  • Sys.GetFeatures returns supported host protocol encryption (AES, PKI) now.
  • Updated LEGIG SM-4200 firmware to OS V4.3.1.0.
  • Added new configuration value VhlCfg / File / LegicApplicationSegmentList, which is the basis for a Legic VHL file definition. It replaces the former value VhlCfg / File / LegicSegmentListLegacy, which is marked as deprecated now as it isn't supported by our SDK.
  • Added support for reading iCLASS card numbers with ID-engine Z Legic readers equipped with an SM-4200M (ISO 15693-based iCLASS cards only - no iCLASS SE/Seos).
  • Bluetooth transmission power can be adjusted via configuration now.
  • Added new Legic low-level command dispatcher, which currently only contains the transparent Command for direct communication with the SM-4x00. This dispatcher replaces the Lga dispatcher, which is marked as deprecated now as it isn't supported by our SDK.
  • Added 3 new ISO 15693 low-level commands: TransparentCmd, WriteMultipleBlocks, and ReadMultipleBlocks. These commands replace the commands 0x2105, 0x2106, and 0x2120, which were marked as deprecated as they aren't supported by our SDK.
  • Added VHL.ResolveFilename,
    which allows you to address VHL files via name instead of index. We recommend to follow this approach for new projects.
  • Readers now scan for BALTECH ConfigCards even when not adding ISO14443/A to Project / VhlSettings / ScanCardFamilies explicitly. In the latter case; ISO14443/A cards aren't processed by the Autoread Rules at all (it is only checked if they are BALTECH ConfigCards and transferred to the readers configuration if so). For the rare case that non-ISO14443/A ConfigCards are needed, a new configuration setting was introduced: "Project.VhlSettings.ConfCardFamily"
  • The serial communication interface (UART/RS232) supports 7-bit data frames now (7N1, 7E1, 7P1).
  • Ultralight low-level commands added

Breaking Changes

  • Deprecated ISO15693 commands (command code 0x20XX) were removed. To execute low-level ISO15693 commands, use the Iso15 command group instead (as recommended for all current products).


  • Sys.GetFeatures could indicate MIFARE Classic/Plus support for LEGIC readers erroneously.
  • Under specific conditions, sending constant Wiegand data could cause the firmware to enter an endless loop.
  • BCC-16 checksum in BRP response frames was incorrect in case of BRP over HID communication.
  • Problems occurred when reading ISO14443-4-compatible cards with an ID-engine Z LEGIC reader.
  • VHL Select didn't scan for 125 kHz cards after card analysis was done in ID-engine Explorer.
  • GProx is supported for any bit length now.
  • AWID supports any bit length now.

1.04.00 (2018-10-11)


  • ACCESS200 reader platform is supported now.

Bug fixes

  • Reader configurations which operate on the Rawserial protocol using the second serial interface (Channel1) not only activate the UART/RS232 interface on ID-engine Z, but also the Rawserial over CDC communication channel now.

1.03.00 (2018-09-21)

Bug fixes

  • With the ISO14443 A stock configuration it could sporadically happen that cards weren't recognized any more after some time.

1.02.00 (2018-09-18)


  • Reader configurations originally created for ID-engine SD readers which operate on the Rawserial protocol using the second serial interface (Channel1) are compatible with ID-engine Z readers now. The card number is sent unidirectionally to the host via the UART/RS-232 interface of the ID-engine Z reader.

Bug fixes

  • During communication over the serial interface (UART/RS-232), single BRP commands could occasionally fail. The reader received or sent an incorrect BRP frame in this case.
  • Improved reading of EM4450 tags
  • Added ISO 15693 labels with option flag 1
  • ISO 15693 low-level write command: error codes: detail degree of status codes improved

1.01.00 (2018-09-14)


1.00.00 (2018-09-10)

  • Initial release
Back to top