SCROLL

finalProject 0000 0001 CAD 0010 cutting 0011 programmer 0100 3Dprinting 0101 elecDesign 0110 makeBig 0111 embedProg 1000 moldCast 1001 inputs 1010 outputs 1011 networks 1100 machine 1101 interface 1110 wildcard 1111 notes

0101

Electronics Design

Sir, it’s shaped like itself and is as wide as it has width. It is only as high as it is and moves with its own legs. It lives on what nourishes it, and when the four elements leave it, its soul moves into another body.

 

Downloaded Eagle

Downloaded Fab parts library

Added it to Eagle > libraries on my Mac

Started adding components to my schematic

 

Neil's Components (in Eagle_Fav library):

My Additions

 

Here is Neil's example board:

 

neilExample

 

Schematic Attempt 1

A couple of nets (green lines) in this schematic are incorrectly drawn, but I don't find that out until later...

attempt1

 

I am spreading all my parts out.

I figure that many people have already found a good way to organise these parts. I'm going to go through some students' pages from prior years.

Screen Shot 2019-10-03 at 6.53.52 PM

 

Julia's page turned out to be a good guide.

Here is my component layout following her example.

 

 

Going to try the auto route function first, just out of curiosity.

 

Unfortunately the auto-router reverted my board to a prior (ugly) configuration.

 

Back to the board drawing drawing board...

Good thing I documented my layout, because it won't let me command + z back to it.

Ok back in position, going to route by hand.

Just realised I have some of my schematics connected incorrectly. I could fix the two or three incorrect connections... or I could completely restart from scratch in order to drive home exactly how all this is supposed to be wired. I'm going to restart.

Attempt 2

Added in all the necessary components following Julia's layout.

image-20191004112147540

Time to connect. I'm going to go top to bottom and try to understand the role of each component and why it connects to where it should. Disclaimer, I will describe what I think to be the case. Do not trust what I say, because I have no idea. If I'm misunderstanding something please get in contact with me and teach me!

I'm not going to draw the green lines to everything this time. Instead, I'm going to name each connection with it's proper terminus. I hope this will make it easier to understand.

image-20191004131220180

 

image-20191004133340139

image-20191004135437238

Routing

Switch to board view (button at top left of window)

I spread the parts out following Julia's example

 

image-20191004164719329

 

I hand routed the board using Neil's and Julia's designs as guides. Here is mine:

image-20191004180859640

 

I was able to view the pads and traces without any other markings by toggling layers on and off in View > Layers.

On the dimensions layer I am adding an outline, a hole for hanging and some ID text.

image-20191005150733782

 

Time to export. I'm hiding all layers except for the top (where the traces are).

Then navigating to: File > Export > Image, making sure to tick the monochrome box.

I set the save location.

Made sure the image was exporting as a png

Set the dots per inch (dpi) to 1000

And clicked ok

image-20191005151134090

 

Next in layer settings I made only the dimension layer visible.

 

Screen Shot 2019-10-05 at 3.12.26 PM

 

And went through the same export process as the traces.

 

These were the resulting png files:

traces

outline

 

helloWorldTraces

 

helloWorldOutline

 

 

Milling

Uploading the png files to Google drive so that I can access them on the computer connected to the lab's milling machine.

Milling using the same process as I did for PCB programmer week

The origin for the first board is (90, 8, 0)

IMG_4130

Running the machine

Stopped machine because 1) no white dust 2) the cut was way larger than it should be... looks like there was a discrepancy with the dpi settings in mods.

<img src"../../Downloads/iPhonePhotos/week5/individual/IMG_4132.JPG" width="500">

 

IMG_4132

Rob told me that there is some bug in mods involving importing a png that was created on a Mac to the program. He said the dpi in mods, though it will read the same as the dpi of the image export, will actually be off by a factor of two. In order to correct this I multiplied the export dpi by two ( ) and put the new value into mods.

 

Rerun at the mill with a newborn and these new settings. I am seeing white dust now and the traces footprint is definitely more like what it should be. The board is flexing a bit every time the mill bit lowers onto it. I reckon our sacrificial layer needs a good milling over to level it again after the abuse we've been putting it through.

IMG_4138

Had a mishap... The tape holding the board down was sliced all the way through and must not have been stuck down well enough. Luckily I was there to stop the machine before it ruined my board.

IMG_4140

 

One board milled (and maimed)... The "Hello World" text didn't come out as I had hoped. It was too near the outline.

IMG_4139

 

If I've learned anything in this course so far it's that I won't get things right on the first attempt. I'm going to make an extra board in case something goes wrong with the first.

I'm moving the origin back 1mm on the x axis in the hopes that the top of the "Hello World" text is not obliterated.

 

IMG_4142

 

 

Soldering

To help orient my components on the newly milled PCB I pushed the design file from Eagle to Fusion360

 

Screen Shot 2019-10-05 at 7.49.16 PM

 

Using the same tools, procedures and lessons learned in (PCB Programmer)[] week, I prepared my board and began soldering.

 

Components:

Additions

 

Finished Soldering

IMG_4143

 

Programming

Julia's page is again proving invaluable.

I am downloading the C file and Makefile to my laptop from the course website. When I say downloading, I am copying and pasting the contents of these files into new files I made in Sublime. I then saved them under their respective names on my desktop. I have since realized that I could have just right clicked and saved as.

 

I am plugging my programmer from a couple weeks ago in to one of my mac's USB ports and using a FTDI to USB cable I am connecting my new board to another USB port.

Then using a header cable to connect my board and programmer, making sure that the wires are connecting the same pins on each (eg ground to ground)

 

Using ioreg -p IOUSB -w0 | sed 's/[^o]*o //; s/@.*$//' | grep -v '^Root.*' to list connected USB devices I can see

New board shows up as TTL232R

 

I am running make -f hello.ftdi.44.echo.c.make in the directory with the c file and Makefile I downloaded.

This created a .hex file in the same directory

 

Now to send this file to my board:

 

Running: 'make -f hello.ftdi.44.echo.c.make program-usbtiny'

 

I got this error:

image-20191005215621717

 

Playing around with the connections and then rerunning the command.

 

Eventually got this:

Screen Shot 2019-10-06 at 8.38.14 PM

Googling around to find a solution and/or the cause of the error.

In different forums I am seeing references to "clocking" a board. I have twice seen a suggestion to add -u to the command to bypass the fuse checks, but judging by the terminal output it looks like a -U was added to the command in the make file.

I am checking the make file and indeed many lines include the -U, granted a capital U is not the same as a lowercase u. Odds are that it is something I have done wrong rather than an issue with the files.

I just keep running the make command in the hopes that something magically happens.

I did get a new error this time:

 

image-20191006210929042

 

Tried my old switching the USB ports trick.

The make command seemed to have done something as I just got this output:

 

Screen Shot 2019-10-06 at 9.14.40 PM

 

I ran the make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses command and got the "Verify Error" again...

 

I think I need to call it a night and ask Rob about this tomorrow.


It's Monday morning and I'm back in the lab. I asked Rob for his assistance and he immediately points out that my FTDI connector is on backwards (the black wire is ground and so should be connected to my ground pin)... duh. I adjusted the connection to the below.

 

IMG_4172

 

Running: make -f hello.ftdi.44.echo.c.make program-usbtiny

This is the output:

image-20191007113314803

 

Running: make -f hello.ftdi.44.echo.c.make program-usbtiny-fuses

Output:

Screen Shot 2019-10-07 at 11.33.52 AM

 

Disconnecting the programmer

As per Rob's suggestion I am downloading coolTerm to communicate with my Hello World board.

CoolTerm window looks like this:

 

image-20191007113606289

 

I navigated to the options menu and set the following

Screen Shot 2019-10-07 at 11.51.13 AM

 

I clicked 'Ok'

Then 'Connect' on the top menu

The bottom menu then read:

Screen Shot 2019-10-07 at 11.57.02 AM

 

At this point I just started typing characters and the board returned them to me!

Screen Shot 2019-10-07 at 11.52.13 AM

 

 

Success!

 

FIN