Skip to content

7. Electronics design

There are lots of very thorough youtube tutorials related to eagle

Individual assignment; Redesigning Hello World board

PCB design

Following additional components were added to the original board

  • A white led controlled by the microcontroller along with the current limiting resistor
  • A green led indicating power along with the current limiting resistor
  • A button with debounce circuitry

Libraries

Schematic Design

The basic work flow is to make a schematic first and then make the PCB layout for that. In the schematic, you add the components and connect them using the Net tool. Before starting, create a new project in Eagle, File > New > Project. create a new schematic and added the components to the schematics editor. This can be done from Eagle’s Schematic Editor where there is a Graphical Icons Toolbar from which the components and the connections between them can be made. After placing all the needed components,connect them using the Net tool and set their values by right-clicking on them, selecting Value from the dialog box. Once everything was connected, ERC were checked using the Electric Rule Check (ERC) command. Once it pass, board layout can be started by clicking on the Generate/Switch to board icon.

Tools used for making the schematic.
Add label to the net.
Adding label for an already existing net.
Complete Schematic.
ERC checks.
Ignoring an ERC warning.

PCB Design

The Generate/Switch to board command is shown in the figure below. On the board’s editor, the toolbar icons have different options for routing and ripping up routes between components, moving and rotating components, selection, and Ratsnest which helps with arranging components so the routes between them flow smoothly. The components should be moved around and routed until there aren’t any intersections between the routes.

Switching to PCB layout mode.
Completed PCB layout.
Loading Fablab specific drc rules.
Ignoring some DRCs.

With only the top metal layer visible in the layers dialog box, export the file as a PNG. In Eagle, File>Export>Image and define the following settings (Monochrome - check, resolution - 2400, Area - Full). This creates the file for the traces. For the outline, using the line tool, a line was drawn with a width of 40 mil which is slightly bigger (1.016 mm) than the 1 mm bit used for milling the outlines on layer 46 (named milling layer). With only the milling layer visible (layer 46), an image was exported as a PNG using the same parameters as for the traces file.

Exporting.
Image of the top layer with copper in black color. Remember to invert it in mods when generating traces for milling
Image of the outline.

Manufacturing

Now, the images for milling the board are ready. These were converted to rml files as outlined in the week for Electronic production. Unfortunately I don’t have any pictures of the milled PCB before stuffing.

Fully assembled board.

Programming

I used the usbasp programmer for programming the board, below are the commands to do that.

avrdude.exe -p t44 -c usbasp -P usb -e -U flash:w:hello_echo.hex
avrdude.exe -p t44 -c usbasp -P usb -U lfuse:w:0x5E:m
Running the programming command.

Measuring

I tried to communicate with the board using PUTTY but I was not successful. To debug, I modified the code to send a constant stream of Ascii A and then probed the TX pin. I did see a correct waveform with the correct baud rate but unfortunately in any userplane program I was not able to receive any data.

Receiving ASCII A.
Showing baud rate.

Problems

  • FTDI cable is not working correctly on my laptop. All I receive is raw 0x00 irrespective of whatever the board is sending. I have checked via oscilloscope that what board is sending is correct and other PCs shows correct result with the same FTDI cable.
    Invalid data received on the user plane.

Files