Select your language

Switch to Language

Software "USprog" (USB Serial Programmer tool)


Maked for direct programming EEPROM or MCU memory.

 Attention! This tool is not for "juniors", it demands certain knowledge in electronics and abilities to read device datasheets. The stupid pushing buttons with a view of earn money can lead to at least a lethal outcome of the connected device or a heart attack for the user!


The PC Software can work under the any standard Windows 32-bit (checked on the Win2000...Win8.1) with ".NET Framework" installed, v3.5 or newer. It have a Help with basic functions description, called by pressing of traditional button F1.

Installation file   - only for registered users of this tool.  Please log-in on the Main page.



On example, this picture illustrates data editing window for selected memory type "Internal EEPROM 0" in device 9S12XHZ512.



Main Programmer buttons and functions:

1. Operations with files and Buffers:

    - "New" - Buffer clear ( Filling with values FF or FFFF);

    - "Open" - loading data from file to active Buffer selected by buttons Buff.1, Buff.2 to addresses array selected in fields "Addrs".

       Well work function Drag-Drop files, on example from file explorer, with usual file formats .bin, txt, hex, s19, s20, mhx, ...;

    - "Save" - saving data array selected in fields "Addrs" from active Buffer  to files with formats .bin, txt, hex, s19, s20, mhx, ...

       In case of saving in HEX format, possible set Address Shift value (hex value), then you save hex file with data placed in new memory array (old start address + shift value);

2. Operations with Device Memory:

    -  ON (OFF) button - Enables or Disables Programmer hardware outputs. If you will activate Enable button before reading-writing, then after Read-Write operation ending, Programmer doesn't release wires connected to target device and still apply power and digital levels into target device. Overwise, or if you will deactivate power manually, Programmer will release all wires (put it to floating stage);

    - "Read" - Reading data to active Buffer;

    - "Verify" - Data verification between Buffers (only!). If some data difference founded, non-identical cells will be lighted, navigation buttons will be activated too. You can use Buffers switch to see differencies;

    - "Test" - Cyclic reading test of small device memory array for visual reading stability;

    - "Write" - Writing to Device memory from active Buffer ( whole array selected in fields "Addrs" ). If device require Erasing procedure before Write, Programm asks you about it. You can write data without erasing if need;

    - "WrSel" - Memory Modify, writing to Device memory array selected by mouse, in HEX data field. In this case programm make write data over old data writed in selected cells, without any erasing procedure. It need for prevent possible memory content crash in target device, if data readed previously was poor;

    - "Prop-s" - opens window with different device and programm prоperties, more window description see lower;

    - "Help" - Shows device connection pictures;

    - "xor" - XOR 0xFF or XOR 0xFFFF(16-bit memory) operation for data array selected in fields "Addrs";

    - "swp" - SWAP BYTES (bytes exchange) operation for data array selected in fields "Addrs";

    - "rol" - Rotate Left BYTE(Word for 16-bit) operation for data array selected in fields "Addrs";

    - "ror" - Rotate Right BYTE(Word for 16-bit) operation for data array selected in fields "Addrs";

    - "Pow.Delay" - Enabling pause 1.5sec after power applying to target device, it sometimes need to charge some capacitors on target board (for on-board connection cse);

    - "PullUps" - all wires configured as Inputs will be pulled to 3.3v via 1kOhm resistors.


Field "Protect Reg." is active when this device have some Configuration/Security bits. These bits state you can change individually by mouse clicking. Active Bits count will be different by selected device.


Window "Prop-s":

In this window you can set manually some parameters for working with target device. Button "More" opens additional field with some Programmer programm setup  parameters.

"One bit time" (mcs) - Device operation speed parameter (for devices with data transfer synchronization by line CLK). Value 0(min) - is minimal possible, depends by Programmer hardware speed only.

"Time for writing one cell" (mcs)- time required for write one address cell, if target device have no internal self-timing future.

"WholeMemo Erase Time" (ms) - time required for full erasing one cell for EPROM or one page for FLASH device memory, if target device have no internal self-timing future.

"Quartz (Apply) Freq" - future for MCUs, important for correct data transfer between Programmer and target MCU. But for Freescale devices 9S08(new BDM), 912,9S12 (BDM) it value is not actual because Programmer have Bitrate and Frequency Autodetect function for BDM.

"Apply to Coax.Cabel" - Outputs this frequency on RF cable. Usually it needs for security skip procedure, and if crystal frequency detection is impossible. Then, cable must be soldered to points shown in connection picture for this device by Help button.

"Skip Sec" - Before device read/write operation, will be maded skipping chip security action. Please remember, each mistake or inaccurate soldering can causetarget device crash or device memory content damage. Please understand, this tool is not magic, not all devices is possible to open by first try, and unsecuring at all too. The success depends by the many factors - chip temperature, concrete board with many parts connected to target chip, the quality of power feeding by USB too. All operations with security will be maded under your responsibility only, no claims are accepted if chip damage occures.

"Apply power" - You can set power voltage value for device regular operations. But remember - not good if you will set voltage too low, on example if you will use on-board connection to EEPROM and like to stop processor connected to EEPROM, because all EEPROMs have internal voltage charge pump for erasing-writing operations, if you will set too low voltage you can became data bits floating in some cells in future, similar as in case for well-known 908AZ60 J74Y devices damage.

"Remember last used file Paths" - Programm remembers last file paths after success files reading or storing for each buffer.

"No PowerOFF after Unsecure" - You can make read and write devices without using button ON/OFF, but when device require bootloading and unsecuring procedure, better to set this flag. Then if unsecure and bootload operation will be ended successfully, programm doesn't turn OFF power to target after reading-writing procedure. It need if you can make lower the risk of device damage especially when sec skip is active.

"Operation Sounds ON" - Every operation Programmer will be ends with sounds. Good when you need make long time data transfer between programmer and target device.

"AutoCheck Updates ON" - Enables newest version checking and Autoupdate from web server.

"SelfCheck" - opens SelfChecking window for Programmer hardware. The two checking variants are possible: without any connector and with special connector. Second variant made more full hardware lines checking.

Connector is usual HDMI female.