Controllers are the chips which are designed to perform very specific tasks. The have very limited memory, like 32KB Flash and 2KB RAM in ATmega328p.

A lot of the time you don’t know what other requirements will come in for your product. In that case you need to add some more functionality to your firmware. If you keep adding more functionalities and keep interfacing more sensor/peripheral , you will run out of memory pretty quickly.
So it is very important to take care of the memory otherwise before you know it there will be memory leaks and it will be infuriating…


Sixth Installment of my Project Series

OpenCV Motion Detection on Raspberry Pi 3

In the 4th post of my series I explained SMTP based surveillance system. To demonstrate a trigger based system, I used a switch to trigger video recording whenever I want to do so.

But why are we talking about a trigger based system?
It doesn’t make sense to be storing video when there is no suspicious activity going on, when there is no motion at all. Making empty videos is just waste space. And searching through those unwanted recordings is just a waste of time. A redundant system.

This post will explain how to…


Fifth Installment in my Project series

Photo by Marcus Urbenz on Unsplash

In this post, we will discuss about how we can attach our Pi camera to a motorized system to follow someone’s movement within the camera frame.

The main objective of this post is to make a dynamic surveillance system with one camera instead of a multi-camera system.

For this setup I am using these Pan-tilt-bracket and these servo-motors. This is how my setup looks like, though it’s a bit flimsy but it does the work for a basic setup.


Part 4.5 of the series

Pi Camera NoIR

In my last post, I discussed about setting up a surveillance system using Pi camera, which can e-mail the video files as well.

Before jumping onto the topic that I mentioned last time, let’s have a look at a few points that I was not able to discuss in last post.

PiCamera readthedocs have a great explanation for working of camera’s hardware. Right now I am focusing on the following topics.

Resolution —
According to the documentation, there is a set of modes available to create a video. The lowest mode suggests resolution of 640*480…


Fourth Part in my Raspberry Pi Project Series

https://www.flickr.com/photos/adafruit/49967966411/in/photostream/

Finally the series is approaching towards my main project. The previous posts can be seen as build up for the canon story. Anyways let’s get started.

In this post I am using the previous setup of SMTP service to send video files from Raspberry Pi camera to my mail.

I am using Pi NoIR Camera for my setup. It’s with me for quite some time now, I thought let’s put it to good use.

Connecting Pi Camera —
Let’s see how to interface Pi camera module with our Pi and do basic…


Part three of my Raspberry Pi Project Series

Photo by Harrison Broadbent on Unsplash

Let’s setup our Pi so as to send mails and attachments using SMTP service and Gmail. This will be helpful in my next post where I will explain my use case.

I am not an expert in SMTP service, so I am not going into detailed theoretical explanations. I am only giving step-by-step process of setting up the service. Let’s dive in.

I am using Postfix for the setup. It is a Mail transfer Agent which can basically talks to other Agents to send and receive emails. …


Second part in my series of posts about my current Raspberry Pi Project

Photo by Gavin Allanwood on Unsplash

Now that you are connected to your Pi using USB Hot-spot, you can do all sorts of things without relying on setting up a dedicated desk including monitor and other accessories.

But using your phone to access Pi and work on it is still not that interactive. Typing in your phone is not a preferable task when it comes to programming.

Let’s setup your Pi to your Wireless LAN so that you can easily do ssh from your already owned Laptop/PC, so that your experience will be…


This is first part in a series of posts about my current Raspberry Pi Project

Photo by Vishnu Mohanan on Unsplash

I have tested the following Steps on Ubuntu Mate and Raspberry OS. Though I think it can be applied to other OS as well.

These steps can be used when you do not have any screen for Pi to connect to, and it will provide a simple terminal interface to access it.

First things first, If you do not have an OS installed on a SD card, burn your SD card with your preferable OS. I am using Raspberry OS Lite (Headless). Download the image…


Episode 2 — ubuntu.h

Recap — Episode 1

[Spoiler Alert]

Season 4 Episode 11 “eXit”

Think of all the possible ways in which you can exploit someone’s system, just by inserting a USB device into it. But to what extent? Let’s explore!

This is Digispark’s Attiny85 USB development board. This board was originally designed by Digispark but they discontinued manufacturing and it later became an Open Source Hardware.

Like an Open Source Software whose source file(.c, .cpp, etc) is freely available to developers, an Open source hardware is one whose schematics are freely available.

So all the boards that are…


Episode 1 — initialize.sh

What is a Rubber Ducky?

Season 4 Episode 10 “410 Gone”

Through this series of posts, I will try to decode one hacking incident that was depicted in Mr. Robot final season.

[Spoiler Alert]

In the final season’s episode 10 titled “410 Gone”, Elliot did some hacking using a Rubber Ducky.

A Rubber Ducky is a tool that can be directly plugged in to your system as a USB device. It can then be used either to emulate as a keyboard to automate set of commands or to monitor what you type while using your system.

But you have to physically plug it in…

Akshul Goyal

Hacking the Physical World | Senior Embedded Systems Engineer @ PiRhoAlpha Research (ActiveBuildings) | I write posts about AVR and Raspberry Pi.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store