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

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

Popular Posts

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

Make PCBs at Home With Toner Transfer Method

Toner Transfer method for making PCB at home is probably one thing that went as viral as the Arduino. Electronics hobbyists around the world started using it to make professional looking PCBs at home. Here I will document the steps involved in fabricating PCBs with things that you can mostly...

Make a Digital Clock with DS1307 and PIC 18F4520

Digital clocks are are very commonly (cheaply) available these days. Some of them have a built in RTC to keep the time running even if the main battery fails and some of them don’t. In either case, for a standalone embedded application to get time, an RTC in almost the...

Hack a Toy Car to Make a Cheap Wireless Robot

Hack a toy car to make a cheap wireless robot? Yes, cheap toy remote cars form china can be scavenged to get their remotes to work with our robots. All of us have seen and played with toy cars some time in the past. Some -like me- might have bought...

Workaround Arduino SD Card Initialization Error!

I was working on a project that involved the use of an SD (Secure Digital) card to log data into a text file. I chose Arduino as it had a vary stable FAT (File Allocation Table) library. I had an Arduino Mega at my disposal and built a resistive network...

How-to: Make a Chassis For Your Robot

Ready made chassis that are available in the market (like the one above) are really good, cheap and for all you know they might have been subjected to an R&D before fabrication. In spite of all these advantages I still see the following issues with ready made chassis. They are...

Programming a Line Follower Robot

Programming a Line Follower Robot is the next step that you should do after building it. This is a follow-up on my previous post Line Follower Robot - Build it from scratch. If you haven’t already read it, I suggest you read it before going any further in this post....

Make a Simple RC (Remote Controlled) Robot Car

Whether you are an engineering student building a multi terrain vehicle or an electronics hobbyist trying to impress people with your skills, making a RC robot car (wireless) is much better than the wired robot which you will have to tail while driving. This is not exactly a robotics project....