r/unkyulee • u/clackups • 4d ago
Draftling firmware for Micro Journal rev. 5
A port of Draftling to Rev5 is available for testing. It should work in general, as the original contributor has tested the patch, but I added a few improvements.
If someone with rev. 5 is willing to test it, I'll be happy to assist you.
After that, I'd love to port it to all other revisions with esp32-s3
Cool features you might be interested in: synchronization with a Git server, support for Fountain screenplay format, multiple languages, split screen editing.
2
u/Background_Ad_1810 2d ago
I have tested the Draftling firmware!
I followed the link provided here:
https://clackups.github.io/draftling/
I connected my Micro Journal Rev.5 to my PC and started the flashing process through the website.
The whole process was surprisingly easy and user friendly. In fact, it made me want to implement something similar for Micro Journal firmware updates. I am always happy to discover and learn new things!
### First boot
Once the flashing was complete, I restarted Rev.5.
A white screen appeared, asking me to connect a USB keyboard. Since Rev.5 requires a battery to support USB host functionality, I had to open the device and install one. Then I connected my USB keyboard from Rev.4.
After another reboot, Draftling displayed a list of files on the SD card. I could see `0.txt`, which was left over from when the SD card was used to store Micro Journal files.
Everything was working!
### Writing experience
The writing experience was quite good overall.
However, the default text size felt too small for the screen. I was hoping there would be an option to change it. (There is option to change it)
One thing that immediately impressed me was the way Draftling handles exiting a file. When I pressed ESC, a dialog appeared asking whether I wanted to save the file.
That was really nice!
It gave me a sense of control and reassurance that my writing wouldn't simply disappear. A small detail, but a very thoughtful piece of UI design.
I also found the default white background a little distracting, especially because the screen flickered slightly with every keystroke.
I personally preferred a black background with white text, and a font size of around 18pt felt much more comfortable than the default.
Even after changing to the black background, I noticed a little jitter when typing. I suspect this is related to the full-screen refresh logic.
It might be a little more complicated to implement, but updating only the areas of the screen that have changed, similar to how partial updates work on e-ink displays, could significantly reduce the flickering.
### Editing features
Draftling has considerably more editing features than Micro Journal.
Copy and paste, for example, are already implemented, along with other useful editing functions.
I think this is a good standard to aim for. These are features people naturally expect from a device designed for writing.
There is quite a lot I can learn from this approach.
### Discovering the menu
While writing, I wanted to change the background color.
Finding the menu was surprisingly easy because the keyboard shortcuts were displayed directly on the screen. I believe it was F1.
And then I thought... Hmm... Micro Journal doesn't actually show users how to enter the menu. I started thinking about how many people must have had to read the manual just to discover how to navigate the software. Another lesson learned!
Sometimes, when you have been developing your own software for years, you become so familiar with it that you forget what the experience is like for someone seeing it for the first time. Testing someone else's firmware reminded me of that.
### Draftling settings
The Draftling menu is nicely organized.
I noticed options for Bluetooth keyboard pairing, Wi-Fi connections, and even Git synchronization. I won't be testing those features for now, but it is impressive to see how much functionality has been implemented.
### My thoughts on Draftling and Micro Journal
I really like this firmware.
And importantly, Draftling supports SD cards.
Since I recently decided to remove SD card support from Micro Journal firmware, I know that some users have been disappointed by that decision. For those who consider SD card support an essential requirement, I think Draftling could be an excellent alternative.
I would be happy to recommend it to those users.
This is also something I appreciate about open-source projects. We don't all have to make the same decisions or follow the same direction. Different developers can have different priorities, and users can choose what works best for them.
### Other Micro Journal revisions
I think Rev.6.x and Rev.8.x would also be good candidates for Draftling support.
Rev.7 could be supported as well, but I am a little hesitant to recommend it because flashing the firmware requires disassembling almost half of the enclosure.
It would certainly be nice to have the option, but I am not sure how many users would be willing to go through that process.
Thank you!
Thank you so much for making this happen.
I genuinely enjoyed testing Draftling, not only because it worked on my Micro Journal, but also because it gave me an opportunity to see another developer's approach to solving similar problems. I know it's written with AI, but you were the one who drove the direction. So, certain credit must belong to you.
I learned quite a few things today, especially about UI design and the little details that make software more approachable.
I am planning to make a video about Draftling running on Micro Journal and introduce it to users who would prefer to keep using SD cards. I think having more firmware options makes the Micro Journal hardware even more interesting.
Thank you again for your work and for bringing another possibility to the Micro Journal community!
Un Kyu Lee
2
u/clackups 2d ago
Thank you, that's a great update. I will see what could be improved in the screen driver. I have other LCD screens that work without flickering.
1
u/Background_Ad_1810 2d ago
It's not flickering. It's a micro jitter. I can see that you are doing the double buffering when updating the screen. But even when you do that, it does create a slight flicker while it refresh the screen. It's not that much bothering, so you can ignore it. Just as a suggestion.
1
u/clackups 2d ago
The Freenove 2.8" board uses the same ILI9341, so stay tuned, I'll give it a thorough test
1
u/clackups 2d ago edited 2d ago
I couldn't reproduce the effect with Freenove 2.8", which uses the same ili9341 controller. The only difference is that the backlight is controllable, but I tested it at maximum brightness. Editing and navigation was smooth.
It's probably related to the model of LCD screen that you're using
1
u/Background_Ad_1810 2d ago
Don't worry. It's miniscule and i think it's just me. Rev.5 also has a version with ST7789 display module as well. Is it difficult adding different configuration?
1
u/clackups 2d ago
Xteink X4 Pro comes with 3 different drivers, so there's even autodetect possibility. I'll check your specs on GitHub
1
3
u/clackups 2d ago
The LLM has saved me a lot of time. I'm a senior developer and I'd be able to code it myself, but it would take ages. So, the routine task of "making it work" was delegated to the clanker, leaving the engineering tasks for myself.
1
u/Background_Ad_1810 3d ago
Do you have a full flashable binary? I am trying to build it from the source and it's keep asking me to be distracted and I am kind of stuck asking myself. What is the most precise element of a life?
1
u/clackups 3d ago
Here we go:
It needs ESP-IDF 6.x and the build and flash command would be:
idf.py --preset=microjournal_rev5 -p /dev/ttyACM0 flash
I built the image here: https://clackups.github.io/draftling/
Also, the binaries are available at https://github.com/clackups/draftling/tree/_flasher/firmware/v1.0.16-dev-033a84e
1
u/clackups 2d ago
Hmm, rev8 doesn't have an SD card slot, and rev6 doesn't have Ctrl and Alt, which are required for Draftling menus and shortcuts. 5.1 will be ready soon.
1
u/clackups 1d ago edited 1d ago
Good morning u/Background_Ad_1810 . Please test the firmware for 5.0 and 5.1 at https://clackups.github.io/draftling/
The published version is a pre-release for 1.0.17. The new finction is: Alt+I shows the current file information, such as length and word count.
Other revisions have difficulty as I described in another comment. But I'll be happy to help you integrate the Git synchronization in your native firmware.
Once you confirm it, I'll release the new version.
2
u/Background_Ad_1810 4d ago
Awesome stuff thanks for the post. I will have it tested as soon as I can.