Atmega32 Development Board

This development is very basic. It provides the GPIO in the form of header. As i will be using this board for rapid development and learning different coding practices.

I designed this board in KiCad – a open source l tool. From schematics and PCB layout is designed in this software suite.

Here are the schematics and PCB layout.

As i don’t have a laser printer i used the free hand sketching of traces. It is a very long and tedious process. After tracing with permanent marker and letting it dry it for few minutes. I etched this PCB in ferric chloride solution. I use very diluted solution, few grams of ferric chloride in around 200 ml water.

atmega32 dev board schematic
atmega32 dev board schematic
atmega32 dev board pcb layout
atmega32 dev board pcb layout
Drill Holes Marking
Drill Holes Marking
Copper Mask
Copper Mask

Total Etching time is around 40 minutes, After the board has been etched it needs to be cleaned thoroughly. I used utensil cleaning powder for that. And rinsed the board under water. And then let it air dry for few minutes.

Component Placement on PCB
Component Placement on PCB
Component Soldering
Component Soldering
Marking the Components on top layer
Marking the Components on top layer

The development is created. But there are few issues that came while testing the board. When i tested the board the chip does not responds. While checking for shorts or no connection on the PCB. I found that capacitor is not blocking the alternating signal. rather it is showing a short. So i had to change the 22pf capacitor with a new one and the board now works perfectly fine.

 

5V voltage regulator using 7805 | Complete Process

While making circuit a power source is the essential component. Power source can be made by different circuit. Here i used the most popular integrated circuit 7805. Which is a 5v voltage regulator.

Schematic

I made this schematic in KiCAD software.

PCB layout in Kicad pcbnew
3d rendering of pcb
3d rendering of pcb

After this i made some print out. Drilled a few holes. As i do not have a laser printer i am unable to make a photoresist mask. So i use old school permanent marker for masking wire trace.

7805 PCB in ferric chloride solution
7805 PCB in ferric chloride solution
7805 pcb final output
7805 pcb final output
Component Placement on board
Component Placement on board
Solder Component
Solder Component

It is not the best job of solder that i have done. But it is not worst i did and definitely not the best.

Nail Paint as Solder Mask
Nail Paint as Solder Mask

I did not have paint or the PCB lacquer. But in my home i found this used nail paint. It barely works.

Testing of PCB
Testing of PCB

Final output.

 

Interfacing board of esp8266 to 5V microcontroller

Esp8266 runs on 3.3V and most microcontrollers run on 5v . The voltage difference can cause problems in communication or in the worst case it can burnout the esp8266.  So to address this probelm i created this simple interfacing pcb.

3d rendering of interfacing pcb

Schematics and PCB Layout

LDR Based Camera

Schematic of LDR based Camera
3d Rendering of the pcb’s

Scan the LDR reading with the help of atmega32 adc pins. Send the captured data to a computer using ftdi, bluetooth ,wifi or zigbee. Run any free math processing tool and make a image. Increasing the Number of ldr increases the resolution of the image.

2 axis stepper motor control

This two axis stepper motor control system uses attiny2313 microcontroller. And it utilities the l298 dual h bridge power ic in multiwatt 15 package. The code is easy to write. Dual power supply for the microcontroller and l298 allows for increased isolation. The circuit must use a transformer for the proper galvanic isolation. This is a crude circuit as it needs some filter capacitors to reduce the voltage and current spikes.  

Shadiuno A Open-source electronic prototyping platform

Why limit yourself to the realm of arduino’s here is a new open-source electronic prototyping platform for the tinkers out there. It uses every thing open source. It is so open source you make your own. excpet for the chips.

Designed exclusively for the atmega16 and atmega32.

It can even be used with ardiuno.

You can use usbasp or usbtiny programmer.

Industrial Automation Using Internet of Things

The system will automatically monitor the industrial applications and generate alerts/alarms or take intelligent decisions using concept of IOT. The monitoring and controlling of the industrial automation is done through atmega32 microcontroller. The communication through the internet is done with the help of ESP8266 module. All the sensor data is collected and sent to the web server which processes and analyzes the data and sends a controlling response to the device for control action. The device receives the response and decodes the response message and control the stepper motor. Automation through IoT can help to get rid of the short distance communication.

Project Image
Project Image

Website is designed in php language. Ascii based data base was created. Graph can be generated from the previously stored values using php.

One Axis Stepper Motor Control

I was thinking of building a CNC machine. But because of lack of fund i can only design. This crude design does the job. 

There is a high heat dissipation from both the voltage regulators. So a big heat sink must be used. Otherwise there is a high probability of thermal runaway.

Test Code

#define F_CPU 1000000
/*
* GccApplication1.c
*
* Created: 8/27/2018 4:18:20 PM
* Author : abhay
*/
#include <avr/io.h>
#include <util/delay.h>
int main(void)
{
DDRB = 0xff;
/* Replace with your application code */
while (1)
{
PORTB = 0x09;
_delay_ms(1000);
PORTB = 0x0c;
_delay_ms(1000);
PORTB = 0x06;
_delay_ms(1000);
PORTB = 0x03;
_delay_ms(1000);
}
}

PCB Fabrication

Well after you have built your circuit. You need to realize that circuit to test or deploy. 

Single Layer Non-Commercial PCB Fabrication Process Sequence

  • Make Your Schematic in any EDA tool like KiCad, Eagle, Express PCB, Proteous.
    Note: These EDA tools are not inter compatible with each other so make sure to use the appropriate tools
  • Make the PCB Layout using EDA tools.
  • Now there are two type of output
    1. Graphic output (PDF, JPEG, BMP, SVG)
    2. CNC text output file or Gerber files
  • After you made you PCB layout. The base file consist of copper layer and silk layer.
    Copper Layer: This where all your traces (connecting wires) reside.
    Silk layer: This layer consist of the graphic layout. It for the accessibility of the user for easy insertion and Post production annotations. You can avoid this if want.
  • Two methods of etching
    1. Tonner transfer : In this method the plastic tonner of the laser printer is transfered to the PCB by the application of heat. 
    Heat can be applied by using the Laminator or the cloth iron.

    2. Photoresist method : This is an old method. It produce neat result but it takes a lot of step for understanding. 
    Three steps of photo resist development.
    a. Apply photoresist film
    b. Apply Mask
    c. expose the film under UV light : This can be done by placing the copper clad board into bright sunlight for a brief period of about 10 minute(try a test pcb for the correct exposure time) or you can place the board under a UV LAMP
    d. develop the photoresit by submerging the board into a solution of a sodium carbonate (1 gm of sodium carbonate into 500ml of water)
    e. etch the board by submerging the board into any one of the following solution.
     1. ferric chloride (dissolve ferric chloride into 200ml-300ml water till it becomes saturated)
    2. Muriactic Acid Solution (muriatic acid solution)
        (Old name for HCL)
    3. Copper sulfate + sulfuric acid
    4. Nitric Acid
    5. Hydrochloric acid + hydrogen peroxide
    f. rinse the board in water.
    g. photoresist removal : submerge in sodium hydroxide solution
    h. rinse the board in water.