Arduino Projects: Use Amazing ICs to Enhance your Projects. Find out how to use many different chips from humidity sensors to accelerometers, DACs and much more...

Arduino Projects: A collection of site projects that show you how to use different chips to achieve fast working operation.

Arduino Projects: TP4056 Battery Charger

TP4056 breakoout boardThe TP4056 is an LiIon/LiPoly battery charger up to 1A capability. It is extremely important not to overcharge an Li Battery as there is a risk of explosion.  On the other hand, it is also important not to discharge an Li battery too far, as you may not be able to ever re-charge it.

This chip monitors the output voltage at the battery for optimum charging operation for both voltage limits and safety. In addition the breakout board for this chip has a short circuit protector on board.

This is an extremely popular charging board but it is often used in project the wrong way. The link below shows you how to use it the right way.

Arduino Projects: Capacitive Touch Sense

initialise capacitive touch using adc

You can use a library that allows you to use one control pin and multiple sense pins to create a multi-input capacitive touch sense detector. But what if you are using an ATtiny85, and because there are only 6 available I/O pins you really want to use only a single pin?

This Arduino project shows you how to use a single ADC input (with its internal capacitor and internal pullup) to achieve a one-pin capacitive touch sensing input.

Another advantage of this method is that you don't need any external components!

Arduino Projects: BMP280 pressure sensing

bmp280 schematic

You can use the BMP280 for weather detection (sensing pressure) but there are other applications such as height measurement (GPS is not that accurate vertically).

One important parameter for measuring altitude change especially if its going to be fast, is the update rate. This chip can update at a rate of 157Hz which seems quite good - it may not be though for a rocket!

Find out how to use the BMP280 in the link below.

Arduino Projects: Detecting Humidity using the DHT22

dht11 dht22 arduino breadboard circuit

If you are making a weather project then the DHT22 is an essential part of it - use it to accurately detect the humidity level.

Because humidity measurement depends heavily on temperature the chip also includes a temperature measuring thermometer. You can also read this temperature from the device's digital interface.

One important use of this humidity meter is to obtain a heat-index estimate which is an estimate of what the temperature feels like.

Higher humidity makes perspiration harder so you feel hotter. In the link you can get a "feels-like" temperature reading. i.e. if could be 30°C but the humidity is high making it feel-like 40 °C!

Arduino Projects: Colour sensing using the TCS230

tcs230 closup showing R,G,B,& clear filters

If you want to find out the colour composition of a light source this chip can give you values for Red, Green, Blue and White.

It has an interesting interface which is a digital signal that outputs a frequency depending on the amount of light falling on the sensors.

Since there is only one output you switch between R,G,B, and W sensors to get the complete data set.

Arduino Projects: A MHz signal generator in a single Chip

AD9833 Breakout boardThe AD9983 chip is a digital synthesizer chip that can generate sine triangle or square waves with a 0.1Hz resolution, with a frequency up to 12.5MHz.

The ability to generate accurate sine, triangle or square waves is extremely important in electronics - square waves for digital clock inputs and sine/triangle for analogue electronics and this chip can do the job.

This DDS (Direct Digital Synthesizer) is very useful module in a tiny SMD package that can find applications on the bench or as part a of your designs.

Arduino Projects: ADXL345 - 3 Axis Accelerometer

ADXL345 breakout board Chips (ICs)Accelerometers have many uses (not just for positioning drones). In a delivery environment you can detect when acceleration has exceed a set limit so you could prove mis-handling of your packages!

There is also a built in knock-Knock detector in this chip which could be used in a your projects.

Arduino Projects: HMC5883L - A 3 Axis Magnetic Sensor

hmc5883l breakout board - 2 chip version

If you want to make a magnetic compass this chip can do the job. The interesting thing is that if this chip is not held level then the compass reading you get can be out bu quite a large amount.

To correct the "leveling" error you need to know the angle of your chip referenced to the gravitational force. In short you need an accelerometer to correct the compass leveling error.

Arduino Projects: MCP4725 - A 12bit DAC

MCP4725 Breakout BoardIf you want to output an analogue signal the usual way is to use the Arduino PWM digital outputs and smooth them to a continuously varying signal. This works very well but there are two problems:
  • You have to have a low pass filter at the output
  • PWM frequency feedthrough.

The filter may affect the following stage so you might need an opamp used as a buffer. You always get feed through of the PWM frequency to the output.

These are not always a problem but by using a "true" DAC you get no frequency feed through and a direct analogue output. In addition, this DAC remembers the last setting - quite useful for a power supply project for instance.

Arduino Projects: MCP41010 - An 8bit Potentiometer

block diagram of MCP41010This chip creates a true analogue potentiometer but one that is controlled digitally. It has 256 steps for accurate control and can be placed anywhere in your circuit.

Additionally you can connect the wiper to one end to create a digitally controllable resistance element.

Note: This part is used on the breakout board AD9833 Direct Digital Synthesizer (DDS) to reduce the output level of the signal (see above).


Have your say about what you just read! Leave me a comment in the box below.

Don’t see the comments box? Log in to your Facebook account, give Facebook consent, then return to this page and refresh it.

Privacy Policy | Contact | About Me

Site Map | Terms of Use