ATtiny88 8-bit Microcontroller
ATTINY88 is 8-bit microcontroller with 8Kbytes In-system Programmable Flash. The controller is designed for high performance and low power consumption and comes in various packages like DIP, QPF, and QPN for different applications.
ATTINY88 Pinout Configuration
The microcontroller is a 28 pin device as shown in the above ATTINY88 pin diagram. Similar to other controllers, each pin of ATTINY88 has many functions. We will describe function of each pin briefly below.
Pin No. |
Pin name |
Description |
Alternate Function |
1 |
PC6(PCINT14/RESET ) |
Pin6 of PORTC |
PCINT14 : Pin Change Interrupt 14 RESET: Reset pin |
2 |
PD0 (PCINT16) |
Pin0 of PORTD |
PCINT16 : Pin Change Interrupt 16 |
3 |
PD1 (PCINT17) |
Pin1of PORTD |
PCINT17 : Pin Change Interrupt 17 |
4 |
PD2 (PCINT18/INT0) |
Pin2 of PORTD |
PCINT18 : Pin Change Interrupt 18 INT0 : Eternal Interrupt 0 Input |
5 |
PD3 (PCINT19/ INT1) |
Pin3 of PORTD |
PCINT19 : Pin Change Interrupt 19 INT1 : Eternal Interrupt 1 Input |
6 |
PD4 (PCINT20 /T0) |
Pin4 of PORTD |
PCINT20 : Pin Change Interrupt 20 T0 : Timer0 External Counter Input |
7 |
VCC |
Power |
|
8 |
GND |
Ground |
|
9 |
PB6 (PCINT6/CLKI) |
Pin6 of PORTB |
PCINT6 : Pin Change Interrupt 6 CLKI : External Clock Input |
10 |
PB7 (PCINT7) |
Pin7 of PORTB |
PCINT7 : Pin Change Interrupt 7 |
11 |
PD5 (PCINT21/ T1) |
Pin5 of PORTD |
PCINT21 : Pin Change Interrupt 21 T1 : Timer/Counter 1 External Counter Input |
12 |
PD6 (PCINT22/ AIN0) |
Pin6 of PORTD |
PCINT22 : Pin Change Interrupt 22 AIN0 : Analog Comparator Positive I/P |
13 |
PD7 (PCINT23/ AIN1) |
Pin7 of PORTD |
PCINT23 : Pin Change Interrupt 23 AIN1 : Analog Comparator Negative I/P |
14 |
PB0 (PCINT0/CLKO ICP1) |
Pin0 of PORTB |
PCINT0 : Pin Change Interrupt 0 CLKO : Divided System Clock Output ICP1 : Timer/Counter1 Input Capture Pin |
15 |
PB1 (OC1A/ PCINT1) |
Pin1 of PORTB |
OC1A : Timer/Counter 1 Output Compare Match A Output PCINT1 : Pin Change Interrupt 1 |
16 |
PB2 (SS/OC1B/ PCINT2)
|
Pin2 of PORTB |
SS : SPI Slave Select Input OC1B : Timer/Counter1 Output Compare Match B Output PCINT2 : Pin Change Interrupt 2 |
17 |
PB3(MOSI/PCINT3) |
Pin3 of PORTB |
MOSI : SPI Master Output /Slave Input PCINT3 : Pin Change Interrupt 3 |
18 |
PB4 (MISO/ PCINT4) |
Pin4 of PORTB |
MISO : SPI Master Input/Slave Output PCINT4 : Pin Change Interrupt 4 |
19 |
PB5 (SCK/ PCINT5) |
Pin5 of PORTB |
SCK : SPI Clock Input PCINT5 : Pin Change Interrupt 5 |
20 |
AVCC |
Power for Internal ADC Converter |
|
21 |
PC7(PCINT15) |
|
PCINT15 : Pin Change Interrupt 15 |
22 |
GND |
Ground |
|
23 |
PC0 (ADC0/ PCINT8) |
Pin0 of PORTC |
ADC0 : ADC Input Channel 0 PCINT8 : Pin Change Interrupt 8 |
24 |
PC1 (ADC1/ PCINT9) |
Pin1 of PORTC |
ADC1 : ADC Input Channel 1 PCINT9 : Pin Change Interrupt 9 |
25 |
PC2 (ADC2/ PCINT10) |
Pin2 of PORTC |
ADC2 : ADC Input Channel 2 PCINT10 : Pin Change Interrupt 10 |
26 |
PC3 (ADC3/ PCINT11) |
Pin3 of PORTC |
ADC3 : ADC Input Channel 3 PCINT11 : Pin Change Interrupt 11 |
27 |
PC4 (ADC4/SDA/ PCINT12) |
Pin4 of PORTC |
ADC4 : ADC Input Channel 4 SDA : I2C BUS Data Pin PCINT12 : Pin Change Interrupt 12 |
28 |
PC5 (ADC5/SCL/ PCINT13) |
Pin5 of PORTC |
ADC5 : ADC Input Channel 5 SCL : I2C BUS Clock Pin PCINT13 : Pin Change Interrupt 13 |
Features and Specifications
CPU |
8-bit AVR |
Number of Pins |
28 |
Number of programmable I/O pins |
24 |
Operating Voltage |
+1.8V to +5.5V |
Temperature Sensor |
Internal Temperature Sensor Available |
Communication Interface |
SPI Serial Interface(16,17,18,19 PINS) [Can be used for programming this controller]
I2C or Two-wire Serial Interface(27,28 PINS)[Can be used to connect peripheral devices and sensors] |
ADC Feature |
6 channels , 10-bit resolution ADC |
Analog Comparators |
1 |
Timer Feature |
One 8-bit counters, One 16-bit counter [Total two] |
PWM channels |
2 |
External Clock |
0-12MHz
|
Internal Oscillator |
0-8MHz Calibrated Internal R-C Oscillator |
CPU Speed (MIPS) |
12 MIPS |
Program Memory or Flash memory |
8KBytes[10000 write/erase cycles] |
RAM |
512Bytes Internal SRAM |
EEPROM |
64 Bytes |
Program Lock for Security |
Available |
Watchdog Timer |
Programmable Watchdog Timer with Separate On-chip Oscillator |
Power Save Modes |
Three Sleep Modes: Idle, ADC Noise Reduction and Power-Down |
Operating Temperature |
-40°C to +85°C(+125 being absolute maximum, -55 being absolute minimum) |
DC Current per I/O Pin |
40.0 m A |
DC Current VCC and GND Pins |
200.0 m A |
Note: Complete technical details can be found in the ATtiny88 Datasheet linked at the bottom of this page.
Pin to Pin Replacements of ATTINY88
ATTINY48
ATTINY88 Microcontroller Overview
Among the present microcontrollers in the market, ATTINY88 is one of the cheap and easily available IC, which makes it suitable for experiments and low-end application projects. Also ATTINY88 provides many features in lesser pins for targeting many application designs. With program memory of 8Kbytes, ATTINY88 applications are very versatile, and with POWER SAVE MODE it is suitable to work on battery powered applications. In addition to that, it has Watchdog timer to reset under error, thus it can be used on systems with minimal human interference. These many features added together to make the ATTINY88 a popular microcontroller.
How to use ATTINY88 Microcontroller
We have to use ATTINY88 like any other microcontroller. So first the controller should be programmed and appropriate peripherals get connected to have the desired output. Without programming, the controller is an empty chip.
For working of ATTINY88, first we need to burn the appropriate program file in the controller FLASH memory. After dumping this program code, the controller executes this code and provides appropriate response.
Step by step procedure for programming a ATITNY88 microcontroller:
- List the tasks to be done by ATTINY88.
- Write these tasks in programming language in IDE programs.IDE program for AVR microcontrollers is ‘ATMEL STUDIO’. Link for ATMELSTUDIO software is given below.
Atmel Studio 7 for Windows10 [https://www.microchip.com/avr-support/atmel-studio-7 ])
(In ATMEL-STUDIO we will write program in ‘C’ language)
- After writing the desired programs compile to eliminate errors using IDE.
- Make the IDE generate HEX file for the written program.
- Choose the programming device (usually SPI programmer made for AVR controllers) which establishes communication between PC and ATTINY88.
- Run the software provided for the chosen programming device.
- Choose the appropriate program HEX file in other programmer software.
- Burn the HEX file of written program in ATTINY88 flash memory.
- Disconnect the programmer, connect the appropriate peripherals for the controller and get the application started.
Once power is provided, the controller executes the machine code saved in flash memory to provide the desired response.
Applications
There are hundreds of applications for ATTINY88 a few are stated below.
- Digital system applications.
- Industrial control systems.
- SMPS and Power Regulation systems.
- Analog signal measuring and manipulations.
- Embedded systems like coffee machine, vending machine.
- Motor control systems.
- Display units.