The 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
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
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!
You can use the BMP280 for weather detection (sensing pressure) but
there are other applications such as height measurement (GPS is not that
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!
Arduino Projects: A MHz signal generator in a single Chip
The 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
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
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
If 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
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
This is a fast DAC chip, with two DAC oututs, that uses the SPI interface. It also has a
synchronisation control input that allows outputs to be setup at the
Unlike the MCP4725 or MCP4728 it does not have DAC memories, so you
need to program this chip every time you power the board. It is useful
where you want a controlled analogue output that will be variable e.g. a
bench power supply.