Raspberry Pi 2 Initial set-up and configuration with NOOBS / Raspbian

Unlike the Arduino, the Raspberry Pi is not a micro-controller, but rather a small, bare-bones computer that needs an operating system in order to run. The most popular OS for the Raspberry Pi currently is a version of Linux, called Raspbian, specifically optimized for its hardware. I plan to use Raspbian exclusively on my new Raspberry Pi 2 and this posts assumes you will be too. Things you will need to set-up your Raspberry Pi 2: A computer with internet access to download the required software for the Raspberry Pi. An 8 gig (for some…continue reading →

Bipolar stepper motor control with Arduino and an H-Bridge

It is a well known fact that Stepper motors are awesome! The only downside is that they can be a bit trickier to get going than servos and plain old DC motors. If you are interested in the inner mechanics and theory of stepper motors, check this excellent post on PCB heaven. If you happen to have one of the cheap little 28BYJ-48 steppers with 5 wires  and a little driver board with them, check this tutorial instead. Here, I will focus on how to get a bipolar stepper motor (typically 4 wires) working with Arduino and a H-Bridge IC like the L293D , or the drop in improved replacement - SN754410NE .(more…)

Stepper motor wiring tutorial

Occasionally you may come across an old stepper motor salvaged from a printer, or an ancient floppy drive. If you are lucky, there will be a part number on the motor and after some digging around, you will come up with a datasheet. Often though, you will have a motor with no markings whatsoever and four, or six colourful wires sticking out. First, you need to figure out how the wires are paired to form coils within the motor. Trial and error may work, but there is a better way! All it takes is a multimeter. (more…)

Arduino Joystick Module Example

In one of my rather frequent eBay visits, I came across a nifty little joystick module, much similar to the analog thumb-stick on the PlayStation 2 controllers. The module is very easy to use with an Arduino uno and only costs a few dollars. Several different versions are available from eBay, Adafruit, Sparkfun and other vendors, but they essentially work the same. Overview The module has 5 pins: Vcc, Ground, X, Y, Key. Note that the labels on yours may be slightly different, depending on where you got the module from. The thumbstick is…continue reading →

Crazy Watch – Exploring electronics fundamentals

“It is good to have an end to journey toward; but it is the journey that matters, in the end.” ― Ernest Hemingway A few days ago my son came back from school with something that he had build in a Tech-Ed class. You had to carry a copper ring across a maze made of wire without "waking up the monster". If you touch the wire, closing the circuit, the eyes (LEDs) would light up. I know it is pretty simple to make a LED shine, but what got me intrigued was that…continue reading →

HC-06 Bluetooth module datasheet and configuration with Arduino

In a previous post I shared my notes on  how to connect an Arduino to an Android phone using the the popular and cheap HC-06 Bluetooth module. In that example I used the Bluetooth module with its default settings. That works fine, but some applications may require changing the communication speed (Baud rate), the pairing code, the module name etc. For example, I am trying to set-up a way to program my Arduino Uno and Arduino Pro Mini wirelessly, over Bluetooth. This requires changing the baud rate of the module from the default 9600 to 115200,…continue reading →

Play simple melodies with an Arduino and a piezo buzzer

https://www.youtube.com/watch?v=RVyLqXz-xvU Piezo buzzer background Piezo buzzers are simple devices that are commonly used to produce beeps and sounds in many electronic gadgets, like alarm clocks, toys, pc boards, etc. They consume very little current and have high impedance, which means that you can safely connect them directly to a micro-controller pin. Buzzers have a piezoelectric ceramic plate that generates electricity when a mechanical force is applied to it and vibrates (extend and shrink) when exposed to an electric field. The first property is often used to detect knocks and musical tones, while the…continue reading →

Arduino Uno and the InvenSense MPU6050 6DOF IMU

A while back I bought the InvenSense MPU-6050 sensor in a “GY-521” breakout board from eBay. For a long time it sat quietly in my box of “possibly cool things to check in the future”. Recently, I decided to finally get to building a self-balancing robot and dug it out. As with almost anything from eBay, it came with no documentation.The MPU-6050 breakout boards are quite popular in the Arduino community and information was  easy to find. Even too easy: it took me a while  to sift through many partial, or "almost" working implementations before I found a relatively easy to use, clean and reliable set of instructions and Arduino sample code. So here it is documented for future reference!

MPU-6050 Overview

According to the InvenSense MPU-6050 datasheet, this chip contains a 3-axis gyroscope and a 3-axis accelerometer. This makes it a “6 degrees of freedom inertial measurement unit” or 6DOF IMU, for short. Other features include a built in 16-bit analog to digital conversion on each channel and a proprietary Digital Motion Processor™ (DMP) unit. (more…)