Raspberry Pi Backup Guide

Make a sustainable Raspberry Pi backup server and save your files from occasional loss.

Raspberry Pi backup is what you really need if you work on Raspbian. Believe me, you do! If you backup your Raspberry Pi SD card in due course, someday it may save your files and your project. Alike any other hardware, the RPi devices may sometimes simply stop working.

It can occur due to a number of reasons: overheating, errors, energy supply issues, cable connection failure… All these problems will make you unplug and plug-in again the device to restart it. And such actions taken repeatedly will certainly lead to spoiling your SD card you are saving your work files to.

On the other hand, you can damage or delete your files occasionally with your own hands! There a lot of examples when we do something wrong because of the overall tiredness, inattentiveness or just being in a hurry.

Control a 12V Lamp via SMS with Arduino

In this tutorial we’re going to show you how you can turn a 12V lamp on and off by sending SMS to your Arduino with the text “ON” and “OFF”, respectively. You can also request the current lamp state by sending an SMS with the text “STATE”, the Arduino should reply back with the text “Lamp is on” or “Lamp is off”

Control a 12V Lamp via SMS with Arduino – [Link]

Get Sensor Data From Arduino To Smartphone Via Bluetooth

Hariharan Mathavan at allaboutcircuits.com designed a project on using Bluetooth to communicate with an Arduino. Bluetooth is one of the most popular wireless communication technologies because of its low power consumption, low cost and a light stack but provides a good range. In this project, data from a DHT-11 sensor is collected by an Arduino and then transmitted to a smartphone via Bluetooth.

Required Parts

  • An Arduino. Any model can be used, but all code and schematics in this article will be for the Uno.
  • An Android Smartphone that has Bluetooth.
  • HC-05 Bluetooth Module
  • Android Studio (To develop the required Android app)
  • USB cable for programming and powering the Arduino
  • DHT-11 temperature and humidity sensor

Connecting The Bluetooth Module

To use the HC-05 Bluetooth module, simply connect the VCC to the 5V output on the Arduino, GND to Ground, RX to TX pin of the Arduino, and TX to RX pin of the Arduino. If the module is being used for the first time, you’ll want to change the name, passcode etc. To do this the module should be set to command mode. Connect the Key pin to any pin on the Arduino and set it to high to allow the module to be programmed.

Circuit to connect HC-05 with Arduino
Circuit to connect HC-05 with Arduino

To program the module, a set of commands known as AT commands are used. Here are some of them:

AT Check connection status.
AT+NAME =”ModuleName” Set a name for the device
AT+ADDR Check MAC Address
AT+UART Check Baudrate
AT+UART=”9600″ Sets Baudrate to 9600
AT+PSWD Check Default Passcode
AT+PSWD=”1234″ Sets Passcode to 1234

The Arduino code to send data using Bluetooth module:

//If youre not using a BTBee connect set the pin connected to the KEY pin high
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(4,5); 
void setup() {
 String setName = String("AT+NAME=MyBTBee\r\n"); //Setting name as 'MyBTBee'
 BTSerial.print("AT\r\n"); //Check Status
 while (BTSerial.available()) {
 BTSerial.print(setName); //Send Command to change the name
 while (BTSerial.available()) {
void loop() {}

Connecting The DHT-11 Sensor

To use the DHT-11, the DHT library by Adafruit is used. Go here to download the library. When the letter “t” is received, the temperature, humidity, and heat index will be transmitted back via Bluetooth.

circuit to connect DHT-11 with Arduino
circuit to connect DHT-11 with Arduino

The code used to read data from the DHT sensor, process it and send it via Bluetooth:

#include "DHT.h"
#define DHTPIN 2 
#define DHTTYPE DHT11 
void setup() {

void loop()
{ char c; 
 c = Serial.read(); 
void readSensor() {
 float h = dht.readHumidity();
 float t = dht.readTemperature();
 if (isnan(h) || isnan(t)) {
 Serial.println("Failed to read from DHT sensor!");
 float hic = dht.computeHeatIndex(t, h, false);
 Serial.print("Humidity: ");
 Serial.print(" %\t");
 Serial.print("Temperature: ");
 Serial.print(" *C ");
 Serial.print("Heat index: ");
 Serial.print(" *C ");

Developing The Android App

The flow diagram of the Android app is illustrated below,

Flow diagram of the Android app
Flow diagram of the Android app

As this app will be using the onboard Bluetooth adapter, it will have to be mentioned in the Manifest.

uses-permission android:name="android.permission.BLUETOOTH"

Use the following code to test if Bluetooth adapter is present or not,

BluetoothAdapter bluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
if (bluetoothAdapter == null) {
Toast.makeText(getApplicationContext(),"Device doesnt Support Bluetooth",Toast.LENGTH_SHORT).show();

The following part of the code deals with reading the data,

int byteCount = inputStream.available();
 if(byteCount > 0)
 byte[] rawBytes = new byte[byteCount];
 final String string=new String(rawBytes,"UTF-8");
 handler.post(new Runnable() {
 public void run()

To send data, pass the String to the OutputStream.


The complete source code of the Android application can be downloaded from here.


Power up the Arduino and turn on the Bluetooth from your mobile. Pair with the HC-05 module by providing the correct passcode – 0000 is the default one. Now, when “t” is sent to the Arduino, it replies with the Temperature, Humidity, and Heat Index.

the application screen
the application screen

Intel Introduces Loihi – A Self Learning Processor That Mimics Brain Functions

Intel has developed a first-of-its-kind self-learning neuromorphic chip – codenamed Loihi. It mimics the animal brain functions by learning to operate based on various modes of feedback from the environment. Unlike convolutional neural network (CNN) and other deep learning processors, Intel’s Loihi uses an asynchronous spiking model to mimic neuron and synapse behavior in a much closer analog to animal brain behavior.

loihi - Intel's self-learning chip
Loihi – Intel’s self-learning chip

Machine learning models based on CNN use large training sets to set up recognition of objects and events. This extremely energy-efficient chip, which uses the data to learn and make inferences, gets smarter over time and does not need to be trained in the traditional way. The Loihi chip includes digital circuits that mimic the brain’s basic mechanics, making machine learning faster and more efficient while requiring much lower computing power.

The chip offers highly flexible on-chip learning and combines training and inference on a single chip. This allows machines to be autonomous and to adapt in real time instead of waiting for the next update from the cloud. Compared to convolutional neural networks and deep learning neural networks, the Loihi test chip uses many fewer resources on the same task. Researchers have demonstrated learning at a rate that is a 1 million times improvement compared with other typical neural network devices.

The self-learning capabilities prototyped by this test chip have huge potential to improve automotive and industrial applications as well as personal robotics – any application that would benefit from the autonomous operation and continuous learning in an unstructured environment. For example, recognizing the movement of a car or bike for an autonomous vehicle. More importantly, it is up to 1,000 times more energy-efficient than general purpose computing.


  • Fully asynchronous neuromorphic many core mesh.
  • Each neuron capable of communicating with thousands of other neurons.
  • Each neuromorphic core includes a learning engine that can be programmed to adapt network parameters during operation.
  • Fabrication on Intel’s 14 nm process technology.
  • A total of 130,000 neurons and 130 million synapses.
  • Development and testing of several algorithms with high algorithmic efficiency for problems including path planning, constraint satisfaction, sparse coding, dictionary learning, and dynamic pattern learning and adaptation.

Real Time Clock and Temperature Monitor using DS3231 Module

The DS3231 is a very low power RTC chip, it has the ability to keep time with incredible accuracy such that even after power has been disconnected from your product, it can run for years on a connected coin cell battery. This module has the ability to communicate via I2C or SPI but for this tutorial we will be using the I2C mode for communications between our arduino and the DS3231. The module also comes with a quite accurate temperature sensor which we will be using to get temperature readings. The collected temperature and clock data is then displayed on the 16×2 LCD via the Arduino.

Real Time Clock and Temperature Monitor using DS3231 Module – [Link]

Raspberry Pi NAS Tutorial

Building NAS on Raspberry Pi is a very smart way to create DIY NAS for safe and efficient file management. NAS (or Network Attached Storage) Server is a network storage system to serve and share files to other client computers in a local network area. This enables multiple users to access and share the same file storage.

The NAS server can use different file sharing protocols to share the data via the network. The mainly used protocol is SMB (Server Message Block).
Additional protocols are NFS (Network File System), FTP (File Transfer Protocol), SFTP (Secure File Transfer Protocol), SCP (Secure Copy) and more.

The main hardware components of the NAS storage system are the media storage devices, mainly hard drives. If you have more than one storage device mounted on your NAS server, the storage devices can be arranged via a RAID controller (Redundant Array of Independent Disks) into logical and redundant storage containers for redundancy and safety reason. There are various RAID levels to protect the data in case of a disk failure. The most common are RAID-0, RAID-1 and RAID-5.

by eltechs.com

Cubibot: New affortable 3D Printer

Cubibot is a small, clean, simple, stylish & cloud base 3D printer with a heated bed that brings fun and education to your life. Live on kickstarter:

Cubibot is an affordable, user-friendly, high-quality 3D printer with a compact and dynamic design made to fit your lifestyle. Cubibot balances functionality and ease of use without compromising features. Matching the performance and quality of expensive, professional 3D printers at an affordable cost, Cubibot enables you to realize all your imaginations!

Cubibot: New affortable 3D Printer – [Link]

Open Radiation Detector

Quickly identify radioactive materials with a pocket-sized ion chamber. Built from standard parts for easy manufacture and low cost. by Carlos Garcia Saura:

Nuclear radiation is invisible and can be harmful to life. The goal of this project is to provide a simple device that could prevent cases of radiation poisoning. Professional radiation meters can be very accurate, but are also expensive, complex and fragile (most use vacuum discharge tubes made of glass). However in many occasions we only want to determine whether an object is radioactive or not.

Open Radiation Detector – [Link]

Role Of Vision Processing With Artificial Neural Networks In Autonomous Driving

In next 10 years, the automotive industry will bring more change than we have seen in the last 50, due to technological advancement. One of the largest changes will be the move to autonomous vehicles, usually known as the self-driving car. Scientists from many universities are striving to implement vision processing with the artificial neural network to provide driver assistance in self-driving cars.

vision processing
Vision processing using convolutional artificial neural networks

Vision processing, as well as artificial neural networks, have been around for many years. Convolutional artificial neural networks (CNN) are sets of algorithms that extract meaningful information from sensor input. CNN’s are very computationally efficient at analyzing a scene. They are also able to identify objects as cars, people, animals, road signs, road junctions, road marking etc. enabling them to determine the relevant reality of the scene. As this system runs in real-time, the decision can be made as soon as the sensing part is complete.

One of the major steps in visual environment understanding for automotive applications is key points tracking and estimating ego-motion and environment structure subsequently from the trajectories of these key points. A propagation based tracking (PBT) method is popularly used to obtain the 2D trajectories from a sequence of images in a monocular camera setup.

The inputs from one or all of the sensors like LIDAR, RADAR, camera, IR, etc. are evaluated and decisions are taken accordingly. For example, if a car in the front suddenly brakes, the onboard computer would instantly verify the distance and calculate the speed with help of the existing sensors. Then it would apply the brakes faster than any human would be able to do. This method helps to prevent an accident with 90% efficiency.

The use of vision processing with CNN is rapidly increasing in automotive applications to enable camera-based autonomous driving. This technology sets a new driving standard. With this technology in our hand, fewer accidents, fewer fatalities, and less pollution are experienced. Vision processing in autonomous driving also enables efficient journeys, reduced crowding, car sharing, and packing cars in more tightly via vehicle to vehicle communication.

PICKit 3 Mini

Reviahh has published a new project, the PICKit 3 Mini:

Previously, I made a Pickit 3 clone – (see previous blog post). It works well, but I have often wondered just how little of its circuitry was needed to program and debug the boards I make. For instance – I primarily use the newer 3.3V PIC32 processors, so I really don’t need the ability to alter the voltage like the standard Pickit 3 can. I also have no real need for programming on the go, or even to provide power to the target MCU to program. Knowing this – I decided to see what I could do to remove the circuitry I didn’t need, yet still have a functioning programmer/debugger.

PICKit 3 Mini – [Link]