Hey! Thanks for stopping by. Clearly, you are wondering who I am and how much of my writing can be trusted.

Understandable! Totally.

Yeah right, I can write any random stuff on my blog, add to clutter and make the already hard task of finding information even harder. So here is a small (IMHO) write-up on who I am and what I do. I’ll let you decide if my information can be trusted.

I’m an electronics and computer enthusiast. I have a bachelor’s degree in Electrical and Electronics Engineering. By the day, I work as Software Engineer (last I checked) writing and manage embedded firmware for a living. By the evening, I am yet another hobbyist wandering the free internet.

I know what it takes to write release quality code that is flexible and maintainable. I work in a product based company, we care a lot about long term maintenance of the product than the time to market. In short, giving attention to details and strict adherence to best practices just about covers my view towards software development.

I love any and everything related electronics, especially embedded systems. Apart from that, day-to-day physics, computer vision, algorithms, robotics, Linux and of course, C programming are some of my interests in no particular order.

My fascination for embedded systems runs back to my early childhood. Reading all those science fictions with robots, I used to wonder how they made the decisions, talked, and so on. Later, someone told me they had a computer sitting inside them running programs that do the logic. Then on my question had been, how a windows XP (back then XP was the norm) can make things move?

It’s always the question that drives us.

I have no clue on who said that. I picked it up from the movie The Matrix (not because it sounded cool or anything, I just love the movie). Nevertheless, I too was driven by a question.

I mean how..? XP..? really??

Okay I wasn’t exactly the smartest person out there… not then, not now! But then, no one can say I didn’t try! least I had that. With time, I found embedded systems to be the answer for all my questions. Well not literally. But for the sake of this argument and for those few readers who are still with me at this point, I will leave it at that.

If you are with me this far, you seem to like me (my work; please no stalking) a lot. You might want to subscribe to my posts and get notified when ever I publish something new.

You can write to me at siddharth [at] embedjournal [dot] com.

If you know what you are doing, you can encrypt your emails to:




Siddharth's Posts

Cross Compilation Demystified

Cross-compiling is an integral part of embedded software development. Most established projects adhere to set of well defined contract to achieve this. But still, there are many other (smaller) projects which employ subtle variations to achieve the same effect. Owing to this, a lot of beginners get thrown off guard...

Installing and configuring a TFTP Server on Ubuntu

TFTP is a very simple UDP file transfer protocol that can be implemented with very little effort and footprint. For this reason, TFTP servers are very crucial for embedded developers even if they are used only for the purpose of firmware upgrades. This article is more of a note-to-self so...

Memory Leak - Analysis and Detection Strategies

The first thing that comes to mind when we talk about dynamic memory and leaks is Valgrind. You may also be familiar with static analysis tools, such as Coverity. It could be DevPartner or Boundschecker or many such tools that I won’t dare attempt to list here. But what if...

Use screen to keep SSH sessions alive between connections

For those of you who haven’t heard about GNU Screen, it is a window manager that multiplexes a physical terminal between several processes, typically interactive shells. It allows you to start, retain, attach and detach to a session across different connections. In lay man’s terms, it’s a life saver when...

IoT RTOS Zephyr on cheap STM32 Minimum Development Board

If you have been listening closely, you would have heard the buzz around Zephyr - a Real Time Operating system (RTOS) for embedded systems. The real buzz comes from the fact that this RTOS is being tweaked for IoT platforms in particular. A lot of action is happening around Zephyr...

My approach to the Mesh Flare Problem (IIT-B's Techfest)

Over the past few days, I received a plethora of emails and messages on how to make a line follower robot. Mostly, the specification being white line on a black surface. Some even mentioned shortest path detection loops in the track. Now, I do get emails in which people ask...

GLEM: Graphical LCD Emulator in C

At some point in time we all have had to develop some sort of UI for our embedded devices. The thing about UI design is, it can take one hell of a time before we can get it right (and it’s a thankless job! I have my reasons). I for...

External Event Counter - Seven Segment Displays

External event counters are pretty useful things to have around. Once I had a feud with a shopkeeper for selling 4 motors in 3 different RPMs. Well, I don’t know if you have ever tried making a robot that had wheels rotating at different speeds, I did. It wasn’t a...

Race condition in reading RTC timekeeping registers

Most of you must have used a Real Time Clock (RTC) at some point. RTCs are small ICs that have a separate battery backup and allow you to keep track of time. Typical place where you can expect to see an RTC in action is your computer. They are used...

Simple DIY Electromagnetic Bell

You might think its pass time while I was talking about simple electromagnetic bells at my blog. Truth be told I would agree with you and embedjournal is pitching for a higher game in the near future. We will soon get into some android programming and write mobile apps that...