Archive for the ‘AVR/Arduino’ Category.

Thermistor Parameter Measurement — I

Over the years, I have gathered quite a few NTC and PTC thermistors. But most of them are unmarked so it would be difficult to use them in an accurate way without knowing the parameters. So I decided to build a simple circuit that can be used to trace the temperature-resistance curve, and the parameters can then be estimated using the measured data points. Continue reading ‘Thermistor Parameter Measurement — I’ »

A Unipolar Stepper Motor Driver

The drive circuits for Unipolar stepper motors are usually very simple. In its simplest form, a transistor or MOSFET is used to drive each section of the windings. With this design, the control signal must be supplied programmatically to the four windings of the unipolar stepper motor via an MCU. Continue reading ‘A Unipolar Stepper Motor Driver’ »

Interfacing DS28EC20 with Arduino

DS28EC20 is a 20Kb 1-Wire EEPROM chip from Maxim. Like all other 1-wire devices, only a single pin is needed for both power and communication. In this blog posting, I will show you how to how to communicate with DS28EC20 using the popular Arduino platform. Continue reading ‘Interfacing DS28EC20 with Arduino’ »

Arduino Robotics – A Short Review

Apress was kind enough to send me a copy of their recently released book “Arduino Robotics” a few weeks ago (ISBN13: 978-1-4302-3183-7, 628 Pages. Publication Date: July 18, 2011). So I thought I would read through and do a quick review on it. Continue reading ‘Arduino Robotics – A Short Review’ »

RF Link 2400bps Receiver Output Buffer

I recently dug up two sets of RF link transmitter/receiver modules from Sparkfun. I got these RF transmitters and receivers last year but have not had a chance to build anything with them yet. So I thought I would first wire up a simple transmitter/receiver to test their capabilities. Continue reading ‘RF Link 2400bps Receiver Output Buffer’ »

Building an Auxiliary Display

I wanted to be able to check my web server’s statistics periodically but did not want having to log on ever time when I wanted to do so. The simplest way to achieve this is to have the computer monitor on and run a server statistics program that outputs the information onto the screen. Continue reading ‘Building an Auxiliary Display’ »

Arduino Serial Using LT1780

Most of the recent Arduino and compatible boards use some kind of USB to UART hardware (e.g. FT232RL in Arduino Duemilanove and Atmega8U2 in the latest Arduino Uno) for interfacing with computer USB ports. Since ATmega328 has native UART support, building an Arduino that interfaces with the serial port (RS232) directly is arguably much easier. Continue reading ‘Arduino Serial Using LT1780’ »

A Dual Temperature Display With Humidity Measurement

I built a digital thermometer a couple of weeks ago. This thermometer uses an LM19 sensor calibrated for measuring a wide temperature range (-55 – 130 Celsius, -67 – 266 Fahrenheit) for outdoor temperature measurement and an SHT21 digital thermometer with humidity measurement for indoor use. Continue reading ‘A Dual Temperature Display With Humidity Measurement’ »

Wake On … IR

One of my old computers is used as a file backup server in my basement office. It is kept off most of the time and only powered on when I needed to sync up files. Continue reading ‘Wake On … IR’ »

AD7705/AD7706 Library

AD7705 and AD7706 are two 16-bit Sigma Delta ADCs. Equipped with on-chip digital filters and programmable gain front ends, these chips are ideal for low frequency multi-channel signal measurements. The main difference between AD7705 and AD7706 is that AD7705 has two fully differential input channels while AD7706 has three pseudo differential input channels. Continue reading ‘AD7705/AD7706 Library’ »

Interfacing DS7505

The DS7505 digital thermometer and thermostat is a very versatile temperature sensor. It offers 9 to 12-bit digital temperature readings between -55 and +125 Celsius with an accuracy of 0.5 degree. It can be used with any MCUs that has I2C support or can be pre-programmed and used in standalone applications as digital thermostats. Continue reading ‘Interfacing DS7505’ »

TCA9555 Library for Arduino

TCA9555 is a 16-bit I2C I/O expander from Taxes Instruments. It allows the easy addition of 16 I/O ports on any device that supports the I2C bus. This makes it attractive for expanding the number of I/O pins on the standard Arduino platform using ATmega328. Up to eight TCA9555′s can be used on the same I2C bus and thus allowing up to an additional 128 digital pins to be added. Continue reading ‘TCA9555 Library for Arduino’ »

Arbitrary Waveform Generation with Arduino

Arbitrary waveform generators come in handy when troubleshooting digital and analog circuits. Most commercial arbitrary waveform generators are very expensive due to the functionality and very high bandwidth they offer. But for typical uses among hobbyists, the requirements are generally pretty low. Building a very basic arbitrary waveform generator is actually quite simple using a digital-to-analog converter (DAC) chip and a microcontroller (MCU). Here I will show you one such waveform generator using Linear Technology‘s LTC1450 DAC and ATmega328 programmed with Arduino libraries. Continue reading ‘Arbitrary Waveform Generation with Arduino’ »

A Sensitive DIY Ultrasonic Range Sensor – Update

After I wrote this guide on how to build an ultrasonic range sensor from scratch, I have received many comments and questions. A couple of readers have emailed me stating that this sensor works great by itself, but somehow when put onto a robotic platform it sometimes returns random range data. Continue reading ‘A Sensitive DIY Ultrasonic Range Sensor – Update’ »

A Sensitive DIY Ultrasonic Range Sensor

I needed some ultrasonic range finders for my project. But most of the commercial sensors like Parallax’s PING sensor and other similar products are quite expensive, especially if multiple units are needed. So I thought why not building it myself? Continue reading ‘A Sensitive DIY Ultrasonic Range Sensor’ »