Eagle is fine. I'm not a fan -- it's not intuitive or easy to use, but it gets the job done, so, it's 'fine'. This is one of the weeks where help from friendly TAs is even more important than ever before (though, to be fair, it's super important in all weeks), as the world of electrical components is unfamiliar and opaque. The first step when designing a board is to understand the two design spaces -- the schematic space, and the 'board' space. The schematic space is where components are added, and the overall logic of the board is determined. The board space is where the aesthetics of the board are determined, and where the overall layout is designed. Components are added to the schematic space using the 'add component' function, along with the search function. Pro tip: simply searching for the fab library and scrolling through that list is often faster than searching for a component and then searching through the list of results for the relevant 'fab result'. Whenever you add a component to the schematic, eagle will automatically add the component to the board. Ultimately, once all of your components have been added, your board will have been populated with a jumble of components in the bottom left corner (irrespective of where you put the components on the schematic). Once you have added all of the components to the schematic, it's time to connect them (and, in doing so, determine the logic of the circuit). Below, you can see the schematic of my board.
Connecting the components to each other is easier than it looks -- simply match the acronyms. In practice, look at the labels on the edges of the components, and match MISO with MISO, SCK with SCK, etc. The acronyms are particularly helpful because, thankfully, it's completely possible to connect all of the components without actually knowing what any of them do (certainly not the case for me... not at all...). Actually connecting the components with the 'wire' function is not recommended, however -- connecting all components fully will result in a jumbled mess of a schematic (incredibly hard to debug). Instead, 'connect' the components by drawing short pieces of wire that extend a few mm away from their ends, then name those pieces of wire (type 'name' into the command line). Eagle will determine which components are connected by virtue of the small pieces of wire having the same name. For futher clarity, use the label function (type 'label' into the command line) to label the pieces of wire. Once this is done, you will have a complete schematic, and a jumbled board (with components correctly connected).
Flip over to the board space (pictured above). Step one is to use the move function to rearrange the jumbled mess of components into something that looks a little like the picture above. In other words, try to make it look a little like Neil's design. Once everything is in (sort of) the right place, you can begin drawing the traces. Drawing the traces is simple enough -- only two major tips to note. The first is: should you ever have to cross one trace over another, simply insert a 0ohm resistor to jump over without shorting the circuit. The second is: ensure that the schematic is set up correctly before drawing traces. The logic designed into the schematic would have been populated into the board space, complete with yellow lines to indicate the component connections. If the schematic logic was set up correctly, the traces that you draw will snap to those yellow lines, making life much easier.
Easily the hardest part of this week's assignment... So far, exporting incorrectly has wasted over 2hrs of my time. If you can, DOWNLOAD ILLUSTRATOR. You can then export a dxf file and open it with illustrator, then simply convert it to a png. If you don't have illustrator, then here's the solution (that took me two hours to discover): exporting a png introduces a scaling factor -- make the png twice as small, and you're good to go. Also, very importantly, DON'T FORGET TO RESIZE THE OUTLINE TOO. Failure to resize the outline could result in the roland mill cutting a line straight through the traces that you spent 2hrs trying to mill... If this happens, you will be very sad. You'll then regret all life decisions up till that point, including eating whatever was served by the university dining hall. These regrets may or may not be related. Oh, one last thing -- for some reason, you may need to invert the png traces. I didn't, and I got the negative of a board. Guess I should've noticed that before hitting 'send'.
This part is relatively straightforward, and follows the exact same process detailed in week 3. Just one new note -- after changing the cut depth, hit 'calculate' again on the fab module. The change does not take effect until calculate has been pressed. Enjoy the picture of the board below.