Posts tagged ‘Atmega328P’

Interfacing ADS1224 With Arduino

ADS1224 is a 24-bit delta-sigma analog-to-digital converter with 4-channel differential inputs multiplexer. This ADC chip offers a 20-bit effective resolution (6 to 7 digits of resolution in full scale), which makes it ideal in high-resolution voltage measurement applications. Continue reading ‘Interfacing ADS1224 With Arduino’ »

DDS Function Generator Build

I picked up an AD9850 DDS module on eBay an couple of weeks ago and decided to build a MCU controlled DDS function generator with it to replace my crude frequency generator I built earlier. Continue reading ‘DDS Function Generator Build’ »

I2C Multiplexer Shield Testing

I built an I2C multiplexer shield using an Arduino prototyping shield from SchmartBoard a couple of weeks ago. The shield uses a PCA9548A I2C multiplexer and switch chip from Texas Instruments. Continue reading ‘I2C Multiplexer Shield Testing’ »

Reverse Engineering the Syma S107G IR Protocol

I got a Syma S107G IR controlled helicopter for my son a while ago. This tiny remote control helicopter is a rather amazing toy. Not only its movement is very stable, but the rotor speed, forward backward movements and turning can be all proportionally controlled as well. I thought it might be interesting to take a look at its control protocol to see how things are done. And yes, I do have a video at the very end showing controlling the S107G using the reverse engineered remote control. Continue reading ‘Reverse Engineering the Syma S107G IR Protocol’ »

Code For MCP4821/MCP4822

Microchip‘s MCP4821/MCP4822 is a low budget 12-bit digital-to-analog converter. MCP4821 is the single channel version whereas MCP4822 has two channels that can be latched simultaneously. Both chips have internal band gap references and can be controlled via SPI. Continue reading ‘Code For MCP4821/MCP4822’ »

Digital Metronome — Revisited

Last year, I wrote about a simple digital metronome project. While the device worked pretty well there are a few changes that are to be desired. Continue reading ‘Digital Metronome — Revisited’ »

Arduino Library For MCP342X

Last time, I discussed how to interface TI’s ADS1112 16-bit delta-sigma A/D converter with Arduino. Today I am going to introduce you to a set of easy-to-program A/D chips from Microchip. MCP3246/7/8 are a family of 16-bit Delta-Sigma A/D converters with an I2C interface. MCP3426 and MCP3427 both have two differential input channels, while MCP3429 has four differential input channels. The programming for all three devices are essentially the same, except for the number of available channels. Continue reading ‘Arduino Library For MCP342X’ »

Interfacing ADS1112 With Arduino

ADS1112 is a 16-bit delta-sigma A/D converter. This A/D chip has an I2C interface, a 2.048V internal voltage reference and performs a self-calibration on each conversion. These characteristics make it very easy to work with an MCU such as ATmega328p. Continue reading ‘Interfacing ADS1112 With Arduino’ »

5A Lab Power Supply With Digital Readout

I got a used 250VA power transformer that was removed from equipment a couple of weeks ago. The transformer has a dual 10V AC output and a few auxiliary voltage outputs. The 10V winding is rated at 10A, I thought it would be perfect for a high current power supply project. Continue reading ‘5A Lab Power Supply With Digital Readout’ »

AD7705/AD7706 Library Revisited

About a year ago, I wrote a simple library for interfacing AD7705/AD7706 with Arduino. The library works, but it requires some decent knowledge of the underlying chip, which had made it somewhat difficult to use. Most issues users reported can be resolved by adjusting the timing in user code, but I admit that it is somewhat difficult for users who are not familiar with the chip. For a library, I should have made it easier to use to begin with. So, I decided to add a few long-awaited features and hopefully these tweaks will make the library easier to use. Continue reading ‘AD7705/AD7706 Library Revisited’ »

A Self-Balancing Robot – III

In part one, I went over the theory behind the self-balancing robot and in part two, I showed you my build using a modified toy truck. In this post, I will walk you through the code and show you the finished balancing robot. If you are impatient, you can scroll to the end for the demostration video and the source code. Continue reading ‘A Self-Balancing Robot – III’ »

A Self-Balancing Robot – II

In my previous post, I explained the theory behind the self-balancing robot at a high level. Here, I will discuss the actual build in more details. Continue reading ‘A Self-Balancing Robot – II’ »

A Self-Balancing Robot – I

Building a self-balancing robot is one of those things that every hobbyist and engineer want to do. But there are a few hurdles for a lot of people. There is the theory on the one hand and then there is the mechanics on the other. In this and the next few posts, I will show you a self-balancing robot I recently built and will explain in details on some of the most important aspects. Continue reading ‘A Self-Balancing Robot – I’ »

So Why I like Arduino

You probably know this already from just reading some of the posts in my blog. Like millions of others, I am a big Arduino fan. So I thought I would share my side of the story and you can decide for yourself. Continue reading ‘So Why I like Arduino’ »

ATmega328 Fuse Bit Setting for 3.3V Vcc

By default, ATmega328 used in Arduino (such as Uno or Duemilanove) operates under 5.0V. Sometimes though it is necessary to use 3.3V supply voltage to accommodate peripheral circuits that cannot tolerate 5.0V. Continue reading ‘ATmega328 Fuse Bit Setting for 3.3V Vcc’ »