I recently picked up 3 of the "TRMNL 7.5" (OG) DIY Kit" for $45 bucks each, it's an ESP32-S3, a 7.5" E-Paper/E-Ink display, and a 3.7V 2000mAh battery in a pretty price effective kit.
TRMNL seems to be a little overselling this collaboration with SeedStudio, making it seem easier than it is, and overall this is I would say good hardware with some questionable communications and positioning over what also, appears to be good software.
Unfortunately you basically cannot easily use this "OG DIY Kit" with TRMNLs hosted offering without paying an additional $40 per device, a specific BYOD licence, which grants "lifetime" access to the TRMNL hosted services.
TRMNL seems to leverage Platform.IO, which is another one of those things which on paper seems like a good idea, but is just vendor lock-in.
That all being said, it turns out to be fairly easy (after a little discovery) to leverage the device in your own way, mostly using the mostly avaialble, mostly documented software they provide with only really minor headaches along the way. Are the headaches worth 40 bucks? Probably not. If I had one of these devices and planned to use it with their portal, I'd probably pay, but I have three, and the math works out in favor of spending 20 hours.
In the end, the changes are small, in the trmnl-firmware repository, which seems to be excellently maintained:
make this diff:
diff --git a/include/config.h b/include/config.h index e666613..1012a02 100644 --- a/include/config.h +++ b/include/config.h @@ -104,6 +104,6 @@ enum WIFI_CONNECT_RETRY_TIME // Time to sleep before trying to connect to the Wi #define SERVER_MAX_RETRIES 3 -#define API_BASE_URL "https://trmnl.app" +#define API_BASE_URL "http://192.168.2.105:2300" #endif diff --git a/platformio.ini b/platformio.ini index dbcc5e1..0ddea5f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -1,5 +1,5 @@ [platformio] -default_envs = trmnl +default_envs = seeed_xiao_esp32s3 ; ======================== ; Third-party Dependencies
I run VSCode, where there's a Platform.IO extension, and there's a "Build" command which does the heavy lifting. It even noticed the edit to platformio.ini
and rebuild when I changed the target.
In the byos-hanami
directory, simply run docker-compose up
(or podman, etc) after setting appropriate variables.
With that, then I ran:
esptool.py -p /dev/cu.usbmodem2211401 -b 460800 write_flash 0x10000 .pio/build/seeed_xiao_esp32s3/firmware.bin
to Flash it, using https://github.com/espressif/esptool which is provided by Expressif for interfacing with their modules on MacOS (and other platforms).
The other firmwares in teh ./build/ directory seem to be for the -C3
variant of the ESP32, which I assume is used on other boards.
Top comments (0)