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) |
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 |
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.
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.
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.
- 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.
- 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.

- 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.
-
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)
- 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.
- 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.
- 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.
- 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.
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:











