Welcome to my corner on the web! My name is Ignas Bukys and I am excited to share my thoughts, experiences, and insights with you.
On this blog, you will find a diverse range of topics including technology and programming. All my projects (ongoing & finished) are listed here.
Whether you are here for personal growth, to learn something new, or simply to be entertained, I hope you find value in what I have to share. Thank you for stopping by and I hope you enjoy your visit.
In this post, I want to share my personal experience in choosing and configuring a 4G router for my home. Bigger project I was on, required me to install a network solution in a house, and the choice was determined by the ratio of the offered functionality and price.
Out of many choices, the ZBT WE826 model caught my eye. This router had an attractive price and seemed suitable for my needs. With a 4G module, the router costs about €60. I found information that it supports OpenWRT software. I purchased from the Aliexpress platform and received the package.
However, after starting to use this router, problems arose. The 4G connection worked only for 3-8 hours (very randomly), and then disappeared. I wanted to make sure that the device was working properly and fairly stably, so at first I didn't change any settings and tried to use the one I received. I tried to reconfigure the device according to the seller's notes and advice, but it didn't help. The seller shared the firmware for the router based on the LEDE Reboot version from 2018. I decided to install it, but it wasn't successful either - the device worked for 8 minutes and rebooted. Apparently some script was working.
Finally, I decided to install the latest OpenWRT firmware version specifically for my device. I chose the “ZBT W826 T 16M factory image” version. This solution turned out to be correct and my device with the new firmware started up. As expected, the 4G modem did not work and needed to be configured. Two sources helped me do this:
You need to understand that in order to install some packages into router, you need an internet connection. I didn't had a wired connection, so I thought, maybe I can share the internet on my mobile and make the router a Wifi client. It was fairly straight forward. I've managed to enable 4G support by following documentation. Left router to hang overnight to evaluate stability. To my deep disappointment, the initial situation repeated itself - the 4G connection disappeared after a few hours.
Since I was using the latest version of OpenWRT, I decided to describe my problem on the OpenWRT forum. A forum member, guru, AndrewZ, responded quite quickly and asked for additional data from the router. After an initial analysis, he suggested changing the 4G module mode and reconfigure the router. I read the procedure and decided to go this route. I have nothing to lose, even if I break my router!
I reloaded the OpenWRT firmware once again to start from fresh, shared the Internet via my mobile phone. I changed the module configuration to support the QMI protocol using AT commands. I configured the router according to the documentation. This process was a challenge, but in the end, I've managed to achieve the desired result.
Now I have router that gives me low level configuration, has wide support for various software and active community in case something goes wrong. My ZBT WE826 router works stably and without problems. The 4G connection is stable, and the Wi-Fi coverage is very good. In addition, the form factor of the router is perfect for hanging on the wall, which is a big advantage.
This project showed that even with an inexpensive device, good results can be achieved if you are ready to invest some time and effort. The main thing is not to give up and look for solutions, even if everything seems complicated at first.
The Elecrow CrowPanel 5.79“ e-paper display initially seemed like a dream come true. A large, high-resolution display for all my e-ink project ideas? Sign me up! However, my journey with this display was a rollercoaster of emotions, filled with both excitement and frustration.
Few weeks ago in Facebook Micropython group I've saw invitation to win E-Paper device based on ESP32 and gave it a go- filled in form. Only name and email was required. We live in spam world already, so I've decided to give it a go. To my surprise, I have received email asking me what model would I like to receive. Decided to try my luck on Elecrow CrowPanel 5.79. To my surpize- I have received parcel in my mail box. Unexpected, but very pleasant. In exchange for free item, Annie from Elecrow marketing asked me to share project on it. Searching for any library for the screen- nothing was found on the web. As it was not available- I've decided try and create it myself. Already had some experience on python coding, but writing low level communication for chips using non-full documentation and poorly documented code (but working Arduino samples from Elecrow website) was challenging task. Begun working on it and stumbled on fact, that screen is controlled by two SSD1683 chips.
One of the biggest hurdles I encountered was the presence of two SSD1683 driver chips within the display. This dual-chip setup added a layer of complexity to the control signals and data transmission. The documentation, while helpful, wasn't always straightforward, and I spent countless hours debugging communication issues. There are absolutely no details how to control SSD1683, which is in slave mode. It was trial and error journey from Arduino code samples provided.
The most frustrating issue I faced was a peculiar display glitch. A portion of the screen, roughly in the middle, would remain blank or display corrupted data. After much head-scratching and experimentation, I discovered that the issue stemmed from a two SSD1683's controlling one screen. Screen row basically consist of 792 pixels, which is 99 bytes. But to display correctly, each chip has to receive 50 bytes of information. Screen on the left 50 leftmost and screen on the right- 50 rightmost. But as there is only 99 bytes available- one byte must be shared between chips. That solved my problem and I was finally able to coax the display into showing the full image.
This project, despite its challenges, taught me valuable lessons about hardware-software interaction, debugging techniques, and the importance of thorough documentation. While I wouldn't necessarily recommend this specific display for beginners due to its complexity, I believe the experience has significantly improved my embedded systems development skills.
Library: User-friendly library for controlling the CrowPanel
In the future, I plan to explore alternative e-paper display options. I also intend to create a more robust, making it easier for others to utilize this unique display.
The CrowPanel 5.79“ e-paper display was a challenging but rewarding project. It pushed my technical limits and provided valuable insights into the world of embedded systems. While I encountered significant obstacles, the feeling of accomplishment upon finally overcoming the display glitch was immensely satisfying.
If you have CrowPanel 4.2” panel on you hand and would like to help Micropython community with CrowPanel library I encourage you to share your own tips or tricks you've discovered along the way!
Disclaimer: This blog post is based on my personal experience and may not reflect the experiences of others.
As an active cyclist, I'm always looking how to enhance my rides. One of the option is to have navigation available. You plan route in advance and you just execute it on the road. For this reason I was looking for bicycle computer, that would have GPS and could lead me on the road. Basically, there are two ways how navigation could be executed: breadcrumb of your path and highlighted path on maps. Having offline maps in liquid screen display was tempting. After some research I've decided to try XOSS NAV+ as my bicycle computer.
The XOSS NAV+ arrived in a well-packaged box, including mounts, a USB-C charging cable, and the main unit. The device uses Garmin-type mounts for easy attachment. Pairing with the mobile app was straightforward, and I also purchased additional accessories like a protective case and compatible sensors for speed and cadence, which were easy to set up.
I've rode few 100's kilometer before writing this review, so everything is from my experience.
While there are several software-related issues that could be improved, the XOSS NAV+ is a solid and budget-friendly choice for cyclists. It may not match high-end Garmin or Hammerhead models, but for €60, it adds significant value to your rides. Considering its features and performance, I would rate it 6/10.