Clone
5
88MZ100 Programming and interfacing
AndreKR edited this page 2025-06-25 16:57:25 +02:00

Programming 88MZ100-based tags

88MZ100 based tags can be programmed over a serial interface. Using a USB-to-TTL module makes this pretty easy to do. The DTR line can be used to reset the CPU when needed.

Schematic for 7.5" tags (ST-GR750BN)

image

Schematic for 4.2" tags (ST-GR42RG0)

image

The ST-GR42RG0 can also be programmed with the OEPL-Flasher, using the same jig as the ST-GR420B3N2. If you want to program them with the OEPL-Flasher, use the 88MZ100-OEPL-Flasher.py script.

For development purposes, using a bit of hot-glue and some wires, tags can easily be wired to connect to your PC. Please note however that for normal use, or in order to meaningfully monitor power consumption, the serial board must be removed.

The flasher scripts for use with these serial ports can be found here. They are based on ATC1441's 88mz100 flasher python scripts, with only small modifications for use with the ESP32/AP-Flasher and automatic reset.

Checkout ATC1441's 88MZ100 page here!

Mac settings

The 88MZ100 SOC has no separate config flash area. That means the MAC-address and other settings are a part of the firmware file. A little utility, '88MZ100_FW_Edit.py', can be used to change the mac-address and tag type.

To use this utility:

python 88MZ100_FW_edit.py <firmware file> -mac 00000123456789AB -oepltype 0x05 -bpp 2

For M2 7.5 BWR tags, use -bpp 2 -oepltype 0x05

For M2 7.5 BW tags, use -bpp 1 -oepltype 0x26

Complete instruction to flash a BWR 7.5" tag with a USB-to-TTL module

Connect the wires as above. From the \OpenEPaperLink\Tag_Flasher folder, run:

88MZ100_FW_edit.py <firmware file> -mac 00000123456789AB -oepltype 0x05 -bpp 2
88MZ100-Serial-Flasher.py COM27 write_flash <firmware file>

Of course, replace 0123456789AB with the actual mac of the tag (see reverse side), and replace COM27 with the port of your USB-to-TTL module.