Skip to content

Offline Programmer User Manual

  • This document serves as the user manual for our company’s offline programmer (hereinafter referred to as “the programmer”). The offline programmer is a self-developed module board equipped with TF card slot, buttons, power switch, and other hardware. It can update firmware for other module boards without requiring a computer, simply by connecting the target board and providing power. To purchase the offline programmer, please click ☞Purchase Samples or contact our sales representatives.

  • The main function of this tool is to copy configuration files to a TF card, insert the TF card into the programmer’s slot, connect the target board’s UART0 to the programmer’s UART2 interface, and power the programmer using a power adapter. By following the voice prompts (if a speaker is connected to the programmer), the programmer will perform a self-test and enter the upgrade interface. Press the “Upgrade” button on the programmer to update the firmware of the target board.

  • Compared to the PC serial port programming tool, the offline programmer features a graphical interface that displays the CRC checksum of the firmware to be programmed, tracks successful programming counts and failure reasons, and provides audio prompts (when a speaker is connected). It doesn’t require a computer and can be powered by a USB power bank or power adapter, making it portable and usable anywhere.

  • The following sections provide detailed explanations on environment setup, upgrade process, TF card data, upgrade examples, and common troubleshooting.


1. Environment Setup

1.1. Upgrade Equipment

  • The table below lists the hardware required for the offline programmer, including quantities and acquisition methods.
No. Name Quantity Description
1 Offline Programmer Main Board (with display) 1 Provided by Chipintelli (with relevant documentation)
2 Programming Cable 1 Provided by Chipintelli, used for powering CI13XX chips and serial communication
3 Power Adapter 1 Provided by Chipintelli, used to power the programmer
4 TF Card 1 Provided by Chipintelli/self-purchased, used to store firmware, configurations, and log files
5 TF Card Reader 1 Provided by Chipintelli/self-purchased, used to read/modify TF card contents
6 Machine Communication Cable 1 Provided by Chipintelli, used for communication between the programmer and machine for batch programming
7 SOCKET Adapter Board and Socket 1 Provided by Chipintelli (requires separate purchase)

Programmer and Accessories

1.2. Offline Programming Hardware Description

  • The table below provides a detailed description of the programmer main board components.
No. Name Description
1 Chip Programming Interface Connects to the 4-pin cable of the socket adapter board
2 DIP Switch Controls the programmer’s operating mode
3 Display LCD screen showing programming information
4 Machine Communication Port Interface for machine control communication
5 Speaker Interface Speaker connection (connect speaker if needed)
6 Power Adapter Interface 12V power adapter input
7 TYPE-C Interface (Power Only) TYPE C interface
8 Power Switch Controls power to the programmer
9 TF Card Slot TF card interface
10 Programming Button Upgrade button (press to start manual upgrade, press and hold to flip the screen)
11 Verification Button Verification button (press to verify the upgraded firmware)
12 Programming Status LED Indicates chip programming/verification status
13 Power LED Indicates power status of the programmer

Programmer and Accessories

1.3. DIP Switch Settings

  • Before use, ensure that DIP switches 1 and 3 are set to ON, and switches 2 and 4 are set to OFF. If you need to change the DIP switch settings for proper operation, please contact Chipintelli. Do not modify the DIP switch settings without authorization.

Programmer and Accessories

1.4. Upgrade Framework

  • The diagram below shows the connection between the offline programmer and the target device, including the pinout details and power requirements.

Development Board Overview

1.5. Upgrade Environment

  • The firmware, configuration information, and programming logs required by this programmer are all stored on the TF card. A typical root directory of the TF card is shown below.

Development Board Overview

  • To upgrade the offline programmer’s firmware: Use the serial upgrade tool provided by Chipintelli (refer to ☞UART Debug Tool User Manual for usage) to upgrade the offline programmer’s firmware. Copy the required files to a blank TF card using a card reader. Insert the TF card into the slot before powering on the board.

2. Upgrade Process

  • With the programmer powered off, insert the prepared TF card into the TF card slot.
  • Connect the programming interface: Connect the programmer’s UART2 interface to the target socket or voice module’s UART0. Note: 5V to 5V, GND to GND, programmer’s RX to module/socket’s TX, and programmer’s TX to module/socket’s RX.
  • Power the programmer using the 12V power adapter.
  • Turn on the power switch and wait for the programmer to complete the self-test. If the self-test fails, refer to the error codes below. During the self-test, the programmer’s display will show its firmware version.
Error Code Description
E2 Missing .ini configuration file on TF card
E3 Flash erase failed during self-upgrade
E4 Failed to open self-upgrade firmware
E5 Self-upgrade failed
E6 Failed to add new log file
E7 Security dongle initialization failed: Communication failure, dongle not detected
E8 Security dongle initialization failed: Authentication failed (including communication failures)
E9 Security dongle initialization failed: Password query failed (including communication failures)
E10 Security dongle initialization failed: Usage count query failed (including communication failures)
E11 Security dongle initialization failed: Maximum usage count query failed (including communication failures)
E12 Security dongle initialization failed: Usage count exceeded
E13 Missing version information in target firmware
E14 Target firmware not found
E15 Incorrect chip model selected, configuration does not match target firmware
E16 TF card version is too old
E17 Private file not found
E18 Missing TF card version information
E19 Missing programmer function selection
E20 Programmer function selection error
  • After confirming that the socket adapter board is properly connected to the programmer, press the upgrade button (red button on the programmer) to start the programming process. The red and green LEDs on the programmer will start blinking.
  • When the red and green LEDs stop blinking, the programming is complete. If the green LED is lit and the red LED is off, the programming was successful. If the red LED is lit and the green LED is off, the programming failed. Please refer to the following table for troubleshooting.
Error Code Description Troubleshooting
E1 Target chip current detection failed 1. Chip not placed in socket or connection issue; 2. Chip orientation is reversed
E2 ci130x_updater_VXXX.bin file not found on TF card Check if ci130x_updater_VXXX.bin exists on the TF card
E3 Target firmware not found in TF card root directory Check if the target firmware exists in the root directory; Verify that the firmware name under “[general_firmware_name]” in xxxx.ini exactly matches the firmware filename in the TF card root directory (including letter case, no extra spaces or symbols, and .bin extension); Ensure xxxx.ini encoding is correct
E4 Updater download failed Check hardware connections
E5 Bootloader download failed Check hardware connections
E6 Partition table 1 download failed Check hardware connections
E7 Partition table 2 download failed Check hardware connections
E8 USER1 download failed Check hardware connections
E9 USER2 download failed Check hardware connections
E10 ASR download failed Check hardware connections
E11 DNN download failed Check hardware connections
E12 USER_FILE download failed Check hardware connections
E13 VOICE upgrade failed Check hardware connections
E14 NV erase failed Check hardware connections
E15 Full chip upgrade failed Poor communication quality, check connections
E16 Verification failed Check hardware connections
E17 Partition information read failed Check hardware connections
E18 Partition information verification failed Check hardware connections
E19 No upgrade request from updater, updater program not running properly Check hardware connections
E20 Timeout waiting for updater response Check hardware connections
E21 Updater response error Check hardware connections
E22 Frequency test failed Check hardware connections
E23 Frequency test firmware download failed Check hardware connections
E24 Firmware size exceeds chip FLASH capacity Note the reserved size when packaging NV, should be adjusted to: NV start address + NV reserved size <= chip flash capacity
E25 Frequency calibration exception Check hardware connections
E26 Security dongle initialization failed Check hardware connections
E27 Security dongle authentication failed (including communication failures) Check hardware connections
E28 Security dongle usage limit reached (including communication failures) Check hardware connections
E29 Failed to increment security dongle usage count (including communication failures) Check hardware connections
E30 Security dongle usage count query failed Check hardware connections
E31 Maximum number of programming counts displayable on screen reached Check hardware connections
E32 Other errors Analyze based on actual situation

3. Sampling Inspection Method for Programmed Firmware

  • With the programmer powered off, insert the prepared TF card into the programmer’s TF card slot.
  • Press down on the black frames on both sides of the socket as shown in the figure, and place the chip to be tested according to the diagram. Pay attention to the chip polarity mark and the silkscreen on the socket board. Note: The orientation of the adapter board, socket, and chip should match the direction shown in the image.

Programmer and Accessories

  • Connect the programming interface: Connect the programmer’s interface to the target board. Note: 5V to 5V, GND to GND, programmer’s RX to module/socket’s TX, and programmer’s TX to module/socket’s RX.
  • Power the programmer using the matching 12V power adapter.
  • Turn on the power switch and wait for the programmer to complete the self-test. During the self-test, the programmer’s display will show its firmware version number.
  • Manually press the verification button (black button on the programmer) to start verification. The red and green LEDs on the programmer will start blinking.
  • When the red and green LEDs stop blinking, the verification is complete. If the green LED is lit and the red LED is off, the verification was successful. If the red LED is lit and the green LED is off, the verification failed, indicating that the batch of chips are defective and need to be reprogrammed.
  • Important: In addition to the first article inspection, a sampling rate of 0.3% of each batch of chips should be verified.

4. Updating the Programmer’s Own Firmware

The pins used for updating the programmer’s firmware are shown in the figure below. Programmer and Accessories

  • Connect the serial debug tool to the pins in the red box in the figure below. Connect the programmer’s 5V to the serial tool’s 5V, programmer’s GND to serial tool’s GND, programmer’s TX to serial tool’s RX, and programmer’s RX to serial tool’s TX.

Programmer and Accessories

  • Set the topmost DIP switch (position 1) to ON as shown in the figure above. (Please return it to its original position after testing)

  • Open the PC upgrade tool, select the CI130X series, then select the specific chip model, and click [Firmware Update] in the order shown in the figure below. (If the PC upgrade tool version is too old, the interface may be slightly different. Please contact us for the latest PC upgrade tool if needed)

Programmer and Accessories

  • Click [Select Firmware] to choose the programmer firmware file from the release package. Double-click the firmware file: “Programmer_for_CI130x_20230526_VXXX.bin” (the name may vary with different firmware versions, please adjust accordingly). The interface is shown in the figure below.

Programmer and Accessories

  • Insert the red USB-to-TTL Tool into the computer’s USB port. The PC upgrade tool will detect a new COM port (the number may vary on different computers). Check the box in the rightmost column of the newly added serial port.

Programmer and Accessories

  • After confirming the serial port is selected, unplug the programmer’s 5V (red Dupont wire) as shown in the left figure below, then plug it back in (right figure below). The programmer will enter programming mode. As shown in the red box in Figure 5-7, when the progress bar updates to 100% and stops updating, the programmer firmware update is complete (the entire update process takes between 5-30 seconds). If not, repeat the programmer update process.

Programmer and Accessories

  • After the PC upgrade tool completes programming (when “device:update success” is displayed after the progress bar), click the selection box in the figure above again to uncheck it.
  • Power off the programmer, then power it back on. The display will show the programmer’s firmware version. Verify that it matches the version number of this update.

5. Firmware Verification Method

5.1 Developers Generate Firmware Checksum

  • Double-click to run CRC-32.exe;
  • Go to [File] > [Open] and select the firmware file for which you want to calculate the checksum;
  • After calculation is complete, the checksum will be displayed as an 8-digit hexadecimal number. The generated checksum can be copied to a TXT file and provided to the programming operator with the work order.

5.2 Operators Compare Firmware Checksum

The programmer supports displaying the checksum of the firmware to be programmed. After power-on self-test is complete, it will be displayed at the top of the screen as shown below.

Programmer and Accessories

Note: Before batch programming, operators need to verify that the checksum on each programmer matches the checksum provided in the work order.

6. Programmer Video Tutorials

Manual Programming Video Link:

Automatic Programming Video Link: