Skip to content

6. Electronic design

Group Assignment

  • Use the test equipment in your lab to observe the operation of a microcontroller circuit board. link to group assignment

Individual Assignment

  • Redraw an echo hello-world board.
  • Add (at least) a button and LED (with current-limiting resistor).
  • Check the design rules, make it, and test that it can communicate.
  • Extra credit: simulate its operation.

Electronics components

The following components are the list of electronic components that I will be using to re-draw the Echo hello-world board;

  1. Micro controller(Attiny44) A microcontroller is a compact integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor, memory and input/output (I/O) peripherals on a single chip. The microcontroller that I will be using this week is the Attiny44. According to Wikipedia ATtiny (also known as TinyAVR) is a subfamily of the popular 8-bit AVR microcontrollers, which typically has fewer features, fewer I/O pins, and less memory than other AVR series chips. The first members of this family were released in 1999 by Atmel (later acquired by Microchip Technology in 2016). The following image is the pinout diagram for the attiny 44:

  1. 2*3 header pin(AVRISPSMD)

Pin headers are stiff metallic connectors that are soldered to a circuit board and stick up to receive a connection from a female socket. While pin headers (often called PH, or headers) are male by definition, female equivalents are also quite common, and we refer to them as female headers (FH) or header connectors. This header pins are used for programming purpose where we use FabIsp as programmer.

  1. FTDI(Future Technology Devices International Limited) connecters

This FTDI connecters are used to convert USB data to serial and vice versa. It includes Rx and Tx pins for transmission and reception of serial data. The following image shows the FTDI pins:

  1. Ribbon Cable Is a cable with many conducting wires running parrallel to eachother on the same flat plane. The one I used has six connections. I used the ribbon cable to connect the FabIsp to my Echo hello world board for programming purposes.

  1. Resistors Resistors are passive two terminal electrical component that implements electrical resistance as a circuit element. It is used to reduce the current flow, adjust signal levels, to divide voltages, terminate transmission lines. Resistance= Voltage(V)/Current(I) Resistance is measured in ohms.

  1. Button Push button, a simple switch mechanism to control some aspect of a machine/ a process.

  2. Capacitor Is a device that stores electrical energy in an electric field. It is a passive electronic component with two terminals. The effect of capacitor is known as ‘capacitance’. Unit= faraf(F) In FabAcademy we use unpolarised capacitors which doesn’t have any polarity.

  1. Resonator Is an electronic component that can generate a resonant frequency. Resonators cancel out certain range of sound frequencies. It is a component used to match frequencies.

These are some of the components I will be using this week to re-draw the echo hello-world board. For designing I used the Autodesk Eagle software for which we were provided with an education license.

Designing

First of all open Autodesk Eagle software. Go to File>> New>> Project and then open schematic for adding and connecting all the components.

We have to add the fab libraries into Eagle before designing so as to use the Fab electronic components. To add libraries you have to use the ‘use’ command adn then add the fab libraries as shown below;

Once the libraries added, I started adding the electronic components one by one starting firstly with the microcontroller Attiny44. I used the ‘add’ command to add each and every components.

Once youre done adding all the components, you start netting them and connecting them to the desired components.

After connecting everything that is needed and after connecting one button and a blue led, my shematic design came out something like shown below;

Once you are done with the schematic you switch to board view for routing and setting the design rules for your pcb(printed circuit board) design.

I routed the board manually and used two zero ohm resistors where I couldnt route the connections. After successfully routing, my echo hello-world board came out something like as shown below;

Design rules check(DRC)

For DRC you go to tools>> DRC.

I kept the minimum trace width as 10mil or 0.254mm. No traces were to run in between the microcontroller pins but two traces were allowed to pass through the middle space. And same was applied with other components. I kept minimum drill of 0.35mm. Some of the design rule checks are shown in the image below;

I found some air wire and wire studs lying around some of the components which I removed and now everything was set and done. The only thing left now is to export the PNG files and go to Mods.mit to generate the toolpath for the board and cut in SRM20 machine.

To export the traces, first you have to go to layers>> hide layers and show only the to part, hiding the dimensions. And then go to file>> export>> image. While exporting its imortant to choose monochrome and the resolution must be set to 1000 dpi for smooth cutting of the traces. Now for the border/dimensions png file exporting, follow the same steps, hide all layers except for the dimensions and choose monochrome, set the resolution to 1000 dpi and then export to the desired destination in your computer.

After generating the .rml file, you go to cuttting the pcb in the SRM-20 machine. So open the V-panel for SRM-20 software, delete previous files and add your rml file. Do the zeroing of the ‘x’ and ‘y’ axis and press output to commence the cutting.

Now that the board is cut I started soldering it but before that I assembled all the required components. I started by first soldering the microcontroller that is the Attiny44.

After successfully soldering the components, my board looked something like shown in the image below;

Programming

To program the hello world board, I used Fab ISP as programmer. First I connected the AVRISP smd pins of the Fab ISP to my board’s AVRISP header pins and then opened the arduino ide for programming. The connection looks something like givevn in the image below.

After connecting the programming pins, you have to connect the fab ISP to your computer’s USB port.

Now open arduino ide and select a blink code from examples(File>> Examples>> Basics>> Blink)

Next up choose the board you want to program. Since I used Attiny44 microcontroller, I chose Attiny44. To select board go to Tools>> Board>> Attiny microcontrollers>> Attiny24/44/84.

Next select the processor(Tools>> Processor>> Attiny44)

Next choose the port(Tools>> Port>> Com6). Com6 is the port for my hello world board so I chose the com6.

Now choose the programmer for your board. Since I am using USB tiny, I chose the USB tiny as programmer(Tools>> Programmer>> USBtiny ISP)

Now everything is set, all you have to do is declare pin3(my led pin) as output and make a loop for blinking. For me I kept 1500 microseconds interval after every blink. Once you are done with the declaring pin and the loop, you have to verify the code to see if there are any errors. Once compiled, you can upload it to the board.

The blink code I used;

Design files

hello world board file
hello world schematic


Last update: June 29, 2022