- Hanshow Stellar Pro 290R-N (supported, tested, and used as the main development device)
- Hanshow Stellar Pro 213R-N (not tested but should be supported)
- Remove the battery cover and check if the mainboard looks like the diagram below.
- Solder four wires: GND, VCC, RX, RTS.
- Use a USB-to-TTL module (CH340) to connect the four wires. Connect RX to TX, TX to RX, VCC to 3.3V, GND to GND. Wire the RTS pin to pin 3 of the CH340G chip (or skip soldering and briefly connect RTS to GND before flashing).
- Open https://atc1441.github.io/3TC_TLSR_Paper_UART_Flasher.html. Keep the default baud rate of 460800, leave Atime as default, and select the file Firmware/ATC_Paper.bin.
- Click "Unlock" first, then click "Write to Flash" and wait for completion. Once successful, the screen will refresh automatically.
cd Firmware
makeit.exe clean && makeit.exe -j12Output on success:
'Create Flash image (binary format)'
'Invoking: TC32 Create Extended Listing'
'Invoking: Print Size'
"tc32_windows\\bin\\"tc32-elf-size -t ./out/ATC_Paper.elf
copy from `./out/ATC_Paper.elf' [elf32-littletc32] to `./out/../ATC_Paper.bin' [binary]
text data bss dec hex filename
75608 4604 25341 105553 19c51 ./out/ATC_Paper.elf
75608 4604 25341 105553 19c51 (TOTALS)
'Finished building: sizedummy'
' '
tl_fireware_tools.py v0.1 dev
Firmware CRC32: 0xe62d501e
'Finished building: out/../ATC_Paper.bin'
' '
'Finished building: out/ATC_Paper.lst'
' '
- You must disconnect the TTL TX wire first, otherwise Bluetooth connection will fail.
- OTA update: https://atc1441.github.io/ATC_TLSR_Paper_OTA_writing.html
- Run
cd web_tools && python -m http.server - Open http://127.0.0.1:8000 and connect via Bluetooth on the page.
- Select and upload an image. After uploading, you can add text or draw manually. You can also set the dithering algorithm.
- Send to the device and wait for the screen to refresh.
- The device supports joining the Apple FindMy network. (The device broadcasts AirTag-compatible public keys via Bluetooth. When nearby Apple devices receive the public key, they encrypt their location data with it and send it to the FindMy server. You can then use your private key to retrieve the device's location from Apple's servers.)
- This feature is disabled by default.
- To enable it, modify the
PUB_KEY=value inble.cto your own public key. For instructions on generating keys, see: (https://github.com/dchristl/macless-haystack or https://github.com/malmeloo/openhaystack) - You also need to set
AIR_TAG_OPEN=1inble.c.
- Python image generation script
- Bluetooth image upload with incorrect display size
- Added BLE notification after image upload
- Added scenes with mode switching support
- Image mode
- Web image switching support
- Added new clock scene
- Support for setting year/month/day
- Web drawing editor, direct image upload, B&W dithering
- Tri-color dithering, device-side tri-color display, BLE transfer support
- EPD buffer refresh data anomaly (occasional black bars on left/right)
- Apple FindMy network support / AirTag emulation
I would like to thank the following projects and its contributors upon which this project is based:
- ATC_TLSR_Paper, by atc1441.
- stellar-L3N-etag, by reece15.
