<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki-dev.pumpingstationone.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrewvaughan</id>
	<title>PS:1 Wiki Dev - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-dev.pumpingstationone.org/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Andrewvaughan"/>
	<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/wiki/Special:Contributions/Andrewvaughan"/>
	<updated>2026-04-10T14:40:19Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=RFIDv2&amp;diff=34400</id>
		<title>RFIDv2</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=RFIDv2&amp;diff=34400"/>
		<updated>2017-09-25T21:11:25Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
This page describes a version of the RFID system based on the [https://smile.amazon.com/gp/product/B00UX02GL8/ref=oh_aui_detailpage_o00_s00?ie=UTF8&amp;amp;psc=1 UHPPOTE Professional Wiegand TCP IP Network Access Control Board] a 125kHz system that should be compatible with transponders from the BeagleBone Black based system [[RFID]]&lt;br /&gt;
&lt;br /&gt;
=Benefits=&lt;br /&gt;
*Stores all data locally to the door controller, only requires power for door access.&lt;br /&gt;
*Can be granted a super-user password and can be used as a generic code.&lt;br /&gt;
*Allows both RFID and Keypad entry, and RFID can be set with additional PIN#.&lt;br /&gt;
*Can be retrofitted for machine control&lt;br /&gt;
*Can be setup to disable users when membership expires&lt;br /&gt;
&lt;br /&gt;
=System Description=&lt;br /&gt;
&lt;br /&gt;
There is an old HP (add specs) Windows XP machine that was added to the PS1 domain (called RFID-2) that pulls user information from an SQL database on a VM called RFID2 and  pushes that information to all the door controllers with a piece of software called Professional Door Control Management. You can remote into this machine using Windows Remote Desktop using rfid-2.ad.pumpingstationone.org.&lt;br /&gt;
&lt;br /&gt;
A VM on Proxmox Cloud 2 called RFID2 (10.100.11.31) houses the SQL database so that current members can access the doors. Eventually a job will run that will populate the database usernames, RFID tags, and member status from PS1AUTH. This may help accomplish this task:&lt;br /&gt;
*https://technet.microsoft.com/en-us/library/cc720650(v=ws.10).aspx&lt;br /&gt;
*https://www.mssqltips.com/sqlservertip/4190/import-active-directory-data-to-a-sql-server-table/&lt;br /&gt;
*https://cwiki.apache.org/confluence/display/SYNCOPE/Synchronize+Active+Directory+with+SQL+database#SynchronizeActiveDirectorywithSQLdatabase-Provide_a_user_template&lt;br /&gt;
&lt;br /&gt;
=What&#039;s next=&lt;br /&gt;
*A USB reader that allows people to determine the RFID tag they have and so they can input that into their user account. A small USB module is by the HP computer that will read the fob ID number. Sam C. has done some research and figured out how to derive the RFID number from the fob ID.&lt;br /&gt;
*Hook in the doorbell that identifies the doors individually. A small MP3 board will be connected to the RFID reader control and play a unique sound for each door over some PA speakers.&lt;br /&gt;
*Write instructions so that members can add their fobs to the RFID system as it is now.&lt;br /&gt;
*Writing a cron job to sync PS1Auth data (that members can add their RFID) to the RFID2 SQL database the door reader uses.&lt;br /&gt;
*Create an Auto-it script that presses the upload button in the control software to send info from the SQL database to the controller.&lt;br /&gt;
&lt;br /&gt;
==Status==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status&lt;br /&gt;
! Persons&lt;br /&gt;
! Task&lt;br /&gt;
|-&lt;br /&gt;
| TBD&lt;br /&gt;
| [[User:Anfroholic|Andrew Wingate]], [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| Develop software for RFID client / hardware controller&lt;br /&gt;
|-&lt;br /&gt;
| TBD&lt;br /&gt;
| [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| Develop middleware application for RFID clients to communicate with&lt;br /&gt;
|-&lt;br /&gt;
| TBD&lt;br /&gt;
| [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| Develop application for managing RFID from LDAP applications&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ffffcc;&amp;quot; | In Progress&lt;br /&gt;
| [[User:Anfroholic|Andrew Wingate]]&lt;br /&gt;
| Developing initial schematic and prototype for RFID client / hardware controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ffffcc;&amp;quot; | In Progress&lt;br /&gt;
| [[User:rtystgeeke|Andrew Camardella]]&lt;br /&gt;
| Sourcing of bulk components to build RFID client / hardware controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ffffcc;&amp;quot; | In Progress&lt;br /&gt;
| [[User:rtystgeeke|Andrew Camardella]]&lt;br /&gt;
| Development of case for holding RFID client / hardware controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ffffcc;&amp;quot; | In Progress&lt;br /&gt;
| [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| Develop Python module for interacting with UHPPOTE door-strike RFID boards&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ccffcc;&amp;quot; | Complete&lt;br /&gt;
| Sam Chen&lt;br /&gt;
| Reverse engineer RFID keys to convert printed serial number to RFID code.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background: #ccffcc;&amp;quot; | Complete&lt;br /&gt;
| [[User:rtystgeeke|Andrew Camardella]]&lt;br /&gt;
| Implement UHPPOTE control board for door strikes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Professional Door Control Management Software Notes=&lt;br /&gt;
* The software can be setup to use just the RFID card swipe, a swipe plus a pin (swipe + PIN + #), and typed tag number plus pin (* + tag_number + * + PIN + #)(the PIN an be left blank).&lt;br /&gt;
*Individual account must be allowed &amp;quot;Access Control&amp;quot; in the software to turn system use on an off - this can be used to control when memberships end.&lt;br /&gt;
*Accounts can have doors added and subtracted from each user&#039;s profile (this could also be used to control machine access and or cabinet/tool access)&lt;br /&gt;
*All account parameters are manageable through the SQL database&lt;br /&gt;
*When parameters are changed in the database they must be pushed to the controllers. The downside is that apparently this an only happen via the &amp;quot;upload&amp;quot; button in the software. Auto-it has been recommended as a tool to automate this process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Current ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Sourcing for electronics in bulk is being done by @rtystgeek&lt;br /&gt;
* The case and composure are being developed by @&lt;br /&gt;
* Python module for communicating with LDAP and UHPPOTE door controls being developed by @Andrewvaughan&lt;br /&gt;
&lt;br /&gt;
== Upcoming ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Python applicaton&lt;br /&gt;
* Python application to manage power control to hardware to be developed by &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=RFID Reader=&lt;br /&gt;
The RFID reader is TYPE and is plugged directly into the control board.&lt;br /&gt;
&lt;br /&gt;
This is the wiring scheme that comes directly out of the reader. The wires that come out of the wall are listed [https://wiki.pumpingstationone.org/RFIDv2#Grey_CAT3_6-pair_wire below].&lt;br /&gt;
&lt;br /&gt;
*Red - +12v DC&lt;br /&gt;
*Black - GND&lt;br /&gt;
*White - D1 / TX&lt;br /&gt;
*Green - D0 / RX&lt;br /&gt;
*Blue - LED&lt;br /&gt;
*Yellow - Beep (not connected)&lt;br /&gt;
*Gray - Weigand 26/34 protocol (not connected)&lt;br /&gt;
*Orange - Doorbell switch&lt;br /&gt;
*Brown - Doorbell switch&lt;br /&gt;
&lt;br /&gt;
=Wiring=&lt;br /&gt;
There are 2 wiring buses in parallel to make the doorbell/doorstrike/data transfer work. They connect to 2 terminal blocks at each doorway.  Everything currently runs on 12v.&lt;br /&gt;
&lt;br /&gt;
===Brown 8 conductor wire===&lt;br /&gt;
This wire supports the doorbell button, strike actuation, and ring.&lt;br /&gt;
*Red - +12v DC&lt;br /&gt;
*Black - GND&lt;br /&gt;
*White - &lt;br /&gt;
*Green - &lt;br /&gt;
*Blue - &lt;br /&gt;
*Yellow - &lt;br /&gt;
*Orange - Back door strike&lt;br /&gt;
*Brown - Front door strike&lt;br /&gt;
&lt;br /&gt;
===Grey CAT3 6-pair wire===&lt;br /&gt;
This wire supports the RFID reader wires directly. Note that the twisted pairs are different than normal.&lt;br /&gt;
&lt;br /&gt;
The Cat 3 was used to extend the short RFID wire and below is how the wires map. Note: the Grey and Yellow wires from the RFID reader are not connected to the Cat 3 and terminate in the tube that passes the cable through the wall.&lt;br /&gt;
&lt;br /&gt;
*Red and Blue striped pair - Red - +12v DC&lt;br /&gt;
*White/Grey and Grey pair - Black - GND&lt;br /&gt;
*White/Green and White/Blue pair - White - D1 / TX&lt;br /&gt;
*Green - Green - D0 / RX&lt;br /&gt;
*Blue - Blue - LED&lt;br /&gt;
*White/Orange and Orange pair - Doorbell switch&lt;br /&gt;
*White/Brown and Brown pair - Doorbell switch&lt;br /&gt;
&lt;br /&gt;
===RFID Manual Code Conversion Instructions===&lt;br /&gt;
&lt;br /&gt;
# Scan number on the RFID reader attached to the computer upstairs next to the water cooler. (123456)&lt;br /&gt;
# Convert scanned number to binary (1 1110 0010 0100 0000)&lt;br /&gt;
# Pad with leading 0s on the left to get 24 bits total (0000 0001 1110 0010 0100 0000)&lt;br /&gt;
# Convert first 8 bits to decimal (1)&lt;br /&gt;
# Convert last 16 bits to decimal (57920)&lt;br /&gt;
# Concatenate results of steps 4. and 5. to get key number, enter this into the software (157920)&lt;br /&gt;
&lt;br /&gt;
(If you need to manually enter code in door pad, add 0s to the left until 4. is three digits long (00157920), and wrap with *s (*00157920*))&lt;br /&gt;
&lt;br /&gt;
===Other Systems to look into===&lt;br /&gt;
*http://www.zkaccess.com/&lt;br /&gt;
*https://www.axis.com/us/en/products/axis-a9188/&lt;br /&gt;
*http://www.infinias.com/products/access-control/infinias-professional&lt;br /&gt;
*https://www.paxton-access.com/ - http://www.net2-solutions.com/en/net2adsyncserver/&lt;br /&gt;
*https://www.isonas.com/&lt;br /&gt;
*https://revspace.nl/Doorduino1&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=BOSS_LS-3655_150w_Laser_Engraver&amp;diff=33896</id>
		<title>BOSS LS-3655 150w Laser Engraver</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=BOSS_LS-3655_150w_Laser_Engraver&amp;diff=33896"/>
		<updated>2017-08-15T15:41:45Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* List of Currently Certified Users */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{ Template:EquipmentPage&lt;br /&gt;
| owner=PS:One &lt;br /&gt;
| model=BOSS LS-3655 150w&lt;br /&gt;
| serial=SERIAL NUMBER &lt;br /&gt;
| arrived= January 2017&lt;br /&gt;
| doesitwork=yes&lt;br /&gt;
| contact=[[CNC|CNC Area Host]] &lt;br /&gt;
| where=CNC Shop&lt;br /&gt;
| certification=yes &lt;br /&gt;
| hackable=no &lt;br /&gt;
| value=$17,000&lt;br /&gt;
| image = BossLaser2.jpg&lt;br /&gt;
| hostarea = CNC&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== About ==&lt;br /&gt;
&lt;br /&gt;
The BOSS LS-3655 is an industrial CO2 laser engraver with a 36&amp;quot; x 55&amp;quot; bed, supporting over-sized material pass-thru on four sides and up to 7 inches of table depth.  Originally shipped with 100W tube, but that has been replaced with 150W tube in May, 2017.&lt;br /&gt;
&lt;br /&gt;
== Status ==&lt;br /&gt;
&lt;br /&gt;
* (2017/05/20) 150W Tube &amp;amp; Power Supply installed. Alignment &amp;amp; focusing pending.&lt;br /&gt;
* (2017/06/12) The laser has been aligned and focused. 2&amp;quot; Laser lens focal depth set to 5.1mm.&lt;br /&gt;
&lt;br /&gt;
== Authorizations ==&lt;br /&gt;
Authorizations will be limited to small groups, e.g. 4 or less, due to nature of the equipment. To qualify for Boss Authorization, each member must be authorized on the Epilog for at least three months and must demonstrate suitable proficiency operating the laser cutter.&lt;br /&gt;
&lt;br /&gt;
* Power-On &amp;amp; Safety Check&lt;br /&gt;
# Check Wiki for status updates&lt;br /&gt;
# Check if Cutting Material is Safe: check wiki for a list of safe and unsafe materials for cutting&lt;br /&gt;
# Check Fire Extinguisher: Make sure it is close by and charged&lt;br /&gt;
# Release Emergency Stop: Rotate red button until it releases&lt;br /&gt;
# Turn Power Key: Display will load up&lt;br /&gt;
# Turn on Air Assist &amp;amp; Chiller: Flip the switch and ensure exhaust &amp;amp; chiller are on and functioning. Double check chiller temp with laser temp.&lt;br /&gt;
* RD Works&lt;br /&gt;
# Load Program &amp;amp; Check USB Connection Status&lt;br /&gt;
# Importing Files: Importing AI, DXF, SVG, &amp;amp; images&lt;br /&gt;
# Introducing User Interface: quick review of UI including Drawing, Grouping, Preview, Work Tab, Layers, Laser Work, &amp;amp; Head Position&lt;br /&gt;
# Detailed Overview of Work Tab: major cutting settings &amp;amp; parameters reside here&lt;br /&gt;
# Starting a Job&lt;br /&gt;
# Saving a File&lt;br /&gt;
* Boss Laser Operation&lt;br /&gt;
# LED Keypad Overview&lt;br /&gt;
# Adjusting the Z-Height: raise and lower bed&lt;br /&gt;
# Autofocus: Setting focal height for material&lt;br /&gt;
# Setting Origin&lt;br /&gt;
# Jogging the Laser Head in XY &lt;br /&gt;
# Adjusting High Pressure Air Regulator: Changing the compressed air flow&lt;br /&gt;
# Loading a File via USB Port&lt;br /&gt;
# Load &amp;amp; Unload honeycomb&lt;br /&gt;
# Cleaning Up &amp;amp; Clearing Catch Tray&lt;br /&gt;
* Individual Walkthrough: each member is required to perform the following:&lt;br /&gt;
# Start-Up the machine&lt;br /&gt;
# Turn on exhaust, air-assist, &amp;amp; chiller&lt;br /&gt;
# Place Material, autofocus, set origin&lt;br /&gt;
# Load RDworks, create 3 layers (Cut, Scan, Dot) &amp;amp; run laser job&lt;br /&gt;
# Shutdown machine &amp;amp; clear catch tray&lt;br /&gt;
&lt;br /&gt;
== Settings ==&lt;br /&gt;
* Honeycomb vs. Aluminum Lamella : The honeycomb is used for engraving and pieces that benefit from precise leveling. Use the aluminum lamella (slats under honeycomb) for cutting through to reduce flashback and improve airflow (warning small pieces will  fall through).&lt;br /&gt;
&lt;br /&gt;
* 4&amp;quot; Lens Focus Depth 38.5mm (this is a just an approximate, FD calibration must be performed each time the lens is changed)&lt;br /&gt;
* 2&amp;quot; Lens Focus Depth 5.3mm (this is a just an approximate, FD calibration must be performed each time the lens is changed)&lt;br /&gt;
&lt;br /&gt;
== Procedures ==&lt;br /&gt;
&lt;br /&gt;
=== Powering On Machine ===&lt;br /&gt;
* Check Fire Extinguisher&lt;br /&gt;
* Release Emergency Stop button&lt;br /&gt;
* Turn power key&lt;br /&gt;
* Turn on air assist &amp;amp; water chiller Switch &amp;amp; ensure both are functioning&lt;br /&gt;
&lt;br /&gt;
=== Powering Off Machine ===&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
== Material Safety &amp;amp; Information ==&lt;br /&gt;
=== Safe Materials for Cutting ===&lt;br /&gt;
** Plastics:&lt;br /&gt;
*** ABS (acrylonitrile butadiene styrene)&lt;br /&gt;
*** Acrylic (also known as Plexiglas, Lucite, PMMA)&lt;br /&gt;
*** Delrin (POM, acetal)&lt;br /&gt;
*** High density polyethylene (HDPE) – melts badly&lt;br /&gt;
*** Kapton tape (Polyimide)&lt;br /&gt;
*** Mylar (polyester)&lt;br /&gt;
*** Nylon – melts badly&lt;br /&gt;
*** PETG (polyethylene terephthalate glycol)&lt;br /&gt;
*** Polyethylene (PE) – melts badly&lt;br /&gt;
*** Polypropylene (PP) – melts somewhat&lt;br /&gt;
*** Styrene&lt;br /&gt;
*** Two-tone acrylic – top color different than core material, usually for custom instrumentation panels, signs, and plaques.&lt;br /&gt;
** Foam:&lt;br /&gt;
*** Depron foam – often used for RC planes.&lt;br /&gt;
*** EPM&lt;br /&gt;
*** Gator foam – foam core gets burned and eaten away compared to the top and bottom hard shell.&lt;br /&gt;
** Other:&lt;br /&gt;
*** Cloths (leather, suede, felt, hemp, cotton)&lt;br /&gt;
*** Papers&lt;br /&gt;
*** Rubbers (only if they do not contain chlorine Teflon (PTFE, Polytetrafluoroethylene)&lt;br /&gt;
*** Woods (MDF, balsa, birch, poplar, red oak, cherry, holly, etc.)&lt;br /&gt;
&lt;br /&gt;
=== MATERIALS NOT SAFE ===&lt;br /&gt;
** Polycarbonate (PC, Lexan) due to the fumes.&lt;br /&gt;
** Any material containing chlorine such as PVC &amp;amp; Vinyl &lt;br /&gt;
&lt;br /&gt;
==== Aligning Materials ====&lt;br /&gt;
** The table is not aligned with the laser&#039;s X-Y axis&lt;br /&gt;
** To align your material use the laser pointer by holding one axis constant while moving along the other axis to align corners of your material&lt;br /&gt;
&lt;br /&gt;
== Resources ==&lt;br /&gt;
&lt;br /&gt;
The proprietary LaserWORKS software can be downloaded from BOSS here - https://www.bosslaser.com/laser-software/&lt;br /&gt;
&lt;br /&gt;
Manuals for the BOSS laser and the LaserWORKS software are located here - https://www.bosslaser.com/download-manuals-guides/&lt;br /&gt;
&lt;br /&gt;
[https://www.bosslaser.com/laser-test-files BOSS test files are available here]&lt;br /&gt;
&lt;br /&gt;
[https://www.bosslaser.com/laser-settings Some laser settings from Boss]&lt;br /&gt;
&lt;br /&gt;
== Youtube Channels ==&lt;br /&gt;
Following are a couple good YouTube Channels with lots of information on the software and machine&lt;br /&gt;
* [https://wiki.pumpingstationone.org/index.php?title=Special:UserLogin&amp;amp;returnto=BOSS+LS-3655+150w+Laser+Engraver SarbarMultimedia]&lt;br /&gt;
* [https://www.youtube.com/channel/UCOuDR90TZ24qEFFIbVmDAMw Thunder Laser]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Cleaning &amp;amp; Maintenance ==&lt;br /&gt;
&lt;br /&gt;
* When changing the lens, make sure the convex/domed side of the lens is facing upwards (towards the ceiling)&lt;br /&gt;
* Focus Lens should be cleaned once a week with Acetone or Denatured Alcohol&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Currently Certified Users ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
! Qualified Member&lt;br /&gt;
! Trained By&lt;br /&gt;
|-&lt;br /&gt;
|Andrew Camardella&lt;br /&gt;
|Danger Committee &lt;br /&gt;
|-&lt;br /&gt;
|Matt Keith&lt;br /&gt;
|Danger Committee &lt;br /&gt;
|-&lt;br /&gt;
|Skylar Nova&lt;br /&gt;
|Danger Committee &lt;br /&gt;
|-&lt;br /&gt;
|Jason Araujo&lt;br /&gt;
|Danger Committee &lt;br /&gt;
|-&lt;br /&gt;
|Ray Doeksen&lt;br /&gt;
|Danger Committee&lt;br /&gt;
|-&lt;br /&gt;
|Matt Meshulam&lt;br /&gt;
|Danger Committee&lt;br /&gt;
|-&lt;br /&gt;
|Ashish Jasani&lt;br /&gt;
|Danger Committee&lt;br /&gt;
|-&lt;br /&gt;
|Joe Juhnke&lt;br /&gt;
|Ashish Jasani&lt;br /&gt;
|-&lt;br /&gt;
|Casey Olson&lt;br /&gt;
|Ray Doeksen&lt;br /&gt;
|-&lt;br /&gt;
|Andrew Vaughan&lt;br /&gt;
|Burton Kent&lt;br /&gt;
|-}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Laser Cutter]]&lt;br /&gt;
[[Category:Fabrication]]&lt;br /&gt;
[[Category:Certification Clarification Needed]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33496</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33496"/>
		<updated>2017-06-19T17:29:35Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $75&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive an [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 01 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 02 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 03 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 04 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 05 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 06 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 07 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 08 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 09 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Programming and Deployment ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
* Building the modules in an FPGA&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33495</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33495"/>
		<updated>2017-06-19T17:29:09Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive an [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 01 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 02 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 03 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 04 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 05 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 06 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 07 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 08 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 09 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Programming and Deployment ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
* Building the modules in an FPGA&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33352</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33352"/>
		<updated>2017-05-31T21:04:41Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Completion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive an [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
* Building the modules in an FPGA&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33351</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33351"/>
		<updated>2017-05-31T20:03:10Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Topics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive an [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33350</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33350"/>
		<updated>2017-05-31T19:53:28Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.59&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS32N/296-1658-5-ND/277304 74LS32]&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33348</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33348"/>
		<updated>2017-05-31T18:41:35Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.  Prices last updated May 31, 2017.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.65&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K103K10X7RF5UH5/BC2662CT-ND/2356876 0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.36&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.27&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/vishay-bc-components/K104K10X7RF5UH5/BC2665CT-ND/2356879 0.1µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.75&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.55&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/avx-corporation/TAP105K035SRW/478-8041-1-ND/3900657 1µF Capacitor]&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.64&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.33&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/fairchild-on-semiconductor/LM555CN/LM555CNFS-ND/458696 LM555CN]&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.14&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.02&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS00N/296-1626-5-ND/277272 74LS00]&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.45&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $3.06&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS04N/296-1629-5-ND/277275 74LS04]&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.26&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $1.11&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/texas-instruments/SN74LS08N/296-1633-5-ND/277279 74LS08]&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33347</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33347"/>
		<updated>2017-05-31T18:34:08Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Individual)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Cost&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;(Class Rate)&amp;lt;/small&amp;gt;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | --&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $38.76&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT470R/CF14JT470RCT-ND/1830342 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.90&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1K00/CF14JT1K00CT-ND/1830350 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.80&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT10K0/CF14JT10K0CT-ND/1830374 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.20&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.08&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT100K/CF14JT100KCT-ND/1830399 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.10&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $0.04&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/stackpole-electronics-inc/CF14JT1M00/CF14JT1M00CT-ND/1830423 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.48&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $2.18&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [https://www.digikey.com/product-detail/en/bourns-inc/3386F-1-105TLF/3386F-1-105TLF-ND/2536915 1MΩ Potentiometer]&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| [0.01µF Capacitor]&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: right; font-family: Courier New, Courier, fixed-width;&amp;quot; | $&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33346</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33346"/>
		<updated>2017-05-31T18:14:16Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Yageo/CFR-25JR-52-470R/ 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Yageo/CFR-25JR-52-1K/ 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Yageo/CFR-25JR-52-10K/ 10kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Ohmite/OK1045E-R52/ 100kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Ohmite/OK1055E-R52/ 1MΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33345</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33345"/>
		<updated>2017-05-31T18:10:53Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Yageo/CFR-25JR-52-470R/ 470Ω Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| [http://www.mouser.com/ProductDetail/Yageo/CFR-25JR-52-1K/ 1kΩ Resistor]&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 10kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 100kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33344</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33344"/>
		<updated>2017-05-31T17:50:24Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components will be group-purchased before each class to ensure proper components are bought, and to keep prices down.  As such, the cost of materials can vary, depending on how many people are in class.  While some materials are available in the electronics space, such assumptions should be taken with caution.  You don&#039;t want to miss a class because the component you need isn&#039;t available!&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 470Ω Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| 1kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 10kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 100kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33343</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33343"/>
		<updated>2017-05-31T17:47:48Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Prerequisites */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices attend the first classes, and make use of office hours, to ask questions before continuing on to more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 470Ω Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| 1kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 10kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 100kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33337</id>
		<title>User:Andrewvaughan</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33337"/>
		<updated>2017-05-28T00:57:00Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top:-9999px;&amp;quot;&amp;gt;User:&amp;lt;/span&amp;gt;Andrew&amp;lt;span style=&amp;quot;text-transform: uppercase; margin-left: 0.15em;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;aughan}}&lt;br /&gt;
{| style=&amp;quot;width: 100%; background: #f8f9fa; border-bottom: 1px solid #222; margin: -16px 0 15px 0; text-align: center; vertical-align: middle; height: 75px;&amp;quot;&lt;br /&gt;
| [https://andrewvaughan.io https://img.shields.io/badge/blog-andrewvaughan.io-brightgreen.png]&lt;br /&gt;
| [https://twitter.com/andrewvaughan https://img.shields.io/badge/twitter-andrewvaughan-green.png]&lt;br /&gt;
| [https://www.linkedin.com/in/andrewjvaughan/ https://img.shields.io/badge/linkedin-andrewjvaughan-yellow.png]&lt;br /&gt;
| [https://github.com/andrewvaughan https://img.shields.io/badge/github-andrewvaughan-orange.png]&lt;br /&gt;
| [http://www.thingiverse.com/wspnut/about https://img.shields.io/badge/thingiverse-wspnut-red.png]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin: 7px 15px 15px 0;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Member&lt;br /&gt;
| image             = AndrewVaughan.png&lt;br /&gt;
| membername        = Andrew Vaughan&lt;br /&gt;
| memberaliases     = wspnut, uggakanukka2000&lt;br /&gt;
| membersince       = April 18, 2017&lt;br /&gt;
| membertype        = Full&lt;br /&gt;
| memberphone       = [tel:+1-312-476-9966 312-476-9966]&lt;br /&gt;
| memberemail       = [mailto:hello@andrewvaughan.io hello@andrewvaughan.io]&lt;br /&gt;
| memberirc         = andrewvaughan&lt;br /&gt;
| memberother       = [https://twitter.com/andrewvaughan @andrewvaughan]&lt;br /&gt;
| membercertifiedon = [[User:andrewvaughan#Equipment_Authorizations|See All Authorizations]]&lt;br /&gt;
}}&lt;br /&gt;
[[User:andrewvaughan|Andrew Vaughan]] (joined April 18th, 2017) is a full member of [[Main_Page|Pumping Station:One]].  Professionally, he acts as Chief Product Officer for Hyatt Hotels, helping build policies and procedures to drive innovative customer experiences.  When not at work, Andrew spends time with his girlfriend, two dogs, and cat.  In his spare time, he develops software and rotates through numerous hobbies.  The often large-scale nature of his initiatives is what ultimately lead him to Pumping Station: One.&lt;br /&gt;
&lt;br /&gt;
Andrew&#039;s hobbies and passions rotate regularly, including [[:Category:Electronics|Electronics]], [[:Category:Carpentry|Carpentry]], [[:Category:Programming|Programming]], [[:Category:CAD|CAD]], [[Luthierie]], [[Pipe Making]], [[Soap Making]], [[:Category:Brewing|Brewing]] and many more.  Andrew is a Level 2 Certified Sommelier through the [https://www.wsetglobal.com/ Wine Spirit and Education Trust] of England.&lt;br /&gt;
&lt;br /&gt;
Although sporadically maintained, Andrew&#039;s [https://andrewvaughan.io personal blog] contains detail and insight into many of the initiatives he undertakes.  He also maintains public and active [[#Active_Projects|project]] and [[/todo|task]] lists on this wiki in an effort to empower others to reference his work.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Andrew can be reached through Pumping Station: One&#039;s [[Contact Points#Email Lists|public and private mailing lists]], via the [[IRC|Pumping Station: One IRC channel]] (user &amp;lt;code&amp;gt;andrewvaughan&amp;lt;/code&amp;gt;), or through one of his Social Media networks, such as [https://twitter.com/andrewvaughan Twitter] or [https://linkedin.com/in/andrewjvaughan LinkedIn].  For urgent situations, Andrew can be contacted directly by [mailto:hello@andrewvaughan.io emailing him] or by calling or texting [tel:+1-312-476-9966 his cellphone].&lt;br /&gt;
&lt;br /&gt;
=== Wiki Help ===&lt;br /&gt;
&lt;br /&gt;
Andrew takes point in building and maintaining many aspects of the [[Main Page|Pumping Station: One Wiki]].  If you would like support in building out templates, functionality, or need general help with editing or contributing to the wiki, please feel free to reach out to Andrew using the contact information above.&lt;br /&gt;
&lt;br /&gt;
If your questions concern general wiki usage, please read the [https://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], the [https://www.mediawiki.org/wiki/Help:Editing MediaWiki Editing Guide], and [https://www.mediawiki.org/wiki/Category:Help MediaWiki&#039;s General Help] category before asking.  It&#039;s highly likely that your question has already been answered, and [[RTFM]] goes a long way.  If, after following these steps, your question persists, your best bet at getting a quick answer would be to make a post on the internal [[Contact Points#Email Lists|PS:1 Google group]].&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Andrew teaches [[:Category:Classes|classes]] at Pumping Station: One on various topics.  The following classes are currently active in the shop.  More information can be found on their individual wiki pages:&lt;br /&gt;
&lt;br /&gt;
* [[Classes/Building an 8-Bit CPU from Scratch|Building an 8-Bit CPU from Scratch]]&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
Andrew generally has a significant number of projects in various phases of completion at any given time.  These projects are listed as &#039;&#039;&#039;Active&#039;&#039;&#039;, in-which they are currently underway, &#039;&#039;&#039;Completed&#039;&#039;&#039;, wherein no further work is planned for an initiative, or &#039;&#039;&#039;Archived&#039;&#039;&#039;, where the project has been placed on pause indefinitely (unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
The following projects are in various stages of active development, whether they be in &amp;lt;u&amp;gt;Inception&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Planning&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Design&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;, or &amp;lt;u&amp;gt;Finishing&amp;lt;/u&amp;gt;.  Occasionally, active projects will have a final &amp;lt;u&amp;gt;Packaging&amp;lt;/u&amp;gt; step, if they are being sold or distributed.&lt;br /&gt;
&lt;br /&gt;
Along with these status, a qualifier of &#039;&#039;Ongoing&#039;&#039; represents that there is no foreseeable end to the project, and that iterative development will continue indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Inception ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Boeing 737-800 Flight Simulator Enclosure|Boeing 737-800 Flight Simulator Enclosure]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fully-functional, to-scale model of a Boeing 737-800 flight cockpit, with functional toggles, switches, and gauges, processed through shared USB signaling devices and compatible with [http://store.steampowered.com/app/314160/ Microsoft Flight Simulator X], [http://www.x-plane.com/ X-Plane 11], and Lockheed Martin [http://www.prepar3d.com/ Prepar3d] v3.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Programmable Entry to PS:1|Programmable Entry to PS:1]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: Rebuild the locking mechanism for Pumping Station: One to be programmable, so that buzzer entry can be scheduled, and RFID entry can be used the remainder of the time.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Damascus Steel Hunting Knife|Damascus Steel Hunting Knife]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Hot Metals&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A forged and hand-carved hunting knife, with [[Wikipedia:Damascus Steel|Damascus Steel]] as an introduction to forging.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Soprano Ukulele|Soprano Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: An effort to build the moulds, jigs, and other systems to empower easily-repeatable builds of high-quality, hand-made Ukuleles.  Soprano Ukulele&#039;s being the smallest of the Ukulele set (with some exceptions), can be one of the most challenging [[Luthierie]] projects given the preciseness needed for the build coupled with the small footprint of the design.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Dockerized Gary&#039;s Mod Server|Dockerized Gary&#039;s Mod Server]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: Building on the [[User:Andrewvaughan/Dockerized Steam Server|Dockerized Steam Server]] project, this open-source library provides a push-button mechanism to launch a [http://www.garrysmod.com/ Garry&#039;s Mod] server for use with the game [https://steamcommunity.com/sharedfiles/filedetails/?id=135509255 Prop Hunt].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Tenor Ukulele|Tenor Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Similar to the Soprano Ukulele project, but with moulds, jigs, and systems to build Tenor ukuleles.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Briarwood Smoking Pipe|Briarwood Smoking Pipe]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Using only hand-tools (with the exception of preliminary block cut of the wood), Andrew aims to carve a functional smoking pipe from briarwood.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/8-Bit CPU|8-Bit CPU]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A build of an entirely-functional 8-bit CPU, using a custom developed architecture and instruction set, using only TLS and CMOS chips.  The CPU is designed to be modular and expandable, so that further instructions and capabilities can be added in the future.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/MiniNES|MiniNES]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A [[Raspberry Pi]] project with a 3D-printed NES enclosure to support a custom version of the [https://retropie.org.uk/ RetroPie] project.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bath Bombs|Bath Bombs]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A series of methods and formulary to create effervescent bath bombs with multiple combinations of oils, clays, and salts.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Cat Tree|Cat Tree]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A simple cat tree for use at home, complete with three levels, hooks for hanging toys, a removable ladder, and an enclosed house on the second floor.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bread|Bread Baking]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A number of hand-made bread recipes.  No bread machines here!&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/LillyOS|LillyOS]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: A custom-built boot loader, file system, and operating system intended for use in high-security, low-detection file transfer.  LillyOS is encrypted at time of cross-compilation with a private key that is used to load the operating and file systems into memory at load.  Therefore, without the correct seed, invalid instruction sets will be processed by the host computer, instead of simply encrypting just the files on the operating system itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Brewing|Beer Brewing]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: Recipes and techniques for making tasty, tasty [[Beer]].&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Washers Pitching|Washers Pitching]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fun game, similar to cornhole, bags, or horseshoes, where four players compete on teams of two to reach a top score.  Rules for the game can be found on [[Wikipedia:Washer Pitching|the Wikipedia entry for the game]].&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Completed ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/SNES-in-a-Controller|SNES-in-a-Controller]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(April 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: Originally a challenge as a [[30-Minute Build]], the SNES-in-a-Controller uses a [[Raspberry Pi]] Zero, an integrated lithium-ion charging circuit, battery, and USB SNES controller to provide a portable, HDMI-compatible RetroPie emulator.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/10-Seat Racetrack Poker Table|10-Seat Racetrack Poker Table]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(June 2010)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: A 10-seat poker table in a racetrack design with arm padding, polished wood track, speedfelt center, and closed-cell foam to prevent spill rot.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://github.com/andrewvaughan/docker-steamcmd Docker-Supported Steam Server]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(February 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source Docker project that provides push-button launching of any dedicated [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List Steam server].  Supports all current versions of Ubuntu as a base image for the virtual machine, and is available in the formal [https://hub.docker.com/r/andrewvaughan/steamcmd/ Docker Hub].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://andrewvaughan.io/raspbian-i-love-you-but-youre-fat/ RaspberryPi Reduced-Image Tool]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(May 2016)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source tool to help users reduce the bloatware included with the formal [https://www.raspberrypi.org/downloads/raspbian/ Raspbian] image provided by the [https://www.raspberrypi.org/ Raspberry Pi Foundation], as well as to help new users understand the purpose and footprint with pre-included packages.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Equipment Authorizations =&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=47%}}&lt;br /&gt;
&lt;br /&gt;
=== Current Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: center; width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Equipment&lt;br /&gt;
! Area&lt;br /&gt;
! Authorizer&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! [[Forge]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hypertherm Powermax 45 Plasma Cutter]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[AcmeAnvil]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Millermatic 252]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Miller Dynasty 280DX]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 3200HD]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 125HD WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 100 WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[DeWalt Chop Saw]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bench Grinder (6in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hot Metals Belt Sander]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Ryobi 6&amp;quot; grinder|Ryobi 6&amp;quot; Grinder]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Angle Grinder (4.5in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Epilog 30w Mini 24 Laser Engraver]]&lt;br /&gt;
| [[:Category:CNC|CNC]]&lt;br /&gt;
| [[User:Daddybird|Burton Kent]]&lt;br /&gt;
| May 3, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Laguna 16&amp;quot; Planer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bosch Sliding Compound Miter Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Rockwell Delta 20&amp;quot; Bandsaw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Delta Drill Press (12in)|Delta 12&amp;quot; Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Craftsman 20in Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Grizzly 6&amp;quot; jointer|Grizzly 6&amp;quot; Jointer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Sears Scroll Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Belt Sander|Belt and Disk Sander]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Excalibur Router Table]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[SawStop table saw|SawStop Table Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=47%|gap=6%}}&lt;br /&gt;
&lt;br /&gt;
=== Pending Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Area&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Priority&lt;br /&gt;
! Equipment&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Drum Sander&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Equipment unavailable. Passed vote on [[Vote to purchase drum surface sander|April 18th, 2017]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Ridgid Oscillating Spindle Sander]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | May be irrelevant due to [[Oscillating Drum Sander]], which does not require authorization.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4- Low&lt;br /&gt;
| [[Jet Wood Lathe]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Wish to learn Lathe techniques (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vacuum table|Vacuum Table]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interest in learning techniques.  May wish to vacuum form with later projects (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Hitachi M12V Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R161 Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R181FB Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;11&amp;quot; | [[:Category:CNC|CNC]]&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Prusa i3 3D printer|Prusa i3 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Z-Builder Ultra 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Does not seem to be functioning.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Shapeoko Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Functionality replaced by ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[ShapeOko2 CNC Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Seems to have been largely replaced by the ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[Shopbot PRS CNC router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to create jigs and moulds for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[HP DesignJet T520 Large Format Color Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to print large-format templates and designs for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Lulzbot Taz3]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[BOSS LS-3655 150w Laser Engraver]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Currently not offering authorizations (new laser cutter).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vinyl Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[CNC Plasma Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Cricut Die Cutting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Arts|Arts]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer 20U Industrial Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Sears Kenmore Model 158.18130 Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[J.C.Penney Free Arm Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer Serger 14T948DS]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother 230 knitting machine|Brother 230 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother KH-930 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Evenheat 810 Kiln]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Currently blocking progress on primary project(s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| Blocking progress on upcoming progress&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| Will likely block progress on near-future progress&lt;br /&gt;
|-&lt;br /&gt;
| 4 - Low&lt;br /&gt;
| Current interest in learning machine or techniques&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| May have interest in learning machine or techniques in future, or may have alternative solution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Areas of Expertise =&lt;br /&gt;
&lt;br /&gt;
Andrew has proficiency in a number of skills.  If you would like advice or assistance in any of these areas, please do not hesitate to reach out.  In terms of ratings:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=19%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inexperienced&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
☆ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Little-to-no hands on experience.  Interest has been expressed, but experience has not been sought.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novice&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Experienced with basic topics and common knowledge of the subject matter expert.  May result from self-training.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amateur&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Comfortable with most of scope; well-experienced with highly-common tasks.  Able to teach others basic areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intermediate&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ☆&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Highly experienced, including most edge-cases. Able to teach others in nearly all areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=19%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ★&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Advanced experience with subject matter. Learning is replaced with research.  Seeking mentorship becomes difficult or impossible.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Arts and Science&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Beer [[Brewing]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Photography]] (Nikon)&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bread Baking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Cooking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Wine&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | General [[Chemistry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Soap Making]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Modeling]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Silkscreening]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Animation]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bracelet Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Crochet]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Earring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Knitting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Necklace Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Paper Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Ring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;CNC and 3D Printing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CAD]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[3D Printing]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CNC]] Routing&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Laser Cutting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Plastic Injection Moulding]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Electronics&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Microcontrollers]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Digital [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Analog [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Metallurgy&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Sharpening&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;| MIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Plasma Cutting&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | TIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Tool Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Software Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[DevOps]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[HTML/CSS]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Javascript]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Node.js]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[PHP]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Bash]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Java]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Python]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Assembly]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[C++]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Game Theory]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Unity]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Woodworking&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | General [[Carpentry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Luthierie]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Pipe Making]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Wood]] Identification&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Furniture Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Wood [[Inlays]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Flight Simulation]]&lt;br /&gt;
! ★ ★ ★ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
The following resources are some of Andrew&#039;s preferred sources of information regarding projects, best practices, and safety:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Resource&lt;br /&gt;
! Category&lt;br /&gt;
! Sub-Category&lt;br /&gt;
! Date&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;1:00:00&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/watch?v=sAeXskZHC2o Making a Guitar - Handcrafted Woodworking (Greenfield Guitars)]&lt;br /&gt;
| [[:Category:Woodworking|Woodworking]]&lt;br /&gt;
| [[:Category:Luthierie|Luthierie]]&lt;br /&gt;
| {{nowrap|2016-09-11}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Excellent documentary on hand-making a guitar from start to finish.  Not a tremendous amount of instruction, but excellent for inspiration and learning the basics of the process.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA NileRed&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Arts and Science|Arts and Science]]&lt;br /&gt;
| [[:Category:Chemistry]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Tons of videos on how to do interesting chemical reactions using a basic glass set and household products.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WikiGnomes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33336</id>
		<title>User:Andrewvaughan</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33336"/>
		<updated>2017-05-28T00:55:44Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Development */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top:-9999px;&amp;quot;&amp;gt;User:&amp;lt;/span&amp;gt;Andrew&amp;lt;span style=&amp;quot;text-transform: uppercase; margin-left: 0.15em;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;aughan}}&lt;br /&gt;
{| style=&amp;quot;width: 100%; background: #f8f9fa; border-bottom: 1px solid #222; margin: -16px 0 15px 0; text-align: center; vertical-align: middle; height: 75px;&amp;quot;&lt;br /&gt;
| [https://andrewvaughan.io https://img.shields.io/badge/blog-andrewvaughan.io-brightgreen.png]&lt;br /&gt;
| [https://twitter.com/andrewvaughan https://img.shields.io/badge/twitter-andrewvaughan-green.png]&lt;br /&gt;
| [https://www.linkedin.com/in/andrewjvaughan/ https://img.shields.io/badge/linkedin-andrewjvaughan-yellow.png]&lt;br /&gt;
| [https://github.com/andrewvaughan https://img.shields.io/badge/github-andrewvaughan-orange.png]&lt;br /&gt;
| [http://www.thingiverse.com/wspnut/about https://img.shields.io/badge/thingiverse-wspnut-red.png]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin: 7px 15px 15px 0;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Member&lt;br /&gt;
| image             = AndrewVaughan.png&lt;br /&gt;
| membername        = Andrew Vaughan&lt;br /&gt;
| memberaliases     = wspnut, uggakanukka2000&lt;br /&gt;
| membersince       = April 18, 2017&lt;br /&gt;
| membertype        = Full&lt;br /&gt;
| memberphone       = [tel:+1-312-476-9966 312-476-9966]&lt;br /&gt;
| memberemail       = [mailto:hello@andrewvaughan.io hello@andrewvaughan.io]&lt;br /&gt;
| memberirc         = andrewvaughan&lt;br /&gt;
| memberother       = [https://twitter.com/andrewvaughan @andrewvaughan]&lt;br /&gt;
| membercertifiedon = [[User:andrewvaughan#Equipment_Authorizations|See All Authorizations]]&lt;br /&gt;
}}&lt;br /&gt;
[[User:andrewvaughan|Andrew Vaughan]] (joined April 18th, 2017) is a full member of [[Main_Page|Pumping Station:One]].  Professionally, he acts as Chief Product Officer for Hyatt Hotels, helping build policies and procedures to drive innovative customer experiences.  When not at work, Andrew spends time with his girlfriend, two dogs, and cat.  In his spare time, he develops software and rotates through numerous hobbies.  The often large-scale nature of his initiatives is what ultimately lead him to Pumping Station: One.&lt;br /&gt;
&lt;br /&gt;
Andrew&#039;s hobbies and passions rotate regularly, including [[:Category:Electronics|Electronics]], [[:Category:Carpentry|Carpentry]], [[:Category:Programming|Programming]], [[:Category:CAD|CAD]], [[Luthierie]], [[Pipe Making]], [[Soap Making]], [[:Category:Brewing|Brewing]] and many more.  Andrew is a Level 2 Certified Sommelier through the [https://www.wsetglobal.com/ Wine Spirit and Education Trust] of England.&lt;br /&gt;
&lt;br /&gt;
Although sporadically maintained, Andrew&#039;s [https://andrewvaughan.io personal blog] contains detail and insight into many of the initiatives he undertakes.  He also maintains public and active [[#Active_Projects|project]] and [[/todo|task]] lists on this wiki in an effort to empower others to reference his work.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Andrew can be reached through Pumping Station: One&#039;s [[Contact Points#Email Lists|public and private mailing lists]], via the [[IRC|Pumping Station: One IRC channel]] (user &amp;lt;code&amp;gt;andrewvaughan&amp;lt;/code&amp;gt;), or through one of his Social Media networks, such as [https://twitter.com/andrewvaughan Twitter] or [https://linkedin.com/in/andrewjvaughan LinkedIn].  For urgent situations, Andrew can be contacted directly by [mailto:hello@andrewvaughan.io emailing him] or by calling or texting [tel:+1-312-476-9966 his cellphone].&lt;br /&gt;
&lt;br /&gt;
=== Wiki Help ===&lt;br /&gt;
&lt;br /&gt;
Andrew takes point in building and maintaining many aspects of the [[Main Page|Pumping Station: One Wiki]].  If you would like support in building out templates, functionality, or need general help with editing or contributing to the wiki, please feel free to reach out to Andrew using the contact information above.&lt;br /&gt;
&lt;br /&gt;
If your questions concern general wiki usage, please read the [https://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], the [https://www.mediawiki.org/wiki/Help:Editing MediaWiki Editing Guide], and [https://www.mediawiki.org/wiki/Category:Help MediaWiki&#039;s General Help] category before asking.  It&#039;s highly likely that your question has already been answered, and [[RTFM]] goes a long way.  If, after following these steps, your question persists, your best bet at getting a quick answer would be to make a post on the internal [[Contact Points#Email Lists|PS:1 Google group]].&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Andrew teaches [[:Category:Classes|classes]] at Pumping Station: One on various topics.  The following classes are currently active in the shop.  More information can be found on their individual wiki pages:&lt;br /&gt;
&lt;br /&gt;
* [[Classes/Building an 8-Bit CPU from Scratch|Building an 8-Bit CPU from Scratch]]&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
Andrew generally has a significant number of projects in various phases of completion at any given time.  These projects are listed as &#039;&#039;&#039;Active&#039;&#039;&#039;, in-which they are currently underway, &#039;&#039;&#039;Completed&#039;&#039;&#039;, wherein no further work is planned for an initiative, or &#039;&#039;&#039;Archived&#039;&#039;&#039;, where the project has been placed on pause indefinitely (unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
The following projects are in various stages of active development, whether they be in &amp;lt;u&amp;gt;Inception&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Planning&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Design&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;, or &amp;lt;u&amp;gt;Finishing&amp;lt;/u&amp;gt;.  Occasionally, active projects will have a final &amp;lt;u&amp;gt;Packaging&amp;lt;/u&amp;gt; step, if they are being sold or distributed.&lt;br /&gt;
&lt;br /&gt;
Along with these status, a qualifier of &#039;&#039;Ongoing&#039;&#039; represents that there is no foreseeable end to the project, and that iterative development will continue indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Inception ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Boeing 737-800 Flight Simulator Enclosure|Boeing 737-800 Flight Simulator Enclosure]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fully-functional, to-scale model of a Boeing 737-800 flight cockpit, with functional toggles, switches, and gauges, processed through shared USB signaling devices and compatible with [http://store.steampowered.com/app/314160/ Microsoft Flight Simulator X], [http://www.x-plane.com/ X-Plane 11], and Lockheed Martin [http://www.prepar3d.com/ Prepar3d] v3.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Programmable Entry to PS:1|Programmable Entry to PS:1]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: Rebuild the locking mechanism for Pumping Station: One to be programmable, so that buzzer entry can be scheduled, and RFID entry can be used the remainder of the time.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Damascus Steel Hunting Knife|Damascus Steel Hunting Knife]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Hot Metals&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A forged and hand-carved hunting knife, with [[Wikipedia:Damascus Steel|Damascus Steel]] as an introduction to forging.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Soprano Ukulele|Soprano Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: An effort to build the moulds, jigs, and other systems to empower easily-repeatable builds of high-quality, hand-made Ukuleles.  Soprano Ukulele&#039;s being the smallest of the Ukulele set (with some exceptions), can be one of the most challenging [[Luthierie]] projects given the preciseness needed for the build coupled with the small footprint of the design.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Dockerized Gary&#039;s Mod Server|Dockerized Gary&#039;s Mod Server]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: Building on the [[User:Andrewvaughan/Dockerized Steam Server|Dockerized Steam Server]] project, this open-source library provides a push-button mechanism to launch a [http://www.garrysmod.com/ Garry&#039;s Mod] server for use with the game [https://steamcommunity.com/sharedfiles/filedetails/?id=135509255 Prop Hunt].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Tenor Ukulele|Tenor Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Similar to the Soprano Ukulele project, but with moulds, jigs, and systems to build Tenor ukuleles.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Briarwood Smoking Pipe|Briarwood Smoking Pipe]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Using only hand-tools (with the exception of preliminary block cut of the wood), Andrew aims to carve a functional smoking pipe from briarwood.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/8-Bit CPU|8-Bit CPU]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A build of an entirely-functional 8-bit CPU, using a custom developed architecture and instruction set, using only TLS and CMOS chips.  The CPU is designed to be modular and expandable, so that further instructions and capabilities can be added in the future.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/MiniNES|MiniNES]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A [[Raspberry Pi]] project with a 3D-printed NES enclosure to support a custom version of the [https://retropie.org.uk/ RetroPie] project.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bath Bombs|Bath Bombs]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A series of methods and formulary to create effervescent bath bombs with multiple combinations of oils, clays, and salts.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Cat Tree|Cat Tree]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A simple cat tree for use at home, complete with three levels, hooks for hanging toys, a removable ladder, and an enclosed house on the second floor.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bread|Bread Baking]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A number of hand-made bread recipes.  No bread machines here!&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/LillyOS|LillyOS]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: A custom-built boot loader, file system, and operating system intended for use in high-security, low-detection file transfer.  LillyOS is encrypted at time of cross-compilation with a private key that is used to load the operating and file systems into memory at load.  Therefore, without the correct seed, invalid instruction sets will be processed by the host computer, instead of simply encrypting just the files on the operating system itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Brewing|Beer Brewing]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: Recipes and techniques for making tasty, tasty [[Beer]].&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Washers Pitching]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fun game, similar to cornhole, bags, or horseshoes, where four players compete on teams of two to reach a top score.  Rules for the game can be found on [[Wikipedia:Washer Pitching|the Wikipedia entry for the game]].&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Completed ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/SNES-in-a-Controller|SNES-in-a-Controller]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(April 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: Originally a challenge as a [[30-Minute Build]], the SNES-in-a-Controller uses a [[Raspberry Pi]] Zero, an integrated lithium-ion charging circuit, battery, and USB SNES controller to provide a portable, HDMI-compatible RetroPie emulator.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/10-Seat Racetrack Poker Table|10-Seat Racetrack Poker Table]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(June 2010)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: A 10-seat poker table in a racetrack design with arm padding, polished wood track, speedfelt center, and closed-cell foam to prevent spill rot.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://github.com/andrewvaughan/docker-steamcmd Docker-Supported Steam Server]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(February 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source Docker project that provides push-button launching of any dedicated [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List Steam server].  Supports all current versions of Ubuntu as a base image for the virtual machine, and is available in the formal [https://hub.docker.com/r/andrewvaughan/steamcmd/ Docker Hub].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://andrewvaughan.io/raspbian-i-love-you-but-youre-fat/ RaspberryPi Reduced-Image Tool]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(May 2016)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source tool to help users reduce the bloatware included with the formal [https://www.raspberrypi.org/downloads/raspbian/ Raspbian] image provided by the [https://www.raspberrypi.org/ Raspberry Pi Foundation], as well as to help new users understand the purpose and footprint with pre-included packages.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Equipment Authorizations =&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=47%}}&lt;br /&gt;
&lt;br /&gt;
=== Current Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: center; width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Equipment&lt;br /&gt;
! Area&lt;br /&gt;
! Authorizer&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! [[Forge]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hypertherm Powermax 45 Plasma Cutter]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[AcmeAnvil]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Millermatic 252]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Miller Dynasty 280DX]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 3200HD]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 125HD WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 100 WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[DeWalt Chop Saw]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bench Grinder (6in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hot Metals Belt Sander]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Ryobi 6&amp;quot; grinder|Ryobi 6&amp;quot; Grinder]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Angle Grinder (4.5in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Epilog 30w Mini 24 Laser Engraver]]&lt;br /&gt;
| [[:Category:CNC|CNC]]&lt;br /&gt;
| [[User:Daddybird|Burton Kent]]&lt;br /&gt;
| May 3, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Laguna 16&amp;quot; Planer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bosch Sliding Compound Miter Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Rockwell Delta 20&amp;quot; Bandsaw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Delta Drill Press (12in)|Delta 12&amp;quot; Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Craftsman 20in Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Grizzly 6&amp;quot; jointer|Grizzly 6&amp;quot; Jointer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Sears Scroll Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Belt Sander|Belt and Disk Sander]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Excalibur Router Table]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[SawStop table saw|SawStop Table Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=47%|gap=6%}}&lt;br /&gt;
&lt;br /&gt;
=== Pending Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Area&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Priority&lt;br /&gt;
! Equipment&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Drum Sander&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Equipment unavailable. Passed vote on [[Vote to purchase drum surface sander|April 18th, 2017]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Ridgid Oscillating Spindle Sander]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | May be irrelevant due to [[Oscillating Drum Sander]], which does not require authorization.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4- Low&lt;br /&gt;
| [[Jet Wood Lathe]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Wish to learn Lathe techniques (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vacuum table|Vacuum Table]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interest in learning techniques.  May wish to vacuum form with later projects (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Hitachi M12V Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R161 Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R181FB Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;11&amp;quot; | [[:Category:CNC|CNC]]&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Prusa i3 3D printer|Prusa i3 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Z-Builder Ultra 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Does not seem to be functioning.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Shapeoko Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Functionality replaced by ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[ShapeOko2 CNC Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Seems to have been largely replaced by the ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[Shopbot PRS CNC router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to create jigs and moulds for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[HP DesignJet T520 Large Format Color Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to print large-format templates and designs for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Lulzbot Taz3]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[BOSS LS-3655 150w Laser Engraver]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Currently not offering authorizations (new laser cutter).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vinyl Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[CNC Plasma Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Cricut Die Cutting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Arts|Arts]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer 20U Industrial Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Sears Kenmore Model 158.18130 Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[J.C.Penney Free Arm Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer Serger 14T948DS]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother 230 knitting machine|Brother 230 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother KH-930 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Evenheat 810 Kiln]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Currently blocking progress on primary project(s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| Blocking progress on upcoming progress&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| Will likely block progress on near-future progress&lt;br /&gt;
|-&lt;br /&gt;
| 4 - Low&lt;br /&gt;
| Current interest in learning machine or techniques&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| May have interest in learning machine or techniques in future, or may have alternative solution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Areas of Expertise =&lt;br /&gt;
&lt;br /&gt;
Andrew has proficiency in a number of skills.  If you would like advice or assistance in any of these areas, please do not hesitate to reach out.  In terms of ratings:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=19%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inexperienced&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
☆ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Little-to-no hands on experience.  Interest has been expressed, but experience has not been sought.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novice&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Experienced with basic topics and common knowledge of the subject matter expert.  May result from self-training.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amateur&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Comfortable with most of scope; well-experienced with highly-common tasks.  Able to teach others basic areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intermediate&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ☆&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Highly experienced, including most edge-cases. Able to teach others in nearly all areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=19%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ★&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Advanced experience with subject matter. Learning is replaced with research.  Seeking mentorship becomes difficult or impossible.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Arts and Science&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Beer [[Brewing]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Photography]] (Nikon)&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bread Baking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Cooking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Wine&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | General [[Chemistry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Soap Making]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Modeling]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Silkscreening]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Animation]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bracelet Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Crochet]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Earring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Knitting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Necklace Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Paper Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Ring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;CNC and 3D Printing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CAD]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[3D Printing]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CNC]] Routing&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Laser Cutting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Plastic Injection Moulding]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Electronics&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Microcontrollers]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Digital [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Analog [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Metallurgy&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Sharpening&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;| MIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Plasma Cutting&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | TIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Tool Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Software Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[DevOps]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[HTML/CSS]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Javascript]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Node.js]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[PHP]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Bash]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Java]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Python]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Assembly]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[C++]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Game Theory]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Unity]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Woodworking&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | General [[Carpentry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Luthierie]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Pipe Making]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Wood]] Identification&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Furniture Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Wood [[Inlays]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Flight Simulation]]&lt;br /&gt;
! ★ ★ ★ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
The following resources are some of Andrew&#039;s preferred sources of information regarding projects, best practices, and safety:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Resource&lt;br /&gt;
! Category&lt;br /&gt;
! Sub-Category&lt;br /&gt;
! Date&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;1:00:00&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/watch?v=sAeXskZHC2o Making a Guitar - Handcrafted Woodworking (Greenfield Guitars)]&lt;br /&gt;
| [[:Category:Woodworking|Woodworking]]&lt;br /&gt;
| [[:Category:Luthierie|Luthierie]]&lt;br /&gt;
| {{nowrap|2016-09-11}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Excellent documentary on hand-making a guitar from start to finish.  Not a tremendous amount of instruction, but excellent for inspiration and learning the basics of the process.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA NileRed&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Arts and Science|Arts and Science]]&lt;br /&gt;
| [[:Category:Chemistry]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Tons of videos on how to do interesting chemical reactions using a basic glass set and household products.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WikiGnomes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33332</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33332"/>
		<updated>2017-05-27T21:51:10Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 470Ω Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| 1kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 10kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 100kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 28C16 EEPROM&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;4&amp;quot; | Switches&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Double-Throw Toggle Switch&lt;br /&gt;
| 8mm, DPDT, Latching&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| Momentary Tactile Switch&lt;br /&gt;
| 6mm, Normally-Open&lt;br /&gt;
| Clock, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 8-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | 4-Position DIP Switch&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;5&amp;quot; | LEDs&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 41&lt;br /&gt;
| Red LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Bus, Register, ALU, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 20&lt;br /&gt;
| Yellow LED&lt;br /&gt;
| 3mm, 1.8-2.3V, 20mA&lt;br /&gt;
| Register, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 11&lt;br /&gt;
| Green LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Ram, Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 22&lt;br /&gt;
| Blue LED&lt;br /&gt;
| 3mm, 2.8-3.6v, 20mA&lt;br /&gt;
| Clock, Register, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 7-Segment Display&lt;br /&gt;
| Common-Cathode, 10-Pin, 2mm Pin Pitch&lt;br /&gt;
| Display&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33331</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33331"/>
		<updated>2017-05-27T21:38:29Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Category&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
! Type&lt;br /&gt;
! Modules Used&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Base&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;6&amp;quot; | Resistors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 470Ω Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 9&lt;br /&gt;
| 1kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 8&lt;br /&gt;
| 10kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 100kΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Bus&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Resistor&lt;br /&gt;
| ¼W, ±5% Tolerance&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1MΩ Potentiometer&lt;br /&gt;
| ½W&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;3&amp;quot; | Capacitors&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 0.01µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock, RAM, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 0.1µF Capacitor&lt;br /&gt;
| Ceramic, ±10% 50V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 1µF Capacitor&lt;br /&gt;
| Conformal Coated, ±10% 35V&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;17&amp;quot; | Integrated Circuits&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 555&lt;br /&gt;
| Timer&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS00&lt;br /&gt;
| Quad NAND Gate&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 5&lt;br /&gt;
| 74LS04&lt;br /&gt;
| Hex Inverter&lt;br /&gt;
| Clock, RAM, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS08&lt;br /&gt;
| Quad AND Gate&lt;br /&gt;
| Clock, Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS32&lt;br /&gt;
| Quad OR Gate&lt;br /&gt;
| Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS76&lt;br /&gt;
| Dual JK Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS86&lt;br /&gt;
| Quad XOR Gate&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS138&lt;br /&gt;
| 3-to-8 Line Decoder&lt;br /&gt;
| Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS139&lt;br /&gt;
| Dual 2-Line to 4-Line Decoder&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS157&lt;br /&gt;
| Quad 2-to-1 Line Data Selector&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 74LS161&lt;br /&gt;
| 4-bit Synchronous Binary Counter&lt;br /&gt;
| Program Counter, Controller&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 7&lt;br /&gt;
| 74LS173&lt;br /&gt;
| 4-bit D-Type Register&lt;br /&gt;
| Register, RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS189&lt;br /&gt;
| 64-bit Random Access Memory&lt;br /&gt;
| RAM&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 6&lt;br /&gt;
| 74LS245&lt;br /&gt;
| Octal Bus Transceiver&lt;br /&gt;
| Register, ALU, Ram, Program Counter&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| 74LS273&lt;br /&gt;
| Octal D Flip-Flop&lt;br /&gt;
| Display&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 2&lt;br /&gt;
| 74LS283&lt;br /&gt;
| 4-bit Binary Full Adder&lt;br /&gt;
| ALU&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4&lt;br /&gt;
| 28C16 EEPROM&lt;br /&gt;
| DIP-24 Package&lt;br /&gt;
| Display, Controller&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33330</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33330"/>
		<updated>2017-05-27T21:10:07Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Electronics Fundamentals Prep Session */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Prep Session: Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33329</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33329"/>
		<updated>2017-05-27T21:09:37Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Week 1 - Digital Electronics Fundamentals */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Electronics Fundamentals Prep Session ===&lt;br /&gt;
&lt;br /&gt;
Prior to getting into the course syllabus, an hour-long session will be hosted for anyone who is new to electronics.  Nothing needs to be purchased for this class, and there is no maximum for the number of people who may attend.  It is not required for someone interested in this prep class to be registered for the following 8-Bit CPU course - it is open to all members every time it is offered.&lt;br /&gt;
&lt;br /&gt;
This course is not required for members already experienced with electronics in order to be successful with the remaining courses in the class.&lt;br /&gt;
&lt;br /&gt;
==== Topics ====&lt;br /&gt;
&lt;br /&gt;
By way of introduction into digital electronics, the prep class will dive into certain fundamental knowledge that is necessary for work on any circuit.  The following topics will be covered:&lt;br /&gt;
&lt;br /&gt;
* Basic overview of common components and parts, where they are used, and how they work&lt;br /&gt;
* Basic overview of how circuits work (the [[Wikipedia:Hydraulic Analogy|Hydraulic Analogy]])&lt;br /&gt;
* [[Wikipedia:Alternating Current|Alternating-Current]] (AC) vs. [[Wikipedia:Direct Current|Direct-Current]] (DC)&lt;br /&gt;
* Different methods of powering circuits on a breadboard&lt;br /&gt;
* Building our first circuit - let there be light!&lt;br /&gt;
* [[Wikipedia:Kerckhoffs&#039;s principle|Kerckhoffs&#039;s Principle]] - AKA, how not to light your breadboard on fire&lt;br /&gt;
* Introduction to [[Wikipedia:Resistor|resistors]]&lt;br /&gt;
* Introduction to [[Wikipedia:Switch|switches]]&lt;br /&gt;
* The [[Wikipedia:Multimeter|multimeter]], measurement, and calculations&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[P]&amp;lt;/span&amp;gt; Power; [[Wikipedia:Watt|Watt]] (KW, W, mW)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[I]&amp;lt;/span&amp;gt; Amperage; [[Wikipedia:Ampere|Ampere]] or Amp (KA, A, mA, μA))&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[V]&amp;lt;/span&amp;gt; Voltage; [[Wikipedia:Volt|Volt]] (KV, V, mV, μV)&lt;br /&gt;
** &amp;lt;span style=&amp;quot;font-family: Courier New, Courier, fixed-width;&amp;quot;&amp;gt;[R]&amp;lt;/span&amp;gt; Resistance; [[Wikipedia:Ohm|Ohm]] (MΩ, KΩ, Ω)&lt;br /&gt;
* The Mystery Signal™ - learning how to debug a circuit&lt;br /&gt;
* Introduction to diodes and transistors&lt;br /&gt;
* Introduction to integrated circuits&lt;br /&gt;
&lt;br /&gt;
After the lesson, students will receive a [[File:Electronics_Cheat_Sheet.pdf|Electronics Cheat Sheet]] for their reference throughout the rest of the course.&lt;br /&gt;
&lt;br /&gt;
==== After the Class ====&lt;br /&gt;
&lt;br /&gt;
Office hours are held for up to an hour after the class concludes.  This is an open-forum time period in which questions can be asked and answered.  Optionally, students can also choose between these more-advanced topics, if they wish to learn more about the topics from the class&#039; discussion:&lt;br /&gt;
&lt;br /&gt;
* Ideal components vs. reality&lt;br /&gt;
* The physics behind how Diodes and Transistors work&lt;br /&gt;
* The wide, wide world of components, and choosing the right one for your circuit&lt;br /&gt;
* Different types of switches&lt;br /&gt;
* Different types of resistors&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33328</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33328"/>
		<updated>2017-05-27T20:29:19Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Recommended Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33327</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33327"/>
		<updated>2017-05-27T20:29:10Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Recommended Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33326</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33326"/>
		<updated>2017-05-27T20:28:34Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Wire Colors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Color Guide =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33325</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33325"/>
		<updated>2017-05-27T20:28:17Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced participants familiar with soldering, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33324</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33324"/>
		<updated>2017-05-27T20:27:44Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small style=&amp;quot;display: block; width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33323</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33323"/>
		<updated>2017-05-27T20:26:58Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Authorizations */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33322</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33322"/>
		<updated>2017-05-27T20:26:46Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33321</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33321"/>
		<updated>2017-05-27T20:25:15Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 1&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire Kit], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto; font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33320</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33320"/>
		<updated>2017-05-27T20:22:27Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  No components are &amp;quot;consumed&amp;quot; by this project, as long as it is built on a breadboard; so, if you so choose, you may reuse these components in future projects.  A bulk-purchase option is given to students at the beginning of each class, which serves to reduce costs.  The average cost, per-student, when bulk-purchasing all-new components is generally about $TBD.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33319</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33319"/>
		<updated>2017-05-27T20:04:26Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  These are not listed in order of use, as we will move and switch around parts in various phases of the coursework.  At the time of this writing, the total cost of components was about $100, including shipping.  Note that the selection of parts in this list are intended to reusable in other projects, if you so choose, and nothing will be dedicated only to this product:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Estimated Cost (Total)&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $39.00&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33318</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33318"/>
		<updated>2017-05-27T20:04:12Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Components */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  These are not listed in order of use, as we will move and switch around parts in various phases of the coursework.  At the time of this writing, the total cost of components was about $100, including shipping.  Note that the selection of parts in this list are intended to reusable in other projects, if you so choose, and nothing will be dedicated only to this product:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Estimated Cost (Total)&lt;br /&gt;
! Component&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; |  14&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $39.00&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money (about $30 in savings).  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33317</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33317"/>
		<updated>2017-05-27T20:01:08Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Recommended Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  These are not listed in order of use, as we will move and switch around parts in various phases of the coursework.  At the time of this writing, the total cost of components was about $100, including shipping.  Note that the selection of parts in this list are intended to reusable in other projects, if you so choose, and nothing will be dedicated only to this product:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money.  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 75%; min-width: 350px; margin: 25px auto;&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
| [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
| Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | TOTAL&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33316</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33316"/>
		<updated>2017-05-27T19:59:38Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Recommended Tools */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  These are not listed in order of use, as we will move and switch around parts in various phases of the coursework.  At the time of this writing, the total cost of components was about $100, including shipping.  Note that the selection of parts in this list are intended to reusable in other projects, if you so choose, and nothing will be dedicated only to this product:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money.  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
! Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right; font-variant: small-caps;&amp;quot; | Total&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33315</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33315"/>
		<updated>2017-05-27T19:59:27Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Materials */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 350px; margin: 25px auto; padding: 15px; border: 2px solid #cc0; border-radius: 20px; background: #ffc;&amp;quot;&lt;br /&gt;
! Notice&lt;br /&gt;
|-&lt;br /&gt;
| This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Consumables ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 1 Kit&lt;br /&gt;
| [http://amzn.to/2qqAGFi 22AWG Solid Wire], Various Colors (see below)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== Wire Colors =====&lt;br /&gt;
&lt;br /&gt;
Wire colors are used for the following, so please ensure any kit you buy contains enough of each.  Wire may be available in the Electronics Lab, but gauge and color cannot be guaranteed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; cellpadding=&amp;quot;5&amp;quot; style=&amp;quot;font-family: courier new, courier, fixed-width;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: #f00; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Red&lt;br /&gt;
| Power, Positive&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #000; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Black&lt;br /&gt;
| Power, Ground&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #fff; text-align: right; border-right: 1px solid #ccc;&amp;quot; | White&lt;br /&gt;
| Signal, Clock&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #ff0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Yellow&lt;br /&gt;
| Signal, Control Logic&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #00f; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Blue&lt;br /&gt;
| Signal, Module-to-Bus&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: #0f0; text-align: right; border-right: 1px solid #ccc;&amp;quot; | Green&lt;br /&gt;
| Signal, Other (IC-to-IC, Module-to-Module, etc)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Components ====&lt;br /&gt;
&lt;br /&gt;
The following components are required to build the CPU project.  These are not listed in order of use, as we will move and switch around parts in various phases of the coursework.  At the time of this writing, the total cost of components was about $100, including shipping.  Note that the selection of parts in this list are intended to reusable in other projects, if you so choose, and nothing will be dedicated only to this product:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Quantity&lt;br /&gt;
! Item&lt;br /&gt;
|-&lt;br /&gt;
| 14&lt;br /&gt;
| [http://amzn.to/2s1DxWp Full-Sized (830-Point) Breadboards]&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;lt;i&amp;gt;&amp;lt;sup&amp;gt;&amp;amp;dagger;&amp;lt;/sup&amp;gt; For advanced students, [http://amzn.to/2s1W7xR StripBoard] can be used instead to save space and money.  Do note, however, that soldering and organization of these boards will not be covered in the class, and if chosen by the student, will need to be managed themselves.  Using such boards can also make debugging and modification significantly more time-consuming and difficult.  If using StripBoard, ensure that the board&#039;s [[Wikipedia:List of integrated circuit packaging types#Dimension_reference|pin pitch]] is the standard breadboard size of 0.1&amp;quot; (2.54mm).&amp;lt;/i&amp;gt;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Recommended Tools ====&lt;br /&gt;
&lt;br /&gt;
Most of these tools are available in the space.  However, we will need to share them within the group, as well as with others who may be working in the space at the time.  Especially in the case of hand tools and multimeters, you may wish to provide your own.  Given the simplicity of this project, neither high-end nor high-precision tools are required for this project.&lt;br /&gt;
&lt;br /&gt;
Unless specifically marked, it is recommend that you get your own tools for this project to keep pace with the rest of the class:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! Tool&lt;br /&gt;
! Estimated Cost&lt;br /&gt;
! Details&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2qqmKLM Flush Diagonal Cutters]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; | $8.00&lt;br /&gt;
| Used to cut wire and trim pins flush to a surface.  Very useful for any electronics project.&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2qqja3Z Self-Adjusting Wire Strippers]&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $16.00&lt;br /&gt;
| Used to trim the ends of wire sheathing (which we do a lot).  [http://amzn.to/2ra2JMF Simpler strippers] exist, if you wish to save money.&lt;br /&gt;
|-&lt;br /&gt;
! [http://amzn.to/2s21hKk Multimeter] &amp;lt;br/&amp;gt;&amp;lt;small style=&amp;quot;white-space: nowrap;&amp;quot;&amp;gt;with Standard &#039;&#039;and&#039;&#039; Alligator-Clip Probes&amp;lt;/small&amp;gt;&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  $20.00&lt;br /&gt;
| Used to measure voltages, amperage, continuity, and generally debug problem circuits.  Given the basic nature of this project, a high-precision multimeter is &amp;lt;i&amp;gt;not&amp;lt;/i&amp;gt; necessary&lt;br /&gt;
|-&lt;br /&gt;
! Oscilloscope&lt;br /&gt;
| style=&amp;quot;text-align: right;&amp;quot; |  -&lt;br /&gt;
| Used to debug and optimize circuits.  We will use the Oscilloscopes in the Electronics Lab.&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right; font-variant: small-caps;&amp;quot; | Total&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | $44.00&lt;br /&gt;
! style=&amp;quot;text-align: left; font-size: 8pt; font-weight: normal;&amp;quot; | &#039;&#039;Note that these prices are not included in the overall estimate above, as all of this equipment is available, free-to-use, in the lab.  This list is purely for your convenience.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* Wire Cutters&lt;br /&gt;
* Multimeter with Breadboard-Friendly Probes&lt;br /&gt;
* Oscilloscope (see [[#Authorizations|Authorizations]] for this project)&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33314</id>
		<title>Classes/Building an 8-Bit CPU from Scratch</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Classes/Building_an_8-Bit_CPU_from_Scratch&amp;diff=33314"/>
		<updated>2017-05-27T18:40:01Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: Created page with &amp;quot;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}} {{Tutorial | name=8-Bit CPU Using Logic Gates | creator = U...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top: -9999px;&amp;quot;&amp;gt;Classes/&amp;lt;/span&amp;gt;Building an 8-Bit CPU from Scratch}}&lt;br /&gt;
{{Tutorial&lt;br /&gt;
| name=8-Bit CPU Using Logic Gates&lt;br /&gt;
| creator = [[User:Andrewvaughan|Andrew Vaughan]]&lt;br /&gt;
| date = May 27, 2017&lt;br /&gt;
| est_time = 16 Weeks&lt;br /&gt;
| est_cost = $40&lt;br /&gt;
| in_development = Yes&lt;br /&gt;
| is_project = Yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
In this class, taught by [[User:andrewvaughan|Andrew Vaughan]], you will learn how to build a functional (albeit, simple) 8-Bit CPU from scratch using breadboards and [[Wikipedia:Transistor-transistor logic|TTL Integrated Circuits]].  No prior electronics experience is required in the class, as the basics are covered in the first lesson.  At the end of the course, you will have built a fully-functional, modular CPU, as well as your own personalized [[Wikipedia:Assembly language|Assembly language]], that you can extend indefinitely to create more extensive functionality.&lt;br /&gt;
&lt;br /&gt;
Office hours are held before and after each class.  The office hours prior to the class (timing of which will be announced with each class) are intended for members who have missed classes and need to catch up on modules for the upcoming lesson.  Office hours after each class will provide a list of advanced topics from the lesson plan, which will only be covered if interest is shown.  This time is also available to assist with debugging problems in circuits.&lt;br /&gt;
&lt;br /&gt;
== Time and Location ==&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Instructor:&lt;br /&gt;
| [[User:andrewvaughan|Andrew Vaughan]] (Contact information available on user page)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Where:&lt;br /&gt;
| [[Main Page|Pumping Station: One]] [[Facilities#Electronics.2FMechatronics_Lab|Electronics Lab]] (2nd Floor)&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | When:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Office Hours:&lt;br /&gt;
| TBD&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Minimum Class Size:&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-align: right;&amp;quot; | Maximum Class Size:&lt;br /&gt;
| 8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Prerequisites ==&lt;br /&gt;
&lt;br /&gt;
There are minimal prerequisites to attend this class.  No prior experience in electronics is needed, nor any experience with soldering or computers.  It is important that novices to these are attend the first classes and to make use of office hours to ask questions before continuing into more advanced topics.&lt;br /&gt;
&lt;br /&gt;
=== Materials ===&lt;br /&gt;
&lt;br /&gt;
Components and tools will be made available for persons who wish to learn, but do not wish to keep their project after class completion.  If parts are borrowed from the electronics space, it is asked that a donation be made, at your discretion, to the [[:Category:Electronics|Electronics Lab]] area host.  Note that you will be required to return all components used for the class after the course is completed.  Persons borrowing equipment will be required to pair with others doing the same, if enough persons are available.&lt;br /&gt;
&lt;br /&gt;
If you, however, wish to keep your project, or want to extend it further after the course is complete (both highly recommended), the following will need to be purchased:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Authorizations ===&lt;br /&gt;
&lt;br /&gt;
Please read the rules and responsibilities in the [[:Category:Electronics#Area_Rules|Electronics Area]] prior to attending.  Along with these rules, the following authorizations must be completed to be eligible for this course:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Syllabus ==&lt;br /&gt;
&lt;br /&gt;
Classes are held weekly, and build on top of each other.  It is important that all classes are attended, or completing the CPU will be very difficult.  Office hours are made available prior to every class to allow persons who miss classes to catch up prior to starting a new lesson.&lt;br /&gt;
&lt;br /&gt;
=== Week 1 - Digital Electronics Fundamentals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 2 - Implementing Logic with Transistors ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 3 - The CPU Clock Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 4 - The 8-Bit Register Modules ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 5 - Designing an ALU ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 6 - The ALU Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 7 - The RAM Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 8 - Building a Binary Counter ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 9 - The Program Counter Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 10 - Designing for 7-Segment Displays ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 11 - Introduction to EEPROM ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Week 12 - The Display Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 13 - Connecting the Modules with a Bus ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 14 - Designing Control Signals ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Week 15 - Control Logic Module ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; margin: 25px auto; padding: 25px; border: 2px solid #cc0; border-radius: 20px; background: #ffc; font-size: 16px;&amp;quot;&lt;br /&gt;
| &#039;&#039;&#039;Note:&#039;&#039;&#039; This section is still under development.  Please check back later for more information.&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Completion ==&lt;br /&gt;
&lt;br /&gt;
Upon completion, each member of the class will have a modularized, extendable CPU.  The CPU can be programmed using an Arduino Programmer, which can be borrowed during the class, or built in one of the after-hours office-hours.  Here are some examples what can be done to extend and modify the basic circuitry:&lt;br /&gt;
&lt;br /&gt;
* Create additional circuitry to support more-advanced instructions&lt;br /&gt;
* Add more capabilities to the ALU to enable more-powerful processing&lt;br /&gt;
* Transition 7400-series integrated circuits to more-advanced functionality to reduce circuit complexity&lt;br /&gt;
* Extend the processing capability to 16- or even 32-bit processing&lt;br /&gt;
* Add additional input and output capabilities to the system (e.g., serial controllers, USB, disks, multi-line LCDs, etc...)&lt;br /&gt;
&lt;br /&gt;
[[Category:Classes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33313</id>
		<title>User:Andrewvaughan</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33313"/>
		<updated>2017-05-27T18:38:27Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: /* Resources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top:-9999px;&amp;quot;&amp;gt;User:&amp;lt;/span&amp;gt;Andrew&amp;lt;span style=&amp;quot;text-transform: uppercase; margin-left: 0.15em;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;aughan}}&lt;br /&gt;
{| style=&amp;quot;width: 100%; background: #f8f9fa; border-bottom: 1px solid #222; margin: -16px 0 15px 0; text-align: center; vertical-align: middle; height: 75px;&amp;quot;&lt;br /&gt;
| [https://andrewvaughan.io https://img.shields.io/badge/blog-andrewvaughan.io-brightgreen.png]&lt;br /&gt;
| [https://twitter.com/andrewvaughan https://img.shields.io/badge/twitter-andrewvaughan-green.png]&lt;br /&gt;
| [https://www.linkedin.com/in/andrewjvaughan/ https://img.shields.io/badge/linkedin-andrewjvaughan-yellow.png]&lt;br /&gt;
| [https://github.com/andrewvaughan https://img.shields.io/badge/github-andrewvaughan-orange.png]&lt;br /&gt;
| [http://www.thingiverse.com/wspnut/about https://img.shields.io/badge/thingiverse-wspnut-red.png]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin: 7px 15px 15px 0;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Member&lt;br /&gt;
| image             = AndrewVaughan.png&lt;br /&gt;
| membername        = Andrew Vaughan&lt;br /&gt;
| memberaliases     = wspnut, uggakanukka2000&lt;br /&gt;
| membersince       = April 18, 2017&lt;br /&gt;
| membertype        = Full&lt;br /&gt;
| memberphone       = [tel:+1-312-476-9966 312-476-9966]&lt;br /&gt;
| memberemail       = [mailto:hello@andrewvaughan.io hello@andrewvaughan.io]&lt;br /&gt;
| memberirc         = andrewvaughan&lt;br /&gt;
| memberother       = [https://twitter.com/andrewvaughan @andrewvaughan]&lt;br /&gt;
| membercertifiedon = [[User:andrewvaughan#Equipment_Authorizations|See All Authorizations]]&lt;br /&gt;
}}&lt;br /&gt;
[[User:andrewvaughan|Andrew Vaughan]] (joined April 18th, 2017) is a full member of [[Main_Page|Pumping Station:One]].  Professionally, he acts as Chief Product Officer for Hyatt Hotels, helping build policies and procedures to drive innovative customer experiences.  When not at work, Andrew spends time with his girlfriend, two dogs, and cat.  In his spare time, he develops software and rotates through numerous hobbies.  The often large-scale nature of his initiatives is what ultimately lead him to Pumping Station: One.&lt;br /&gt;
&lt;br /&gt;
Andrew&#039;s hobbies and passions rotate regularly, including [[:Category:Electronics|Electronics]], [[:Category:Carpentry|Carpentry]], [[:Category:Programming|Programming]], [[:Category:CAD|CAD]], [[Luthierie]], [[Pipe Making]], [[Soap Making]], [[:Category:Brewing|Brewing]] and many more.  Andrew is a Level 2 Certified Sommelier through the [https://www.wsetglobal.com/ Wine Spirit and Education Trust] of England.&lt;br /&gt;
&lt;br /&gt;
Although sporadically maintained, Andrew&#039;s [https://andrewvaughan.io personal blog] contains detail and insight into many of the initiatives he undertakes.  He also maintains public and active [[#Active_Projects|project]] and [[/todo|task]] lists on this wiki in an effort to empower others to reference his work.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Andrew can be reached through Pumping Station: One&#039;s [[Contact Points#Email Lists|public and private mailing lists]], via the [[IRC|Pumping Station: One IRC channel]] (user &amp;lt;code&amp;gt;andrewvaughan&amp;lt;/code&amp;gt;), or through one of his Social Media networks, such as [https://twitter.com/andrewvaughan Twitter] or [https://linkedin.com/in/andrewjvaughan LinkedIn].  For urgent situations, Andrew can be contacted directly by [mailto:hello@andrewvaughan.io emailing him] or by calling or texting [tel:+1-312-476-9966 his cellphone].&lt;br /&gt;
&lt;br /&gt;
=== Wiki Help ===&lt;br /&gt;
&lt;br /&gt;
Andrew takes point in building and maintaining many aspects of the [[Main Page|Pumping Station: One Wiki]].  If you would like support in building out templates, functionality, or need general help with editing or contributing to the wiki, please feel free to reach out to Andrew using the contact information above.&lt;br /&gt;
&lt;br /&gt;
If your questions concern general wiki usage, please read the [https://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], the [https://www.mediawiki.org/wiki/Help:Editing MediaWiki Editing Guide], and [https://www.mediawiki.org/wiki/Category:Help MediaWiki&#039;s General Help] category before asking.  It&#039;s highly likely that your question has already been answered, and [[RTFM]] goes a long way.  If, after following these steps, your question persists, your best bet at getting a quick answer would be to make a post on the internal [[Contact Points#Email Lists|PS:1 Google group]].&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Andrew teaches [[:Category:Classes|classes]] at Pumping Station: One on various topics.  The following classes are currently active in the shop.  More information can be found on their individual wiki pages:&lt;br /&gt;
&lt;br /&gt;
* [[Classes/Building an 8-Bit CPU from Scratch|Building an 8-Bit CPU from Scratch]]&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
Andrew generally has a significant number of projects in various phases of completion at any given time.  These projects are listed as &#039;&#039;&#039;Active&#039;&#039;&#039;, in-which they are currently underway, &#039;&#039;&#039;Completed&#039;&#039;&#039;, wherein no further work is planned for an initiative, or &#039;&#039;&#039;Archived&#039;&#039;&#039;, where the project has been placed on pause indefinitely (unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
The following projects are in various stages of active development, whether they be in &amp;lt;u&amp;gt;Inception&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Planning&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Design&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;, or &amp;lt;u&amp;gt;Finishing&amp;lt;/u&amp;gt;.  Occasionally, active projects will have a final &amp;lt;u&amp;gt;Packaging&amp;lt;/u&amp;gt; step, if they are being sold or distributed.&lt;br /&gt;
&lt;br /&gt;
Along with these status, a qualifier of &#039;&#039;Ongoing&#039;&#039; represents that there is no foreseeable end to the project, and that iterative development will continue indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Inception ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Boeing 737-800 Flight Simulator Enclosure|Boeing 737-800 Flight Simulator Enclosure]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fully-functional, to-scale model of a Boeing 737-800 flight cockpit, with functional toggles, switches, and gauges, processed through shared USB signaling devices and compatible with [http://store.steampowered.com/app/314160/ Microsoft Flight Simulator X], [http://www.x-plane.com/ X-Plane 11], and Lockheed Martin [http://www.prepar3d.com/ Prepar3d] v3.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Programmable Entry to PS:1|Programmable Entry to PS:1]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: Rebuild the locking mechanism for Pumping Station: One to be programmable, so that buzzer entry can be scheduled, and RFID entry can be used the remainder of the time.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Damascus Steel Hunting Knife|Damascus Steel Hunting Knife]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Hot Metals&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A forged and hand-carved hunting knife, with [[Wikipedia:Damascus Steel|Damascus Steel]] as an introduction to forging.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Soprano Ukulele|Soprano Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: An effort to build the moulds, jigs, and other systems to empower easily-repeatable builds of high-quality, hand-made Ukuleles.  Soprano Ukulele&#039;s being the smallest of the Ukulele set (with some exceptions), can be one of the most challenging [[Luthierie]] projects given the preciseness needed for the build coupled with the small footprint of the design.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Dockerized Gary&#039;s Mod Server|Dockerized Gary&#039;s Mod Server]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: Building on the [[User:Andrewvaughan/Dockerized Steam Server|Dockerized Steam Server]] project, this open-source library provides a push-button mechanism to launch a [http://www.garrysmod.com/ Garry&#039;s Mod] server for use with the game [https://steamcommunity.com/sharedfiles/filedetails/?id=135509255 Prop Hunt].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Tenor Ukulele|Tenor Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Similar to the Soprano Ukulele project, but with moulds, jigs, and systems to build Tenor ukuleles.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Briarwood Smoking Pipe|Briarwood Smoking Pipe]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Using only hand-tools (with the exception of preliminary block cut of the wood), Andrew aims to carve a functional smoking pipe from briarwood.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/8-Bit CPU|8-Bit CPU]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A build of an entirely-functional 8-bit CPU, using a custom developed architecture and instruction set, using only TLS and CMOS chips.  The CPU is designed to be modular and expandable, so that further instructions and capabilities can be added in the future.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/MiniNES|MiniNES]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A [[Raspberry Pi]] project with a 3D-printed NES enclosure to support a custom version of the [https://retropie.org.uk/ RetroPie] project.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bath Bombs|Bath Bombs]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A series of methods and formulary to create effervescent bath bombs with multiple combinations of oils, clays, and salts.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Cat Tree|Cat Tree]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A simple cat tree for use at home, complete with three levels, hooks for hanging toys, a removable ladder, and an enclosed house on the second floor.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bread|Bread Baking]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A number of hand-made bread recipes.  No bread machines here!&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/LillyOS|LillyOS]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: A custom-built boot loader, file system, and operating system intended for use in high-security, low-detection file transfer.  LillyOS is encrypted at time of cross-compilation with a private key that is used to load the operating and file systems into memory at load.  Therefore, without the correct seed, invalid instruction sets will be processed by the host computer, instead of simply encrypting just the files on the operating system itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Brewing|Beer Brewing]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: Recipes and techniques for making tasty, tasty [[Beer]].&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Completed ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/SNES-in-a-Controller|SNES-in-a-Controller]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(April 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: Originally a challenge as a [[30-Minute Build]], the SNES-in-a-Controller uses a [[Raspberry Pi]] Zero, an integrated lithium-ion charging circuit, battery, and USB SNES controller to provide a portable, HDMI-compatible RetroPie emulator.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/10-Seat Racetrack Poker Table|10-Seat Racetrack Poker Table]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(June 2010)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: A 10-seat poker table in a racetrack design with arm padding, polished wood track, speedfelt center, and closed-cell foam to prevent spill rot.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://github.com/andrewvaughan/docker-steamcmd Docker-Supported Steam Server]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(February 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source Docker project that provides push-button launching of any dedicated [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List Steam server].  Supports all current versions of Ubuntu as a base image for the virtual machine, and is available in the formal [https://hub.docker.com/r/andrewvaughan/steamcmd/ Docker Hub].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://andrewvaughan.io/raspbian-i-love-you-but-youre-fat/ RaspberryPi Reduced-Image Tool]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(May 2016)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source tool to help users reduce the bloatware included with the formal [https://www.raspberrypi.org/downloads/raspbian/ Raspbian] image provided by the [https://www.raspberrypi.org/ Raspberry Pi Foundation], as well as to help new users understand the purpose and footprint with pre-included packages.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Equipment Authorizations =&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=47%}}&lt;br /&gt;
&lt;br /&gt;
=== Current Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: center; width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Equipment&lt;br /&gt;
! Area&lt;br /&gt;
! Authorizer&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! [[Forge]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hypertherm Powermax 45 Plasma Cutter]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[AcmeAnvil]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Millermatic 252]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Miller Dynasty 280DX]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 3200HD]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 125HD WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 100 WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[DeWalt Chop Saw]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bench Grinder (6in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hot Metals Belt Sander]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Ryobi 6&amp;quot; grinder|Ryobi 6&amp;quot; Grinder]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Angle Grinder (4.5in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Epilog 30w Mini 24 Laser Engraver]]&lt;br /&gt;
| [[:Category:CNC|CNC]]&lt;br /&gt;
| [[User:Daddybird|Burton Kent]]&lt;br /&gt;
| May 3, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Laguna 16&amp;quot; Planer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bosch Sliding Compound Miter Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Rockwell Delta 20&amp;quot; Bandsaw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Delta Drill Press (12in)|Delta 12&amp;quot; Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Craftsman 20in Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Grizzly 6&amp;quot; jointer|Grizzly 6&amp;quot; Jointer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Sears Scroll Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Belt Sander|Belt and Disk Sander]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Excalibur Router Table]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[SawStop table saw|SawStop Table Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=47%|gap=6%}}&lt;br /&gt;
&lt;br /&gt;
=== Pending Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Area&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Priority&lt;br /&gt;
! Equipment&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Drum Sander&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Equipment unavailable. Passed vote on [[Vote to purchase drum surface sander|April 18th, 2017]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Ridgid Oscillating Spindle Sander]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | May be irrelevant due to [[Oscillating Drum Sander]], which does not require authorization.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4- Low&lt;br /&gt;
| [[Jet Wood Lathe]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Wish to learn Lathe techniques (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vacuum table|Vacuum Table]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interest in learning techniques.  May wish to vacuum form with later projects (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Hitachi M12V Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R161 Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R181FB Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;11&amp;quot; | [[:Category:CNC|CNC]]&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Prusa i3 3D printer|Prusa i3 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Z-Builder Ultra 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Does not seem to be functioning.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Shapeoko Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Functionality replaced by ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[ShapeOko2 CNC Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Seems to have been largely replaced by the ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[Shopbot PRS CNC router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to create jigs and moulds for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[HP DesignJet T520 Large Format Color Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to print large-format templates and designs for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Lulzbot Taz3]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[BOSS LS-3655 150w Laser Engraver]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Currently not offering authorizations (new laser cutter).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vinyl Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[CNC Plasma Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Cricut Die Cutting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Arts|Arts]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer 20U Industrial Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Sears Kenmore Model 158.18130 Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[J.C.Penney Free Arm Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer Serger 14T948DS]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother 230 knitting machine|Brother 230 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother KH-930 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Evenheat 810 Kiln]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Currently blocking progress on primary project(s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| Blocking progress on upcoming progress&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| Will likely block progress on near-future progress&lt;br /&gt;
|-&lt;br /&gt;
| 4 - Low&lt;br /&gt;
| Current interest in learning machine or techniques&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| May have interest in learning machine or techniques in future, or may have alternative solution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Areas of Expertise =&lt;br /&gt;
&lt;br /&gt;
Andrew has proficiency in a number of skills.  If you would like advice or assistance in any of these areas, please do not hesitate to reach out.  In terms of ratings:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=19%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inexperienced&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
☆ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Little-to-no hands on experience.  Interest has been expressed, but experience has not been sought.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novice&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Experienced with basic topics and common knowledge of the subject matter expert.  May result from self-training.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amateur&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Comfortable with most of scope; well-experienced with highly-common tasks.  Able to teach others basic areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intermediate&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ☆&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Highly experienced, including most edge-cases. Able to teach others in nearly all areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=19%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ★&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Advanced experience with subject matter. Learning is replaced with research.  Seeking mentorship becomes difficult or impossible.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Arts and Science&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Beer [[Brewing]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Photography]] (Nikon)&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bread Baking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Cooking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Wine&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | General [[Chemistry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Soap Making]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Modeling]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Silkscreening]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Animation]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bracelet Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Crochet]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Earring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Knitting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Necklace Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Paper Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Ring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;CNC and 3D Printing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CAD]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[3D Printing]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CNC]] Routing&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Laser Cutting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Plastic Injection Moulding]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Electronics&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Microcontrollers]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Digital [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Analog [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Metallurgy&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Sharpening&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;| MIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Plasma Cutting&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | TIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Tool Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Software Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[DevOps]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[HTML/CSS]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Javascript]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Node.js]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[PHP]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Bash]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Java]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Python]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Assembly]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[C++]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Game Theory]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Unity]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Woodworking&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | General [[Carpentry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Luthierie]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Pipe Making]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Wood]] Identification&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Furniture Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Wood [[Inlays]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Flight Simulation]]&lt;br /&gt;
! ★ ★ ★ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
The following resources are some of Andrew&#039;s preferred sources of information regarding projects, best practices, and safety:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Resource&lt;br /&gt;
! Category&lt;br /&gt;
! Sub-Category&lt;br /&gt;
! Date&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;1:00:00&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/watch?v=sAeXskZHC2o Making a Guitar - Handcrafted Woodworking (Greenfield Guitars)]&lt;br /&gt;
| [[:Category:Woodworking|Woodworking]]&lt;br /&gt;
| [[:Category:Luthierie|Luthierie]]&lt;br /&gt;
| {{nowrap|2016-09-11}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Excellent documentary on hand-making a guitar from start to finish.  Not a tremendous amount of instruction, but excellent for inspiration and learning the basics of the process.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA NileRed&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Arts and Science|Arts and Science]]&lt;br /&gt;
| [[:Category:Chemistry]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Tons of videos on how to do interesting chemical reactions using a basic glass set and household products.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WikiGnomes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33312</id>
		<title>User:Andrewvaughan</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33312"/>
		<updated>2017-05-27T17:55:43Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top:-9999px;&amp;quot;&amp;gt;User:&amp;lt;/span&amp;gt;Andrew&amp;lt;span style=&amp;quot;text-transform: uppercase; margin-left: 0.15em;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;aughan}}&lt;br /&gt;
{| style=&amp;quot;width: 100%; background: #f8f9fa; border-bottom: 1px solid #222; margin: -16px 0 15px 0; text-align: center; vertical-align: middle; height: 75px;&amp;quot;&lt;br /&gt;
| [https://andrewvaughan.io https://img.shields.io/badge/blog-andrewvaughan.io-brightgreen.png]&lt;br /&gt;
| [https://twitter.com/andrewvaughan https://img.shields.io/badge/twitter-andrewvaughan-green.png]&lt;br /&gt;
| [https://www.linkedin.com/in/andrewjvaughan/ https://img.shields.io/badge/linkedin-andrewjvaughan-yellow.png]&lt;br /&gt;
| [https://github.com/andrewvaughan https://img.shields.io/badge/github-andrewvaughan-orange.png]&lt;br /&gt;
| [http://www.thingiverse.com/wspnut/about https://img.shields.io/badge/thingiverse-wspnut-red.png]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin: 7px 15px 15px 0;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Member&lt;br /&gt;
| image             = AndrewVaughan.png&lt;br /&gt;
| membername        = Andrew Vaughan&lt;br /&gt;
| memberaliases     = wspnut, uggakanukka2000&lt;br /&gt;
| membersince       = April 18, 2017&lt;br /&gt;
| membertype        = Full&lt;br /&gt;
| memberphone       = [tel:+1-312-476-9966 312-476-9966]&lt;br /&gt;
| memberemail       = [mailto:hello@andrewvaughan.io hello@andrewvaughan.io]&lt;br /&gt;
| memberirc         = andrewvaughan&lt;br /&gt;
| memberother       = [https://twitter.com/andrewvaughan @andrewvaughan]&lt;br /&gt;
| membercertifiedon = [[User:andrewvaughan#Equipment_Authorizations|See All Authorizations]]&lt;br /&gt;
}}&lt;br /&gt;
[[User:andrewvaughan|Andrew Vaughan]] (joined April 18th, 2017) is a full member of [[Main_Page|Pumping Station:One]].  Professionally, he acts as Chief Product Officer for Hyatt Hotels, helping build policies and procedures to drive innovative customer experiences.  When not at work, Andrew spends time with his girlfriend, two dogs, and cat.  In his spare time, he develops software and rotates through numerous hobbies.  The often large-scale nature of his initiatives is what ultimately lead him to Pumping Station: One.&lt;br /&gt;
&lt;br /&gt;
Andrew&#039;s hobbies and passions rotate regularly, including [[:Category:Electronics|Electronics]], [[:Category:Carpentry|Carpentry]], [[:Category:Programming|Programming]], [[:Category:CAD|CAD]], [[Luthierie]], [[Pipe Making]], [[Soap Making]], [[:Category:Brewing|Brewing]] and many more.  Andrew is a Level 2 Certified Sommelier through the [https://www.wsetglobal.com/ Wine Spirit and Education Trust] of England.&lt;br /&gt;
&lt;br /&gt;
Although sporadically maintained, Andrew&#039;s [https://andrewvaughan.io personal blog] contains detail and insight into many of the initiatives he undertakes.  He also maintains public and active [[#Active_Projects|project]] and [[/todo|task]] lists on this wiki in an effort to empower others to reference his work.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Andrew can be reached through Pumping Station: One&#039;s [[Contact Points#Email Lists|public and private mailing lists]], via the [[IRC|Pumping Station: One IRC channel]] (user &amp;lt;code&amp;gt;andrewvaughan&amp;lt;/code&amp;gt;), or through one of his Social Media networks, such as [https://twitter.com/andrewvaughan Twitter] or [https://linkedin.com/in/andrewjvaughan LinkedIn].  For urgent situations, Andrew can be contacted directly by [mailto:hello@andrewvaughan.io emailing him] or by calling or texting [tel:+1-312-476-9966 his cellphone].&lt;br /&gt;
&lt;br /&gt;
=== Wiki Help ===&lt;br /&gt;
&lt;br /&gt;
Andrew takes point in building and maintaining many aspects of the [[Main Page|Pumping Station: One Wiki]].  If you would like support in building out templates, functionality, or need general help with editing or contributing to the wiki, please feel free to reach out to Andrew using the contact information above.&lt;br /&gt;
&lt;br /&gt;
If your questions concern general wiki usage, please read the [https://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], the [https://www.mediawiki.org/wiki/Help:Editing MediaWiki Editing Guide], and [https://www.mediawiki.org/wiki/Category:Help MediaWiki&#039;s General Help] category before asking.  It&#039;s highly likely that your question has already been answered, and [[RTFM]] goes a long way.  If, after following these steps, your question persists, your best bet at getting a quick answer would be to make a post on the internal [[Contact Points#Email Lists|PS:1 Google group]].&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Andrew teaches [[:Category:Classes|classes]] at Pumping Station: One on various topics.  The following classes are currently active in the shop.  More information can be found on their individual wiki pages:&lt;br /&gt;
&lt;br /&gt;
* [[Classes/Building an 8-Bit CPU from Scratch|Building an 8-Bit CPU from Scratch]]&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
Andrew generally has a significant number of projects in various phases of completion at any given time.  These projects are listed as &#039;&#039;&#039;Active&#039;&#039;&#039;, in-which they are currently underway, &#039;&#039;&#039;Completed&#039;&#039;&#039;, wherein no further work is planned for an initiative, or &#039;&#039;&#039;Archived&#039;&#039;&#039;, where the project has been placed on pause indefinitely (unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
The following projects are in various stages of active development, whether they be in &amp;lt;u&amp;gt;Inception&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Planning&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Design&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;, or &amp;lt;u&amp;gt;Finishing&amp;lt;/u&amp;gt;.  Occasionally, active projects will have a final &amp;lt;u&amp;gt;Packaging&amp;lt;/u&amp;gt; step, if they are being sold or distributed.&lt;br /&gt;
&lt;br /&gt;
Along with these status, a qualifier of &#039;&#039;Ongoing&#039;&#039; represents that there is no foreseeable end to the project, and that iterative development will continue indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Inception ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Boeing 737-800 Flight Simulator Enclosure|Boeing 737-800 Flight Simulator Enclosure]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fully-functional, to-scale model of a Boeing 737-800 flight cockpit, with functional toggles, switches, and gauges, processed through shared USB signaling devices and compatible with [http://store.steampowered.com/app/314160/ Microsoft Flight Simulator X], [http://www.x-plane.com/ X-Plane 11], and Lockheed Martin [http://www.prepar3d.com/ Prepar3d] v3.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Programmable Entry to PS:1|Programmable Entry to PS:1]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: Rebuild the locking mechanism for Pumping Station: One to be programmable, so that buzzer entry can be scheduled, and RFID entry can be used the remainder of the time.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Damascus Steel Hunting Knife|Damascus Steel Hunting Knife]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Hot Metals&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A forged and hand-carved hunting knife, with [[Wikipedia:Damascus Steel|Damascus Steel]] as an introduction to forging.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Soprano Ukulele|Soprano Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: An effort to build the moulds, jigs, and other systems to empower easily-repeatable builds of high-quality, hand-made Ukuleles.  Soprano Ukulele&#039;s being the smallest of the Ukulele set (with some exceptions), can be one of the most challenging [[Luthierie]] projects given the preciseness needed for the build coupled with the small footprint of the design.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Dockerized Gary&#039;s Mod Server|Dockerized Gary&#039;s Mod Server]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: Building on the [[User:Andrewvaughan/Dockerized Steam Server|Dockerized Steam Server]] project, this open-source library provides a push-button mechanism to launch a [http://www.garrysmod.com/ Garry&#039;s Mod] server for use with the game [https://steamcommunity.com/sharedfiles/filedetails/?id=135509255 Prop Hunt].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Tenor Ukulele|Tenor Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Similar to the Soprano Ukulele project, but with moulds, jigs, and systems to build Tenor ukuleles.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Briarwood Smoking Pipe|Briarwood Smoking Pipe]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Using only hand-tools (with the exception of preliminary block cut of the wood), Andrew aims to carve a functional smoking pipe from briarwood.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/8-Bit CPU|8-Bit CPU]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A build of an entirely-functional 8-bit CPU, using a custom developed architecture and instruction set, using only TLS and CMOS chips.  The CPU is designed to be modular and expandable, so that further instructions and capabilities can be added in the future.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/MiniNES|MiniNES]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A [[Raspberry Pi]] project with a 3D-printed NES enclosure to support a custom version of the [https://retropie.org.uk/ RetroPie] project.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bath Bombs|Bath Bombs]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A series of methods and formulary to create effervescent bath bombs with multiple combinations of oils, clays, and salts.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Cat Tree|Cat Tree]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A simple cat tree for use at home, complete with three levels, hooks for hanging toys, a removable ladder, and an enclosed house on the second floor.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bread|Bread Baking]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A number of hand-made bread recipes.  No bread machines here!&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/LillyOS|LillyOS]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: A custom-built boot loader, file system, and operating system intended for use in high-security, low-detection file transfer.  LillyOS is encrypted at time of cross-compilation with a private key that is used to load the operating and file systems into memory at load.  Therefore, without the correct seed, invalid instruction sets will be processed by the host computer, instead of simply encrypting just the files on the operating system itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Brewing|Beer Brewing]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: Recipes and techniques for making tasty, tasty [[Beer]].&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Completed ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/SNES-in-a-Controller|SNES-in-a-Controller]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(April 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: Originally a challenge as a [[30-Minute Build]], the SNES-in-a-Controller uses a [[Raspberry Pi]] Zero, an integrated lithium-ion charging circuit, battery, and USB SNES controller to provide a portable, HDMI-compatible RetroPie emulator.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/10-Seat Racetrack Poker Table|10-Seat Racetrack Poker Table]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(June 2010)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: A 10-seat poker table in a racetrack design with arm padding, polished wood track, speedfelt center, and closed-cell foam to prevent spill rot.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://github.com/andrewvaughan/docker-steamcmd Docker-Supported Steam Server]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(February 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source Docker project that provides push-button launching of any dedicated [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List Steam server].  Supports all current versions of Ubuntu as a base image for the virtual machine, and is available in the formal [https://hub.docker.com/r/andrewvaughan/steamcmd/ Docker Hub].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://andrewvaughan.io/raspbian-i-love-you-but-youre-fat/ RaspberryPi Reduced-Image Tool]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(May 2016)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source tool to help users reduce the bloatware included with the formal [https://www.raspberrypi.org/downloads/raspbian/ Raspbian] image provided by the [https://www.raspberrypi.org/ Raspberry Pi Foundation], as well as to help new users understand the purpose and footprint with pre-included packages.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Equipment Authorizations =&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=47%}}&lt;br /&gt;
&lt;br /&gt;
=== Current Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: center; width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Equipment&lt;br /&gt;
! Area&lt;br /&gt;
! Authorizer&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! [[Forge]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hypertherm Powermax 45 Plasma Cutter]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[AcmeAnvil]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Millermatic 252]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Miller Dynasty 280DX]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 3200HD]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 125HD WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 100 WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[DeWalt Chop Saw]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bench Grinder (6in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hot Metals Belt Sander]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Ryobi 6&amp;quot; grinder|Ryobi 6&amp;quot; Grinder]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Angle Grinder (4.5in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Epilog 30w Mini 24 Laser Engraver]]&lt;br /&gt;
| [[:Category:CNC|CNC]]&lt;br /&gt;
| [[User:Daddybird|Burton Kent]]&lt;br /&gt;
| May 3, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Laguna 16&amp;quot; Planer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bosch Sliding Compound Miter Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Rockwell Delta 20&amp;quot; Bandsaw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Delta Drill Press (12in)|Delta 12&amp;quot; Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Craftsman 20in Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Grizzly 6&amp;quot; jointer|Grizzly 6&amp;quot; Jointer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Sears Scroll Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Belt Sander|Belt and Disk Sander]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Excalibur Router Table]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[SawStop table saw|SawStop Table Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=47%|gap=6%}}&lt;br /&gt;
&lt;br /&gt;
=== Pending Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Area&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Priority&lt;br /&gt;
! Equipment&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Drum Sander&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Equipment unavailable. Passed vote on [[Vote to purchase drum surface sander|April 18th, 2017]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Ridgid Oscillating Spindle Sander]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | May be irrelevant due to [[Oscillating Drum Sander]], which does not require authorization.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4- Low&lt;br /&gt;
| [[Jet Wood Lathe]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Wish to learn Lathe techniques (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vacuum table|Vacuum Table]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interest in learning techniques.  May wish to vacuum form with later projects (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Hitachi M12V Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R161 Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R181FB Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;11&amp;quot; | [[:Category:CNC|CNC]]&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Prusa i3 3D printer|Prusa i3 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Z-Builder Ultra 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Does not seem to be functioning.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Shapeoko Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Functionality replaced by ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[ShapeOko2 CNC Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Seems to have been largely replaced by the ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[Shopbot PRS CNC router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to create jigs and moulds for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[HP DesignJet T520 Large Format Color Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to print large-format templates and designs for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Lulzbot Taz3]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[BOSS LS-3655 150w Laser Engraver]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Currently not offering authorizations (new laser cutter).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vinyl Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[CNC Plasma Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Cricut Die Cutting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Arts|Arts]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer 20U Industrial Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Sears Kenmore Model 158.18130 Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[J.C.Penney Free Arm Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer Serger 14T948DS]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother 230 knitting machine|Brother 230 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother KH-930 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Evenheat 810 Kiln]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Currently blocking progress on primary project(s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| Blocking progress on upcoming progress&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| Will likely block progress on near-future progress&lt;br /&gt;
|-&lt;br /&gt;
| 4 - Low&lt;br /&gt;
| Current interest in learning machine or techniques&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| May have interest in learning machine or techniques in future, or may have alternative solution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Areas of Expertise =&lt;br /&gt;
&lt;br /&gt;
Andrew has proficiency in a number of skills.  If you would like advice or assistance in any of these areas, please do not hesitate to reach out.  In terms of ratings:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=19%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inexperienced&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
☆ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Little-to-no hands on experience.  Interest has been expressed, but experience has not been sought.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novice&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Experienced with basic topics and common knowledge of the subject matter expert.  May result from self-training.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amateur&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Comfortable with most of scope; well-experienced with highly-common tasks.  Able to teach others basic areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intermediate&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ☆&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Highly experienced, including most edge-cases. Able to teach others in nearly all areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=19%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ★&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Advanced experience with subject matter. Learning is replaced with research.  Seeking mentorship becomes difficult or impossible.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Arts and Science&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Beer [[Brewing]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Photography]] (Nikon)&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bread Baking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Cooking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Wine&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | General [[Chemistry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Soap Making]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Modeling]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Silkscreening]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Animation]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bracelet Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Crochet]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Earring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Knitting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Necklace Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Paper Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Ring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;CNC and 3D Printing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CAD]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[3D Printing]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CNC]] Routing&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Laser Cutting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Plastic Injection Moulding]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Electronics&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Microcontrollers]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Digital [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Analog [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Metallurgy&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Sharpening&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;| MIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Plasma Cutting&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | TIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Tool Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Software Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[DevOps]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[HTML/CSS]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Javascript]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Node.js]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[PHP]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Bash]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Java]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Python]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Assembly]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[C++]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Game Theory]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Unity]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Woodworking&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | General [[Carpentry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Luthierie]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Pipe Making]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Wood]] Identification&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Furniture Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Wood [[Inlays]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Flight Simulation]]&lt;br /&gt;
! ★ ★ ★ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
The following resources are some of Andrew&#039;s preferred sources of information regarding projects, best practices, and safety:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Resource&lt;br /&gt;
! Category&lt;br /&gt;
! Sub-Category&lt;br /&gt;
! Date&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;1:00:00&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/watch?v=sAeXskZHC2o Making a Guitar - Handcrafted Woodworking (Greenfield Guitars)]&lt;br /&gt;
| [[:Category:Woodworking|Woodworking]]&lt;br /&gt;
| [[:Category:Luthierie|Luthierie]]&lt;br /&gt;
| {{nowrap|2016-09-11}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Excellent documentary on hand-making a guitar from start to finish.  Not a tremendous amount of instruction, but excellent for inspiration and learning the basics of the process.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCS0N5baNlQWJCUrhCEo8WlA Ben Eater&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Electronics|Electronics]]&lt;br /&gt;
| [[:Category:Digital Circuit Design|Digital Circuit Design]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Amazing set of informative videos on TTL digital logic.  Ben builds a 4-bit adder and 8-bit CPU from scratch.&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA NileRed&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Arts and Science|Arts and Science]]&lt;br /&gt;
| [[:Category:Chemistry]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Tons of videos on how to do interesting chemical reactions using a basic glass set and household products.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WikiGnomes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33311</id>
		<title>User:Andrewvaughan</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=User:Andrewvaughan&amp;diff=33311"/>
		<updated>2017-05-27T17:55:01Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:&amp;lt;span style=&amp;quot;position:absolute; top:-9999px;&amp;quot;&amp;gt;User:&amp;lt;/span&amp;gt;Andrew&amp;lt;span style=&amp;quot;text-transform: uppercase; margin-left: 0.15em;&amp;quot;&amp;gt;v&amp;lt;/span&amp;gt;aughan}}&lt;br /&gt;
{| style=&amp;quot;width: 100%; background: #f8f9fa; border-bottom: 1px solid #222; margin: -16px 0 15px 0; text-align: center; vertical-align: middle; height: 75px;&amp;quot;&lt;br /&gt;
| [https://andrewvaughan.io https://img.shields.io/badge/blog-andrewvaughan.io-brightgreen.png]&lt;br /&gt;
| [https://twitter.com/andrewvaughan https://img.shields.io/badge/twitter-andrewvaughan-green.png]&lt;br /&gt;
| [https://www.linkedin.com/in/andrewjvaughan/ https://img.shields.io/badge/linkedin-andrewjvaughan-yellow.png]&lt;br /&gt;
| [https://github.com/andrewvaughan https://img.shields.io/badge/github-andrewvaughan-orange.png]&lt;br /&gt;
| [http://www.thingiverse.com/wspnut/about https://img.shields.io/badge/thingiverse-wspnut-red.png]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;float:left; margin: 7px 15px 15px 0;&amp;quot;&amp;gt;__TOC__&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Infobox Member&lt;br /&gt;
| image             = AndrewVaughan.png&lt;br /&gt;
| membername        = Andrew Vaughan&lt;br /&gt;
| memberaliases     = wspnut, uggakanukka2000&lt;br /&gt;
| membersince       = April 18, 2017&lt;br /&gt;
| membertype        = Full&lt;br /&gt;
| memberphone       = [tel:+1-312-476-9966 312-476-9966]&lt;br /&gt;
| memberemail       = [mailto:hello@andrewvaughan.io hello@andrewvaughan.io]&lt;br /&gt;
| memberirc         = andrewvaughan&lt;br /&gt;
| memberother       = [https://twitter.com/andrewvaughan @andrewvaughan]&lt;br /&gt;
| membercertifiedon = [[User:andrewvaughan#Equipment_Authorizations|See All Authorizations]]&lt;br /&gt;
}}&lt;br /&gt;
[[User:andrewvaughan|Andrew Vaughan]] (joined April 18th, 2017) is a full member of [[Main_Page|Pumping Station:One]].  Professionally, he acts as Chief Product Officer for Hyatt Hotels, helping build policies and procedures to drive innovative customer experiences.  When not at work, Andrew spends time with his girlfriend, two dogs, and cat.  In his spare time, he develops software and rotates through numerous hobbies.  The often large-scale nature of his initiatives is what ultimately lead him to Pumping Station: One.&lt;br /&gt;
&lt;br /&gt;
Andrew&#039;s hobbies and passions rotate regularly, including [[:Category:Electronics|Electronics]], [[:Category:Carpentry|Carpentry]], [[:Category:Programming|Programming]], [[:Category:CAD|CAD]], [[Luthierie]], [[Pipe Making]], [[Soap Making]], [[:Category:Brewing|Brewing]] and many more.  Andrew is a Level 2 Certified Sommelier through the [https://www.wsetglobal.com/ Wine Spirit and Education Trust] of England.&lt;br /&gt;
&lt;br /&gt;
Although sporadically maintained, Andrew&#039;s [https://andrewvaughan.io personal blog] contains detail and insight into many of the initiatives he undertakes.  He also maintains public and active [[#Active_Projects|project]] and [[/todo|task]] lists on this wiki in an effort to empower others to reference his work.&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
&lt;br /&gt;
Andrew can be reached through Pumping Station: One&#039;s [[Contact Points#Email Lists|public and private mailing lists]], via the [[IRC|Pumping Station: One IRC channel]] (user &amp;lt;code&amp;gt;andrewvaughan&amp;lt;/code&amp;gt;), or through one of his Social Media networks, such as [https://twitter.com/andrewvaughan Twitter] or [https://linkedin.com/in/andrewjvaughan LinkedIn].  For urgent situations, Andrew can be contacted directly by [mailto:hello@andrewvaughan.io emailing him] or by calling or texting [tel:+1-312-476-9966 his cellphone].&lt;br /&gt;
&lt;br /&gt;
=== Wiki Help ===&lt;br /&gt;
&lt;br /&gt;
Andrew takes point in building and maintaining many aspects of the [[Main Page|Pumping Station: One Wiki]].  If you would like support in building out templates, functionality, or need general help with editing or contributing to the wiki, please feel free to reach out to Andrew using the contact information above.&lt;br /&gt;
&lt;br /&gt;
If your questions concern general wiki usage, please read the [https://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], the [https://www.mediawiki.org/wiki/Help:Editing MediaWiki Editing Guide], and [https://www.mediawiki.org/wiki/Category:Help MediaWiki&#039;s General Help] category before asking.  It&#039;s highly likely that your question has already been answered, and [[RTFM]] goes a long way.  If, after following these steps, your question persists, your best bet at getting a quick answer would be to make a post on the internal [[Contact Points#Email Lists|PS:1 Google group]].&lt;br /&gt;
&lt;br /&gt;
= Classes =&lt;br /&gt;
&lt;br /&gt;
Andrew teaches [[:Category:Classes|classes]] at Pumping Station: One on various topics.  The following classes are currently active in the shop.  More information can be found on their individual wiki pages:&lt;br /&gt;
&lt;br /&gt;
* [[Class:Building an 8-Bit CPU from Scratch|Building an 8-Bit CPU from Scratch]]&lt;br /&gt;
&lt;br /&gt;
= Projects =&lt;br /&gt;
&lt;br /&gt;
Andrew generally has a significant number of projects in various phases of completion at any given time.  These projects are listed as &#039;&#039;&#039;Active&#039;&#039;&#039;, in-which they are currently underway, &#039;&#039;&#039;Completed&#039;&#039;&#039;, wherein no further work is planned for an initiative, or &#039;&#039;&#039;Archived&#039;&#039;&#039;, where the project has been placed on pause indefinitely (unless otherwise noted).&lt;br /&gt;
&lt;br /&gt;
The following projects are in various stages of active development, whether they be in &amp;lt;u&amp;gt;Inception&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Planning&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Design&amp;lt;/u&amp;gt;, in &amp;lt;u&amp;gt;Development&amp;lt;/u&amp;gt;, or &amp;lt;u&amp;gt;Finishing&amp;lt;/u&amp;gt;.  Occasionally, active projects will have a final &amp;lt;u&amp;gt;Packaging&amp;lt;/u&amp;gt; step, if they are being sold or distributed.&lt;br /&gt;
&lt;br /&gt;
Along with these status, a qualifier of &#039;&#039;Ongoing&#039;&#039; represents that there is no foreseeable end to the project, and that iterative development will continue indefinitely.&lt;br /&gt;
&lt;br /&gt;
== Inception ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Boeing 737-800 Flight Simulator Enclosure|Boeing 737-800 Flight Simulator Enclosure]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A fully-functional, to-scale model of a Boeing 737-800 flight cockpit, with functional toggles, switches, and gauges, processed through shared USB signaling devices and compatible with [http://store.steampowered.com/app/314160/ Microsoft Flight Simulator X], [http://www.x-plane.com/ X-Plane 11], and Lockheed Martin [http://www.prepar3d.com/ Prepar3d] v3.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Programmable Entry to PS:1|Programmable Entry to PS:1]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: Rebuild the locking mechanism for Pumping Station: One to be programmable, so that buzzer entry can be scheduled, and RFID entry can be used the remainder of the time.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
; [[User:Andrewvaughan/Damascus Steel Hunting Knife|Damascus Steel Hunting Knife]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Hot Metals&amp;lt;/u&amp;gt;, &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A forged and hand-carved hunting knife, with [[Wikipedia:Damascus Steel|Damascus Steel]] as an introduction to forging.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Planning ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Soprano Ukulele|Soprano Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: An effort to build the moulds, jigs, and other systems to empower easily-repeatable builds of high-quality, hand-made Ukuleles.  Soprano Ukulele&#039;s being the smallest of the Ukulele set (with some exceptions), can be one of the most challenging [[Luthierie]] projects given the preciseness needed for the build coupled with the small footprint of the design.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Dockerized Gary&#039;s Mod Server|Dockerized Gary&#039;s Mod Server]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: Building on the [[User:Andrewvaughan/Dockerized Steam Server|Dockerized Steam Server]] project, this open-source library provides a push-button mechanism to launch a [http://www.garrysmod.com/ Garry&#039;s Mod] server for use with the game [https://steamcommunity.com/sharedfiles/filedetails/?id=135509255 Prop Hunt].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Tenor Ukulele|Tenor Ukulele]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Similar to the Soprano Ukulele project, but with moulds, jigs, and systems to build Tenor ukuleles.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Briarwood Smoking Pipe|Briarwood Smoking Pipe]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: Using only hand-tools (with the exception of preliminary block cut of the wood), Andrew aims to carve a functional smoking pipe from briarwood.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Design ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/8-Bit CPU|8-Bit CPU]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A build of an entirely-functional 8-bit CPU, using a custom developed architecture and instruction set, using only TLS and CMOS chips.  The CPU is designed to be modular and expandable, so that further instructions and capabilities can be added in the future.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/MiniNES|MiniNES]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt;&lt;br /&gt;
: A [[Raspberry Pi]] project with a 3D-printed NES enclosure to support a custom version of the [https://retropie.org.uk/ RetroPie] project.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Development ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bath Bombs|Bath Bombs]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A series of methods and formulary to create effervescent bath bombs with multiple combinations of oils, clays, and salts.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Cat Tree|Cat Tree]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt;&lt;br /&gt;
: A simple cat tree for use at home, complete with three levels, hooks for hanging toys, a removable ladder, and an enclosed house on the second floor.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Bread|Bread Baking]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: A number of hand-made bread recipes.  No bread machines here!&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/LillyOS|LillyOS]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt;&lt;br /&gt;
: A custom-built boot loader, file system, and operating system intended for use in high-security, low-detection file transfer.  LillyOS is encrypted at time of cross-compilation with a private key that is used to load the operating and file systems into memory at load.  Therefore, without the correct seed, invalid instruction sets will be processed by the host computer, instead of simply encrypting just the files on the operating system itself.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/Brewing|Beer Brewing]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Arts and Science&amp;lt;/u&amp;gt; &#039;&#039;Ongoing&#039;&#039;&lt;br /&gt;
: Recipes and techniques for making tasty, tasty [[Beer]].&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
== Completed ==&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=32%}}&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/SNES-in-a-Controller|SNES-in-a-Controller]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Electronics&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(April 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: Originally a challenge as a [[30-Minute Build]], the SNES-in-a-Controller uses a [[Raspberry Pi]] Zero, an integrated lithium-ion charging circuit, battery, and USB SNES controller to provide a portable, HDMI-compatible RetroPie emulator.&lt;br /&gt;
&lt;br /&gt;
;[[User:Andrewvaughan/10-Seat Racetrack Poker Table|10-Seat Racetrack Poker Table]]&lt;br /&gt;
: &amp;lt;u&amp;gt;Woodworking&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(June 2010)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: A 10-seat poker table in a racetrack design with arm padding, polished wood track, speedfelt center, and closed-cell foam to prevent spill rot.&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://github.com/andrewvaughan/docker-steamcmd Docker-Supported Steam Server]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(February 2017)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source Docker project that provides push-button launching of any dedicated [https://developer.valvesoftware.com/wiki/Dedicated_Servers_List Steam server].  Supports all current versions of Ubuntu as a base image for the virtual machine, and is available in the formal [https://hub.docker.com/r/andrewvaughan/steamcmd/ Docker Hub].&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=32%|gap=2%}}&lt;br /&gt;
&lt;br /&gt;
;[https://andrewvaughan.io/raspbian-i-love-you-but-youre-fat/ RaspberryPi Reduced-Image Tool]&lt;br /&gt;
: &amp;lt;u&amp;gt;Programming&amp;lt;/u&amp;gt; &amp;lt;small&amp;gt;&#039;&#039;(May 2016)&#039;&#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
: An open-source tool to help users reduce the bloatware included with the formal [https://www.raspberrypi.org/downloads/raspbian/ Raspbian] image provided by the [https://www.raspberrypi.org/ Raspberry Pi Foundation], as well as to help new users understand the purpose and footprint with pre-included packages.&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Equipment Authorizations =&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=47%}}&lt;br /&gt;
&lt;br /&gt;
=== Current Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;text-align: center; width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Equipment&lt;br /&gt;
! Area&lt;br /&gt;
! Authorizer&lt;br /&gt;
! Date&lt;br /&gt;
|-&lt;br /&gt;
|-&lt;br /&gt;
! [[Forge]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hypertherm Powermax 45 Plasma Cutter]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[AcmeAnvil]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Millermatic 252]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Miller Dynasty 280DX]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 3200HD]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 125HD WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Lincoln Electric 100 WeldPak]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[DeWalt Chop Saw]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bench Grinder (6in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Hot Metals Belt Sander]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Ryobi 6&amp;quot; grinder|Ryobi 6&amp;quot; Grinder]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Angle Grinder (4.5in)]]&lt;br /&gt;
| [[:Category:Hot Metals|Hot Metals]]&lt;br /&gt;
| Chris Iacullo&lt;br /&gt;
| May 11, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Epilog 30w Mini 24 Laser Engraver]]&lt;br /&gt;
| [[:Category:CNC|CNC]]&lt;br /&gt;
| [[User:Daddybird|Burton Kent]]&lt;br /&gt;
| May 3, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Laguna 16&amp;quot; Planer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Bosch Sliding Compound Miter Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Rockwell Delta 20&amp;quot; Bandsaw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Delta Drill Press (12in)|Delta 12&amp;quot; Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Craftsman 20in Drill Press]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Grizzly 6&amp;quot; jointer|Grizzly 6&amp;quot; Jointer]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Sears Scroll Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Belt Sander|Belt and Disk Sander]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[Excalibur Router Table]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|-&lt;br /&gt;
! [[SawStop table saw|SawStop Table Saw]]&lt;br /&gt;
| [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| Andy Larkin&lt;br /&gt;
| April 26, 2017&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=47%|gap=6%}}&lt;br /&gt;
&lt;br /&gt;
=== Pending Authorizations ===&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 100%;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Area&lt;br /&gt;
! style=&amp;quot;width: 100px;&amp;quot; | Priority&lt;br /&gt;
! Equipment&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Wood_Shop|Wood Shop]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Drum Sander&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Equipment unavailable. Passed vote on [[Vote to purchase drum surface sander|April 18th, 2017]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Ridgid Oscillating Spindle Sander]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | May be irrelevant due to [[Oscillating Drum Sander]], which does not require authorization.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4- Low&lt;br /&gt;
| [[Jet Wood Lathe]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Wish to learn Lathe techniques (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vacuum table|Vacuum Table]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interest in learning techniques.  May wish to vacuum form with later projects (however, no projects currently planned).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Hitachi M12V Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R161 Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Ryobi R181FB Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Priority low due to personal access to Dremel plunge router, duplication of other routers, and ShopBot inlay capabilities.&lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;11&amp;quot; | [[:Category:CNC|CNC]]&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Prusa i3 3D printer|Prusa i3 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Z-Builder Ultra 3D Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Does not seem to be functioning.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[Shapeoko Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Functionality replaced by ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| [[ShapeOko2 CNC Router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Seems to have been largely replaced by the ShopBot.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[Shopbot PRS CNC router]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to create jigs and moulds for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| [[HP DesignJet T520 Large Format Color Printer]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Blocking ability to print large-format templates and designs for ongoing Luthierie projects.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[Lulzbot Taz3]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Likely will be one of highly-used 3D printers when printing.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| [[BOSS LS-3655 150w Laser Engraver]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Currently not offering authorizations (new laser cutter).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Vinyl Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[CNC Plasma Cutter]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Cricut Die Cutting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
! rowspan=&amp;quot;7&amp;quot; | [[:Category:Arts|Arts]]&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer 20U Industrial Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Sears Kenmore Model 158.18130 Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[J.C.Penney Free Arm Sewing Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center; font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| [[Singer Serger 14T948DS]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; | Interested in creating dog toys and self-tailoring.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother 230 knitting machine|Brother 230 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Brother KH-930 Knitting Machine]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align: center;&amp;quot; | 4 - Low&lt;br /&gt;
| [[Evenheat 810 Kiln]]&lt;br /&gt;
| style=&amp;quot;font-size: 8pt; font-weight: normal; color: #777;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;margin: 0 auto;&amp;quot;&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: red;&amp;quot; | 1 - Urgent&lt;br /&gt;
| Currently blocking progress on primary project(s).&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;font-weight: bold; color: orange;&amp;quot; | 2 - High&lt;br /&gt;
| Blocking progress on upcoming progress&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: green;&amp;quot; | 3 - Moderate&lt;br /&gt;
| Will likely block progress on near-future progress&lt;br /&gt;
|-&lt;br /&gt;
| 4 - Low&lt;br /&gt;
| Current interest in learning machine or techniques&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;color: #888; font-style: italic;&amp;quot; | 5 - Trivial&lt;br /&gt;
| May have interest in learning machine or techniques in future, or may have alternative solution&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
= Areas of Expertise =&lt;br /&gt;
&lt;br /&gt;
Andrew has proficiency in a number of skills.  If you would like advice or assistance in any of these areas, please do not hesitate to reach out.  In terms of ratings:&lt;br /&gt;
&lt;br /&gt;
{{col-begin}}&lt;br /&gt;
{{col-break|width=19%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Inexperienced&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
☆ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Little-to-no hands on experience.  Interest has been expressed, but experience has not been sought.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Novice&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ☆ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Experienced with basic topics and common knowledge of the subject matter expert.  May result from self-training.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Amateur&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ☆ ☆&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Comfortable with most of scope; well-experienced with highly-common tasks.  Able to teach others basic areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=18%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Intermediate&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ☆&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Highly experienced, including most edge-cases. Able to teach others in nearly all areas of subject matter.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-break|width=19%|gap=2%|align=center}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Expert&#039;&#039;&#039;&amp;lt;br/&amp;gt;&lt;br /&gt;
★ ★ ★ ★&lt;br /&gt;
&amp;lt;small style=&amp;quot;display:block; color: #999; line-height: 1.2em; margin-top: 2px;&amp;quot;&amp;gt;Advanced experience with subject matter. Learning is replaced with research.  Seeking mentorship becomes difficult or impossible.&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{col-end}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Arts and Science&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Beer [[Brewing]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Photography]] (Nikon)&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bread Baking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Cooking]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | Wine&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | General [[Chemistry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Soap Making]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Modeling]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Silkscreening]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[3D Animation]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Bracelet Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Crochet]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Earring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Knitting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|- &lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Necklace Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Paper Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;  | [[Ring Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;CNC and 3D Printing&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CAD]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[3D Printing]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[CNC]] Routing&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Laser Cutting]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Plastic Injection Moulding]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Electronics&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Microcontrollers]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Digital [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Analog [[Circuit Design]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Metallurgy&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Sharpening&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Knife Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot;| MIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Plasma Cutting&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | TIG Welding&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Tool Smithing&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Software Development&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[DevOps]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[HTML/CSS]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Javascript]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Node.js]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[PHP]]&lt;br /&gt;
| ★ ★ ★ ★&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Bash]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Java]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Python]]&lt;br /&gt;
| ★ ★ ★ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Assembly]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[C++]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Game Theory]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Unity]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Woodworking&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | General [[Carpentry]]&lt;br /&gt;
| ★ ★ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Luthierie]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Pipe Making]]&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Wood]] Identification&lt;br /&gt;
| ★ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Furniture Making]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | Wood [[Inlays]]&lt;br /&gt;
| ☆ ☆ ☆ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; margin: 25px auto 5px auto; font-weight: bold; font-size: 20px;&amp;quot;&amp;gt;Miscellaneous&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
! width=&amp;quot;30%&amp;quot; | Skill&lt;br /&gt;
! width=&amp;quot;70%&amp;quot; | Experience&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;right&amp;quot; | [[Flight Simulation]]&lt;br /&gt;
! ★ ★ ★ ☆&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Resources =&lt;br /&gt;
&lt;br /&gt;
The following resources are some of Andrew&#039;s preferred sources of information regarding projects, best practices, and safety:&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width: 50%; min-width: 320px; margin: 0 auto 0 auto; text-align: center;&amp;quot; class=&amp;quot;wikitable sortable mw-collapsible mw-autocollapse&amp;quot;&lt;br /&gt;
! Type&lt;br /&gt;
! Resource&lt;br /&gt;
! Category&lt;br /&gt;
! Sub-Category&lt;br /&gt;
! Date&lt;br /&gt;
! Notes&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;1:00:00&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/watch?v=sAeXskZHC2o Making a Guitar - Handcrafted Woodworking (Greenfield Guitars)]&lt;br /&gt;
| [[:Category:Woodworking|Woodworking]]&lt;br /&gt;
| [[:Category:Luthierie|Luthierie]]&lt;br /&gt;
| {{nowrap|2016-09-11}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Excellent documentary on hand-making a guitar from start to finish.  Not a tremendous amount of instruction, but excellent for inspiration and learning the basics of the process.&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCS0N5baNlQWJCUrhCEo8WlA Ben Eater&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Electronics|Electronics]]&lt;br /&gt;
| [[:Category:Digital Circuit Design|Digital Circuit Design]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Amazing set of informative videos on TTL digital logic.  Ben builds a 4-bit adder and 8-bit CPU from scratch.&lt;br /&gt;
|-&lt;br /&gt;
| Video&amp;lt;br/&amp;gt;&amp;lt;small&amp;gt;Channel&amp;lt;/small&amp;gt;&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | [https://www.youtube.com/channel/UCFhXFikryT4aFcLkLw2LBLA NileRed&#039;s YouTube Channel]&lt;br /&gt;
| [[:Category:Arts and Science|Arts and Science]]&lt;br /&gt;
| [[:Category:Chemistry]]&lt;br /&gt;
| {{nowrap|2017-04-28}}&lt;br /&gt;
| align=&amp;quot;left&amp;quot; | &amp;lt;small&amp;gt;Tons of videos on how to do interesting chemical reactions using a basic glass set and household products.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:WikiGnomes]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33183</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33183"/>
		<updated>2017-05-12T22:49:10Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; padding: 10px; {{#switch: {{{float|}}} | right = margin: 0 0 10px 10px; float: right; | }}&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; margin: 0; padding: 5px; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x20px|link=]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-left: 2px solid #888; padding: 5px; border-right: 2px solid #888; margin: 0;&amp;quot; | [[Image:OSHA-{{{type|Warning}}}.svg|120px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; padding: 5px; margin 0; background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | {{#switch: {{{type|}}} | voltage = High voltage. | Danger}}&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;div class=&amp;quot;thumbcaption&amp;quot; style=&amp;quot;{{#switch: {{{float|}}} | right = margin: 0 0 10px 10px; float: right; | }}&amp;quot;&amp;gt;[[:Category:OSHA#Danger|What is this?]]&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33182</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33182"/>
		<updated>2017-05-12T22:46:27Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; padding: 10px; {{#switch: {{{float|}}} | right = margin: 0 0 10px 10px; float: right; | }}&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; margin: 0; padding: 5px; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x20px|link=]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-left: 2px solid #888; padding: 5px; border-right: 2px solid #888; margin: 0;&amp;quot; | [[Image:OSHA-{{{type|Warning}}}.svg|120px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; padding: 5px; margin 0; background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | {{#switch: {{{type|}}} | voltage = High voltage. | Danger}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=File:OSHA-voltage.svg&amp;diff=33181</id>
		<title>File:OSHA-voltage.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=File:OSHA-voltage.svg&amp;diff=33181"/>
		<updated>2017-05-12T22:44:49Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: Category:OSHA Sign&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OSHA Sign]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33180</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33180"/>
		<updated>2017-05-12T22:43:25Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; padding: 10px; {{#switch: {{{float|}}} | right = margin: 0 0 10px 10px; float: right; | }}&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;2&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; margin: 0; padding: 5px; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x20px|link=]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-left: 2px solid #888; padding: 5px; border-right: 2px solid #888; margin: 0;&amp;quot; | [[Image:OSHA-{{{type|Warning}}}.svg|120px|center]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; padding: 5px; margin 0; background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Danger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=File:OSHA-Warning.svg&amp;diff=33179</id>
		<title>File:OSHA-Warning.svg</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=File:OSHA-Warning.svg&amp;diff=33179"/>
		<updated>2017-05-12T22:34:36Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: Category:OSHA Sign&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:OSHA Sign]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33178</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33178"/>
		<updated>2017-05-12T22:31:41Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; {{#switch: {{{float|}}} | right = margin: 0 0 10px 10px; float: right; | }}&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x16px]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:OSHA-{{{type|missing}}}.svg|35px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Type comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33177</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33177"/>
		<updated>2017-05-12T22:30:48Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; {{#switch: {{{float|}}} | right = | margin: 0 0 10px 10px; float: right; }}&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x16px]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:OSHA-{{{type|missing}}}.svg|35px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Type comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33176</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33176"/>
		<updated>2017-05-12T22:30:01Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; {{#ifeq: {{{float|}}} | right = | margin: 0 0 10px 10px; float: right; }}&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x16px]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:OSHA-{{{type|missing}}}.svg|35px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Type comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33175</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33175"/>
		<updated>2017-05-12T22:27:29Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px; margin: 0 0 10px 10px&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x16px]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:OSHA-{{{type|missing}}}.svg|35px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Type comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33174</id>
		<title>Template:OSHA Danger</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Template:OSHA_Danger&amp;diff=33174"/>
		<updated>2017-05-12T22:26:54Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: Created page with &amp;quot;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px;&amp;quot; cellspacing=&amp;quot;10&amp;quot; | style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;border: 2px solid #888; border-radius: 5px;&amp;quot; cellspacing=&amp;quot;10&amp;quot;&lt;br /&gt;
| style=&amp;quot;border: 2px solid #888; background-color: #B00; color: white; font-weight: bold; font-size: 16pt;&amp;quot; | [[Image:OSHA-Warning.svg|x16px]] DANGER&lt;br /&gt;
|-&lt;br /&gt;
| [[Image:OSHA-{{{type|missing}}}.svg|35px]]&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;background-color: #000; color: #fff; font-weight: bold; font-size: 9pt; padding: 10px 3px;&amp;quot; | Type comment&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category: OSHA]]&lt;br /&gt;
[[Category: OSHA Danger]]&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33173</id>
		<title>Category:OSHA</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33173"/>
		<updated>2017-05-12T22:14:16Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OSHA|OSHA]], or the [https://www.osha.gov Occupational Health and Safety Administration], is a division of the United States Department of Labor.  OSHA&#039;s mission is to &#039;&#039;&amp;quot;assure safe and healthful working conditions for working men and women by setting and enforcing standards and by providing training, outreach, education and assistance.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== ANSI Safety Signs ==&lt;br /&gt;
&lt;br /&gt;
The safety signs at [[Main Page|Pumping Station: One]] comply with ANSI Z535.2 standards and regulations for workplace safety.  These signs can be created on the wiki using the OSHA series of templates.  These templates generate safety signs in one of the following categories:&lt;br /&gt;
&lt;br /&gt;
=== Danger ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;extreme risk of serious injury or death&#039;&#039;&#039;.  These signs are relatively rare at Pumping Station: One, but do occur.  Extreme caution should be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Danger|OSHA Danger Template]] on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== Caution ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;threat of serious injury or death&#039;&#039;&#039;.  While imminence is reduced from a Danger designation, caution should still be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Caution|OSHA Caution Template]] on this wiki.&lt;br /&gt;
&lt;br /&gt;
=== Warning ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to warn people about &#039;&#039;&#039;threat of minor injury&#039;&#039;&#039;.  Caution should be used in these areas, although significant injury or death is not expected in the given conditions.  If significant injury or death are a significant risk, a Caution or Danger sign would be more appropriate.&lt;br /&gt;
&lt;br /&gt;
=== Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;areas with recommended protection or necessary information&#039;&#039;&#039;.  Instruction should be followed to ensure safe usage of a given tool or process.  If injury is of risk due to use of the tool, a Warning or more extreme sign should be used.&lt;br /&gt;
&lt;br /&gt;
=== Safety Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;location or other information about a given space&#039;&#039;&#039;.  These intend to be instructive signs to help quickly identify and locate necessary equipment and information.&lt;br /&gt;
&lt;br /&gt;
== Sign Types ==&lt;br /&gt;
&lt;br /&gt;
The list of signs available in any of the OSHA notices can be found in the [[:Category:OSHA Sign|OSHA Sign]] category.&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33172</id>
		<title>Category:OSHA</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33172"/>
		<updated>2017-05-12T22:14:00Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OSHA|OSHA]], or the [https://www.osha.gov Occupational Health and Safety Administration], is a division of the United States Department of Labor.  OSHA&#039;s mission is to &#039;&#039;&amp;quot;assure safe and healthful working conditions for working men and women by setting and enforcing standards and by providing training, outreach, education and assistance.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== ANSI Safety Signs ==&lt;br /&gt;
&lt;br /&gt;
The safety signs at [[Main Page|Pumping Station: One]] comply with ANSI Z535.2 standards and regulations for workplace safety.  These signs can be created on the wiki using the OSHA series of templates.  These templates generate safety signs in one of the following categories:&lt;br /&gt;
&lt;br /&gt;
=== Danger ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;extreme risk of serious injury or death&#039;&#039;&#039;.  These signs are relatively rare at Pumping Station: One, but do occur.  Extreme caution should be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Danger|OSHA Danger Template]] on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== Caution ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;threat of serious injury or death&#039;&#039;&#039;.  While imminence is reduced from a Danger designation, caution should still be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Caution|OSHA Caution Template]] on this wiki.&lt;br /&gt;
&lt;br /&gt;
=== Warning ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to warn people about &#039;&#039;&#039;threat of minor injury&#039;&#039;&#039;.  Caution should be used in these areas, although significant injury or death is not expected in the given conditions.  If significant injury or death are a significant risk, a Caution or Danger sign would be more appropriate.&lt;br /&gt;
&lt;br /&gt;
=== Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;areas with recommended protection or necessary information&#039;&#039;&#039;.  Instruction should be followed to ensure safe usage of a given tool or process.  If injury is of risk due to use of the tool, a Warning or more extreme sign should be used.&lt;br /&gt;
&lt;br /&gt;
=== Safety Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;location or other information about a given space&#039;&#039;&#039;.  These intend to be instructive signs to help quickly identify and locate necessary equipment and information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sign Types ==&lt;br /&gt;
&lt;br /&gt;
The list of signs available in any of the OSHA notices can be found in the [[:Category:OSHA Sign|OSHA Sign]] category.&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
	<entry>
		<id>https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33171</id>
		<title>Category:OSHA</title>
		<link rel="alternate" type="text/html" href="https://wiki-dev.pumpingstationone.org/mediawiki/index.php?title=Category:OSHA&amp;diff=33171"/>
		<updated>2017-05-12T22:13:52Z</updated>

		<summary type="html">&lt;p&gt;Andrewvaughan: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[:Category:OSHA]], or the [https://www.osha.gov Occupational Health and Safety Administration], is a division of the United States Department of Labor.  OSHA&#039;s mission is to &#039;&#039;&amp;quot;assure safe and healthful working conditions for working men and women by setting and enforcing standards and by providing training, outreach, education and assistance.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== ANSI Safety Signs ==&lt;br /&gt;
&lt;br /&gt;
The safety signs at [[Main Page|Pumping Station: One]] comply with ANSI Z535.2 standards and regulations for workplace safety.  These signs can be created on the wiki using the OSHA series of templates.  These templates generate safety signs in one of the following categories:&lt;br /&gt;
&lt;br /&gt;
=== Danger ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Danger&lt;br /&gt;
| type = voltage&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;extreme risk of serious injury or death&#039;&#039;&#039;.  These signs are relatively rare at Pumping Station: One, but do occur.  Extreme caution should be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Danger|OSHA Danger Template]] on the wiki.&lt;br /&gt;
&lt;br /&gt;
=== Caution ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Caution&lt;br /&gt;
| type = slippery&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to caution people about &#039;&#039;&#039;threat of serious injury or death&#039;&#039;&#039;.  While imminence is reduced from a Danger designation, caution should still be used in the areas where these signs are posted.  These labels can be generated using the [[Template:OSHA Caution|OSHA Caution Template]] on this wiki.&lt;br /&gt;
&lt;br /&gt;
=== Warning ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Warning&lt;br /&gt;
| type = fall&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to warn people about &#039;&#039;&#039;threat of minor injury&#039;&#039;&#039;.  Caution should be used in these areas, although significant injury or death is not expected in the given conditions.  If significant injury or death are a significant risk, a Caution or Danger sign would be more appropriate.&lt;br /&gt;
&lt;br /&gt;
=== Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Notice&lt;br /&gt;
| type = glasses&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;areas with recommended protection or necessary information&#039;&#039;&#039;.  Instruction should be followed to ensure safe usage of a given tool or process.  If injury is of risk due to use of the tool, a Warning or more extreme sign should be used.&lt;br /&gt;
&lt;br /&gt;
=== Safety Notice ===&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{OSHA Safety Notice&lt;br /&gt;
| type = first-aid&lt;br /&gt;
| comment = With custom comment&lt;br /&gt;
| float = right&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
These are signs that intend to inform people about &#039;&#039;location or other information about a given space&#039;&#039;&#039;.  These intend to be instructive signs to help quickly identify and locate necessary equipment and information.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Sign Types ==&lt;br /&gt;
&lt;br /&gt;
The list of signs available in any of the OSHA notices can be found in the [[:Category:OSHA Sign|OSHA Sign]] category.&lt;/div&gt;</summary>
		<author><name>Andrewvaughan</name></author>
	</entry>
</feed>