Archives

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...

Custom RFS for Beaglebone Black using Busybox

Hello folks, In my previous post on Linux kernel compilation for Beaglebone black, I had used pre-built RFS for booting the kernel. Also, I mentioned that the RFS could be built from scratch using a utility called Busybox. In this post, we’ll see, how to create a Custom RFS using...

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...

Compiling and Deploying BeagleBone Black Kernel

It’s been a while since I wrote my first article and though I need to come up with something a little more advanced this time, something which will be perfect for the die-hard Linux users and those who await to get their hands dirty with some kernel grease. For the...