Meet An ODROIDian: Brian Kim, Hardkernel Engineer

Meet An ODROIDian: Brian Kim, Hardkernel Engineer

Figure 1 - ODROIDian Brian Kim at Google headquarters in California

Figure 2 - Brian Kim's family: Younger Sister, Mother, Father, Older Sister and Nephews

Please tell us a little about yourself. I’m 36 years old and live in Seoul, South Korea. I’m the Research Engineer of Hardkernel Co., Ltd. My main job for Hardkernel is maintaining the open source software like u-boot, Linux Kernel, WiringPi2-Python and Buildroot. I modify the open source software and add some routines in order to support ODROIDs. Hardkernel provides technical support in the ODROID forums at, and my boss will assign software issues reported in the forums to me. Although it is sometimes stressful when it is a complex issue or not a software issue, it is enjoyable to have technical discussions with the ODROID users. I have not only a Bachelor's degree in Information and Communication from Youngsan University (South Korea), but also a Master’s degree in Mobile Communication Engineering from Sungkyunkwan University (South Korea). I was not a good student when I was in high school, but I studied very hard in college and achieved a 4.5/4.5 GPA in one semester. I learned overall background knowledge of Computer Science in college and graduate school. I studied CMT (Concurrent Multipath Transfer) using SCTP in a master's degree and wrote a paper about it. I started my career as a software developer. My first serious project was the medical information system software using Delphi in 2005. Our team designed medical database associate with personal information database, and we wrote Object Pascal source code for the software. I enjoyed developing software using various programming languages and libraries such as Visual Basic, MFC, Win32, Qt, PHP, ASP, JSP, C, C++ and Java.

Figure 3 - One of Brian's toy projects, Only Debugger

Even after graduating from college, I still had a thirst for learning. So, I moved to Seoul in order to take Embedded Professional course at a private academy. I learned Embedded system, ARM architecture, Linux kernel, Network programming and RTOS in this course work from 2005 to 2006. I was very influenced by Unix philosophy at that time. After I finished the course, I developed POS (Point Of Sale) and IP set-top box software as a part-time job in 2007. I joined WIZnet as my first full-time job in 2008.

Figure 4 - Brian's first commercial product, W5300E01-ARM

WIZnet is a fabulous company that designs network chips embedded with hardwired TCP/IP stack. My first job in WIZnet is developing Linux network driver for WIZnet chipset. I worked hard and finished the project in three months. After that, I developed ARM embedded board included WIZnet chip called W5300E01-ARM, which was my first commercial product. The modified network driver I developed is included in the mainline Linux kernel source code. Besides that, I developed a Serial-to-Ethernet gateway module and gave technical support. I participated in an open source software analysis study group every Saturday in 2007 (Linux Kernel) and 2011 (Xen Hypervisor). Our study group analyzed the source code in detail until it was fully understood, which we were passionate about. After finishing the study about a year, we wrote articles and books about what we learned. The source code of open source software is my textbook, and open source software developers are my teachers even now.

Figure 5 - Brian's first computer, an IBM XT

How did you get started with computers? When I was 8 year old, I got started with computers with an IBM XT. Although it was my cousin’s computer, I frequently used the computer to play DOS games. I remember the old gossip at that time, which was that “640KB is enough.” When I was 10, my father gave me a 386 PC as a birthday present, and I started PC communications using a 2400bps modem.

Whom do you admire in the world of technology? Linus Torvalds, since he made the Linux kernel and Git. Linux and Git changed the software world.

How did you decide to work at Hardkernel? The most important factor was what I will do for Hardkernel. The responsibilities in the job post seemed interesting to me.

How do you use your ODROIDs at home? I enjoy making interesting things with ODROIDs. Some of my projects can be found in ODROID magazine, such as Ambilight, Rear View Camera and ODROID Arcade Box. In the South Korean office, we use ODROIDs as private servers and automatic fish feeders. The cryptocurrency miner using 200 ODROID-XU4 devices was also an interesting project. I created and used a voice light switch using ODROID-C2 and Google Cloud Speech API at home.

Which ODROID is your favorite and why? The ODROID-C2 is my favorite, because I'm one of ODROID-C2 main developers, and it has 64bit ARM architecture. Although I’m maintaining all of the ODROIDS currently on sale (ODROID-C1+, ODROID-C2 and ODROID-XU4), I joined after the XU4 and C1+ were developed.

What innovations do you see in future Hardkernel products? I think that keeping our current position in the SBC market as high-performance devices, and trying to enter the low-end server market are good for survival.

What hobbies and interests do you have apart from computer? I enjoy travel, computer games, snowboarding, wakeboarding, scuba diving and triathlon (swimming, cycling and marathon). I completed a Triathlon Olympic course last year. I went to Busan from Seoul by bike during the summer vacation this year. The distance is about 325 miles (523 KM). I will challenge myself with a full course marathon next month.

Figure 6 - Brian's hobbies are snowboarding, scuba diving, triathlon, traveling and cycling

What advice do you have for someone wanting to learn more about programming? Read a good source code from open source software. Write lots of high quality code as much as you can.

Be the first to comment

Leave a Reply