Skip to main content

Talking about ATMega328 packages

Package of ATMega328P chip
ATmega328/ATmega328P chip become popular together with Arduino. This chip comes with different packages. Today we are going to intrude a little bit more on the package of the chip. As the one being founding on Arduino Uno, the first one most people may encounter is the DIP package. Also , if you play around with Arduino nano and Arduino pro mini, you might see the QFT package being mounted on the board . Besides the DIP and QFP package, there are actually also QFN/MLF package.


Difference between DIP/QFP/QFN chip
Depend on the purpose and the target circuit board size, we can choose different package for our future project. But what are the difference between these packages? The major difference between package is the size and pin arrangement.

Dual in-line package(DIP, DIL)
As the one being found on the Arduino Uno board, the DIP package shaped like a  “cockroach” with two parallel rows(legs) of electrical connecting pins being laid on each sides.  The advantage of DIP package is that it can be through-hole mounted to a printed circuit board or bring insert into a pre-soldered socket. The socket insertion design comes with the advantage of easy replacement. However, The “legs” of DIP package largely restrict the number of connected pins  being extend from the chip, which is not suitable for complex chip.

Quad flat package(QFP)
As the one being found on Arduino nano/Pro mini, QFP package comes with a surface-mounted package. It generally have narrow distance between leads. Compare to the DIP package, the lead of QFP package can be extend from four sided of the chip. The short pitch distance (generally between 0.4 to 1.0 mm) can accommodate more pins. However, when the pitch distance being reduce, the alignment and soldering process become more challenging, especially for maker and hobbyist like us :-D

Quad-flat no leads(QFN), Dual-flat no-leads(DFN) package
QFN and DFN package utilize the flat no-leads design. Which means there’s no more “legs” coming out from the chip. Because the QFN package has no more leads, the chip has less problem of being short to other components on the board. In other words, when the chip and components can be put closer, more electric components can be laid on the same PCB board size. The QFN/DFN package generally has a thermally conductive pad at the bottom of the chip, helping to improve the heat transfer of the IC to the PCB board. Besides the advantage of the size, QFN/DFN chip can also reduce the lead inductance. However, the QFN/DFN chip is more challenging to be solder by hand, especially for maker, hobbyist |o|.

Difference between the DIP package and QFP/QFN package)
The DIP package has only 8 channels of A/D converter. The QFN/QFN chip comes with 10 channels.

Difference between ATMega328 and ATMega328p
The p means “picoPower”, the ATMega328p chip consume less power, which is more energy efficient.

Conclusion
As your project growth more and more advance,  you might want to shrink your circuit design into smaller size. Choose DIP package in the beginning maker the chip replacement because a easy task. When you started to consider shrinking your project, consider the QFP or QFN/DFN package. I just want to share with you that there’s some other alternative package that you can adapt to your future project. Happy making :-D

Comments

Popular posts from this blog

Arduino CNC shield control Stepper motor with DRV8825

CNC shield is quite useful for stepper motor driving. Here, I demonstrated how to use simple arduino code to drive stepper motor with DRV8825. First, just simply mount CNC shield onto Arduino Uno. Make sure the direction of the shield was right, where both the USB port and power supply wire was on your left hand site. The blue wire is my power supply which can be connect to 12-36V of power source. Next step you can mount the DRV8825 chip onto the CNC shield. Make sure the DRV8825 chip goes like this direction. If you put the chip in the wrong direction, you will probably damage it. By adjusting the jumber underneath the DRV8825 chip, motors can be driven with different kind of microstepping mode. I put three number here so it means that I set it into 1/32 step driving mode. Which is the most precise  one of DRV8825. The motor can connect to the right site of the DRV8825. Plug in the usb to your computer and upload these coded which will generate ste

Connect Arduino Wemos D1 ESP8266 to Internet/Wi-Fi Router

Connect ESP8266 to Wi-Fi Router Upload these code to your Arduino WeMos D1 ESP8266 W-Fi board. #include <ESP8266WiFi.h> //SSID of your network char ssid[] = " myRouter"; //SSID of your Wi-Fi router char pass[] = " myPassWord"; //Password of your Wi-Fi router void setup() {   Serial.begin(115200);   delay(10);   // Connect to Wi-Fi network   Serial.println();   Serial.println();   Serial.print("Connecting to...");   Serial.println(ssid);   WiFi.begin(ssid, pass);   while ( WiFi.status() != WL_CONNECTED) {     delay(500);     Serial.print(".");   }   Serial.println("");   Serial.println("Wi-Fi connected successfully"); } void loop ( ) {} Using ESP8266 to connect to Wi-Fi need to use the function of: WiFi.begin(ssid, pass); // connect to target Wi-Fi SSID is the name of the Wi-Fi you want to connect to.  while ( WiFi.status() != WL_CONN

Setting up CUDA 10.0 for mxnet on Google Colaboratory

Preface Recently, I was trying to train model on Google Colaboratory with mxnet. However, I found the CUDA version pre-installed on the Colab. is 10.2. Till now, mxnet only support to CUDA 10.1 Therefore, I started to think about if it is possible to setup the environment that mxnet has support. Till now CUDA 10.1 doesn’t work for me. But I do successfully installed CUDA 10.0. Also tried to trained a LeNet on Colaboratory. Since I am a mac user, NVIDIA GPU is always what we are jealous and envy. Until I found Google Colaboratory…. I’d like to share my journey with you, if you also encounter some problem on setting up environment. Google Colaboratory provide free access to the NVIDIA Tesla K80 GPU (24GB RAM, 4992 CUDA core) . It is a great gift for most of people who is eager to learn deep learning but doesn’t have good hardware systems to train deeper models. NVIDIA Tesla K80 GPU I assume that you already have background knowledge of Python and familiar with tools like jup