LVGL is now an NXP Gold partner!
It’s been quite a journey! Now it seems like a good time to think about where LVGL started and to feel proud of what we’ve achieved. It will be a personal story from getting my first MCU to becoming an NXP Gold partner.
In the high school, my first MCU
All this started in high school where I was learning computer science. My younger brother studied electronics and it quickly turned out that I liked it as well. I remember back then how hard we were trying to understand how the transistors were working and couldn’t imagine how it is possible that someone can design a working PCB. It just seemed impossible. Many transistors, capacitors, resistors, in seemingly random places… All this happened around 2006 when I was 16 years old.
As a few years passed we started to understand the secrets of the transistors and capacitors and built and designed more and more complex stuff. We met a guy who was already an expert in electronics and started to do things together. As I was already interested in programming as well, I bought my first PIC16F628 MCU and read articles about it until my head hurt from the huge amount of information about this new world. After a few weeks of learning, I could write an assembly code to blink a LED and flash it to the microcontroller. After some attempts, it was working. It was truly unbelievable. We already knew that it’s the beginning of something amazing.
At the university, my first graphics library
With this new knowledge, we started to develop power supplies, RF stuff, amplifiers, and other instruments and measurement devices. We even got our first job to develop a camera slider which could move a camera with a stepper motor on a linear track. We agreed that we would do this job for a stunning 150 USD… and worked on it for half a year because of new ideas, issues that we didn’t even know existed. If I recall correctly, in the end, we didn’t get this money. At least it was good material for my thesis. With this project, I learnt the first lesson about business: always clarify the scope, the deadline and payment terms.
For the camera slider and for other home-made things we started to think about how great it would be to work with colorful TFT displays where we could show a lot of data and buttons and everything. I said to my friend “If I can set the color of one pixel, the rest will be easy”. Well, setting the color of one pixel took 2 hours and since then I have been working on the rest which was considered “easy”, a.k.a. a graphics library.
So I started the graphics library during university and I got obsessed with it. Creating more widgets, drawing faster, adding cool effects, and so on. There was one thing that I didn’t really care about: writing clean code…
To give a name to my project I used my last name: Kiss-Vámosi. “Kiss” means Little in Hungarian (although I’m almost 2 meters tall), so my name could be Little-Vámosi, or “LittleV” for short. So, LittleVGL seemed like a perfect name.
Here are two videos about the capabilities of this library:
LittleVGL on GitHub
After playing a lot with this library and using it in a few projects, I heard about GitHub. It was around 2014. GitHub was launched in 2008, so at that time it wasn’t that huge and it wasn’t trivial to share code there. Anyway, I thought, “Why not? Let’s share my library there and see what happens.”
It was clear that the code wasn’t ready to be published, so I rewrote it from scratch and uploaded it to GitHub in 2016. GitHub asked me to pick a license so I picked the first from the list, which was MIT. I thought it doesn’t matter much as I’m doing it only for myself. Since then two things became clear:
- The license matters.
- It’s basically impossible to change the license of an open-source project.
I still remember the first contributor, Ajith P Venugopal. He gave some ideas about the architecture and widgets in general. He was very supportive and gave a perfect first experience with open-source development. Now I see how important this first impression was. If some haters had come first and said “your code is like sh#t”, I probably would have been angry and sad, and deleted the whole thing.
Since then more and more contributors came and I learned a lot. Really, almost everything I know now professionally is coming from LittleVGL. It includes: English, Coding, Architecture design, Git, Marketing, SEO, Community management.
At this time I dealt with LittleVGL in my free-time and had a full-time job as well. Sometimes I woke up at 5 am to do a few things before work, or started to implement something in the evening and a few “moments” later realized that the sun had already risen. Yeah… I was really into it.
When LittleVGL had 100 stars on GitHub, we went to a restaurant with my wife to celebrate it.
A year later, I started to work as a freelancer for a company to develop a crypto wallet. They found me on GitHub and my task was to develop the UI of the device. It was truly amazing. But it was even better that the guy in the company was very interested in UI and was planning to develop a UI editor tool as well. He had a ton of experience with 3D modelling and graphics design, so we learned a lot from each other.
Creating LVGL LLC
A little bit later, some of my friends asked, “Why don’t you start your own business for LittleVGL?” Although I had done some UI projects for various companies, I always said, “I’m not a businessman. I don’t want the stress of getting money for a company.” However, as time passed, I realized that they were right. In all of my workplaces, I was thinking about what I can learn here that can be useful for LittleVGL. It became clear that I don’t fit into companies as an employee.
So I embraced the idea of being a businessman, and in 2020, I created my company, LVGL LLC. We changed the name from LittleVGL to LVGL because LittleVGL
- doesn’t make any sense,
- is hard to pronounce, 3. “Little” is not a good marketing message.
We started the company together with Zoltan (the guy from the crypto wallet company) and started to work on the UI editor too.
Well, the first year was rough. Sometimes it was only a week before we had money for the next month. I learned a lot about marketing and SEO to make our website appealing and have some more UI development projects. I think I did a great job as I could make lvgl.io the first in Google for “embedded gui library” and similar keywords. Finally, we had some more UI development projects and we had some stable revenue.
We rented a super fancy 100 m2 flat on the 17th floor of a new building, because we were sure that we would have many employees soon. Well, it wasn’t that fast. After a year, we moved to a smaller office, and another year later, everyone was working remotely.
In the meantime, we released the UI editor we were developing with Zoltan. Yes, it’s SquareLine Studio. It was also a rough ride as we did all these without a large company background or any investors. Finally, we decided to have 2 separate companies: one for LVGL (which is fully mine) and another for SquareLine (which is Zoltan’s).
And now we arrive at the present, August 2023. Now, LVGL has 12k stars on GitHub, hundreds of contributors, we have a good connection with most of the chip vendors, we regularly participate in conferences, companies like Xiaomi are using LVGL in their products and also contributing back to the library, and SquareLine is getting more and more popular. Finally, LVGL LLC hired its first full-time employees too.
And - what is the actual motivation behind this post - LVGL has become an NXP Gold partner. I never hoped that I, a simple guy with a hobby project, could get this far. Being a Gold partner of one of the largest chip vendors! Unbelievable!
Just for the record I add some videos about the current state as well:
It has come really far from the “If I can set the color of one pixel the rest will be easy” concept. I think this story shows that when hard work and passion meet, amazing things can happen. If you are like me, and have a passion project, I encourage you to do it and opportunities will come automatically. But here is one thing: don’t forget to maintain a work-life balance. Ultimately, people will be with you, so put them in front of everything!