diff --git a/Bootloaders/CDC/BootloaderCDC.c b/Bootloaders/CDC/BootloaderCDC.c
index 925385d8cfd0b01284a6452afd0b3716b2e04359..e681fbf5aade927161c1d9aa5a5ee4612dcccfd0 100644
--- a/Bootloaders/CDC/BootloaderCDC.c
+++ b/Bootloaders/CDC/BootloaderCDC.c
@@ -343,7 +343,7 @@ static void WriteNextResponseByte(const uint8_t Response)
 	/* Select the IN endpoint so that the next data byte can be written */
 	Endpoint_SelectEndpoint(CDC_TX_EPNUM);
 	
-	/* If IN endpoint full, clear it and wait util ready for the next packet to the host */
+	/* If IN endpoint full, clear it and wait until ready for the next packet to the host */
 	if (!(Endpoint_IsReadWriteAllowed()))
 	{
 		Endpoint_ClearIN();
diff --git a/Bootloaders/CDC/BootloaderCDC.h b/Bootloaders/CDC/BootloaderCDC.h
index 6a46a55dab1cf60dc27eb34da8b6a055a0009261..d83b27f5e7f772440f46e27730183e9c10033a29 100644
--- a/Bootloaders/CDC/BootloaderCDC.h
+++ b/Bootloaders/CDC/BootloaderCDC.h
@@ -104,7 +104,7 @@
 		};
 		
 		/** Enum for the possible parity modes on a CDC-ACM virtual serial port */
-		enum BootloaderCDC_CDC_LineCodeingParity_t
+		enum BootloaderCDC_CDC_LineCodingParity_t
 		{
 			Parity_None         = 0, /**< No data parity checking */
 			Parity_Odd          = 1, /**< Odd data parity checking */
diff --git a/Bootloaders/DFU/Descriptors.c b/Bootloaders/DFU/Descriptors.c
index 1510c7e86929700cd594f52b5538f778f0f00c85..6fcdc4bce617ac4c6dfaa4dd842b4bf8168ca2e9 100644
--- a/Bootloaders/DFU/Descriptors.c
+++ b/Bootloaders/DFU/Descriptors.c
@@ -108,7 +108,7 @@ USB_Descriptor_Configuration_t ConfigurationDescriptor =
 			
 			.Attributes             = (ATTR_CAN_UPLOAD | ATTR_CAN_DOWNLOAD),
 
-			.DetatchTimeout         = 0x0000,
+			.DetachTimeout         = 0x0000,
 			.TransferSize           = 0x0c00,
 		
 			.DFUSpecification       = VERSION_BCD(01.01)
diff --git a/Bootloaders/DFU/Descriptors.h b/Bootloaders/DFU/Descriptors.h
index 9eadf9d4e1a9cad11fe1b3da7a09e2c669857ab3..61d44ec96fd6ede363f23798651c62b431ca483d 100644
--- a/Bootloaders/DFU/Descriptors.h
+++ b/Bootloaders/DFU/Descriptors.h
@@ -137,7 +137,7 @@
 			uint8_t                               Attributes; /**< DFU device attributes, a mask comprising of the
 			                                                    *  ATTR_* macros listed in this source file
 			                                                    */
-			uint16_t                              DetatchTimeout; /**< Timeout in milliseconds between a USB_DETACH
+			uint16_t                              DetachTimeout; /**< Timeout in milliseconds between a USB_DETACH
 			                                                        *  command being issued and the device detaching
 			                                                        *  from the USB bus
 			                                                        */																	
diff --git a/Bootloaders/Incomplete/MIDI/Descriptors.h b/Bootloaders/Incomplete/MIDI/Descriptors.h
index 86da657256263aedaddd5f67e357ea8ce2f88be3..93b6ac9354c77ec25d0752e1bdd12fb8a81e7845 100644
--- a/Bootloaders/Incomplete/MIDI/Descriptors.h
+++ b/Bootloaders/Incomplete/MIDI/Descriptors.h
@@ -113,7 +113,7 @@
 			USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint */
 
 			uint8_t                   Refresh; /**< Always set to zero */
-			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronisation information to, if needed (zero otherwise) */
+			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise) */
 		} USB_Audio_StreamEndpoint_Std_t;
 
 		/** Type define for an Audio class specific MIDI IN jack. This gives information to the host on a MIDI input, either
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
index 1c85d6ca16dec416265c58871f5e2e27a5554ec5..3a41fa4b389763684706fd499b701de35dccf032 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Ethernet.h
@@ -88,7 +88,7 @@
 			
 			union
 			{
-				uint16_t  EtherType; /**< Ethernet packet subprotocol type, for Ethernet V2 packets */
+				uint16_t  EtherType; /**< Ethernet packet sub-protocol type, for Ethernet V2 packets */
 				uint16_t  Length; /**< Ethernet frame length, for Ethernet V1 packets */
 			};
 		} Ethernet_Frame_Header_t;
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
index 618faea284f0fb71caad25e2f053d478b09cb0e9..ea68aa6e8f9fbfca307beaeefb89989aa05c86ea 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/ICMP.c
@@ -40,7 +40,7 @@
 /** Processes an ICMP packet inside an Ethernet frame, and writes the appropriate response
  *  to the output Ethernet frame if the host is issuing a ICMP ECHO request.
  *
- *  \param[in] FrameIN        Pointer to the incomming Ethernet frame information structure
+ *  \param[in] FrameIN        Pointer to the incoming Ethernet frame information structure
  *  \param[in] InDataStart    Pointer to the start of the incoming packet's ICMP header
  *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's ICMP header
  *
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.c
index db09a2662fae5a965351567f4ad4cdfb82a25f43..351fb0eac2cd47f848e0616cf3b56133360f2ebb 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/IP.c
@@ -37,9 +37,9 @@
 #include "IP.h"
 
 /** Processes an IP packet inside an Ethernet frame, and writes the appropriate response
- *  to the output Ethernet frame if one is created by a subprotocol handler.
+ *  to the output Ethernet frame if one is created by a sub-protocol handler.
  *
- *  \param[in] FrameIN        Pointer to the incomming Ethernet frame information structure
+ *  \param[in] FrameIN        Pointer to the incoming Ethernet frame information structure
  *  \param[in] InDataStart    Pointer to the start of the incoming packet's IP header
  *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's IP header
  *
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.c
index ea679512bc13c4d9f30143ec927ab7adc92ea5c8..4338d3ea8ede2ff1d8b27474578d596dbf16db8d 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/UDP.c
@@ -38,7 +38,7 @@
 #include "UDP.h"
 
 /** Processes a UDP packet inside an Ethernet frame, and writes the appropriate response
- *  to the output Ethernet frame if a subprotocol handler has created a response packet.
+ *  to the output Ethernet frame if a sub-protocol handler has created a response packet.
  *
  *  \param[in] IPHeaderInStart     Pointer to the start of the incoming packet's IP header
  *  \param[in] UDPHeaderInStart    Pointer to the start of the incoming packet's UDP header
diff --git a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.c b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.c
index 573ff336f8a03cd183c7f75f328025c7d821b541..94fca5a2c0f3164c3b73d955bdef319137c641de 100644
--- a/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.c
+++ b/Demos/Device/ClassDriver/RNDISEthernet/Lib/Webserver.c
@@ -31,7 +31,7 @@
 /** \file
  *
  *  Simple webserver application for demonstrating the RNDIS demo and TCP/IP stack. This
- *  application will serve up a static HTTP webpage when requested by the host.
+ *  application will serve up a static HTTP web page when requested by the host.
  */
 
 #include "Webserver.h"
diff --git a/Demos/Device/Incomplete/Sideshow/Sideshow.c b/Demos/Device/Incomplete/Sideshow/Sideshow.c
index fdf4265e64098ca7a2ebee59eb2ddc1618699868..151d282008f800b875deb520628656a44ea41103 100644
--- a/Demos/Device/Incomplete/Sideshow/Sideshow.c
+++ b/Demos/Device/Incomplete/Sideshow/Sideshow.c
@@ -37,7 +37,7 @@
 	appear as a new SideShow device which can have gadgets loaded onto
 	it.
 	
-	Note that while the incomming content is buffered in packet struct
+	Note that while the incoming content is buffered in packet struct
 	form, the data is not actually displayed. It is left to the user to
 	write sufficient code to read out the packed data for display to a
 	screen.
diff --git a/Demos/Device/LowLevel/AudioInput/Descriptors.h b/Demos/Device/LowLevel/AudioInput/Descriptors.h
index 3a3174b9bf25749b05b5feeda61f43157f1191dd..9e7b2d6d13eb44c2654b6039354cd0ee6e8d9c38 100644
--- a/Demos/Device/LowLevel/AudioInput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioInput/Descriptors.h
@@ -274,7 +274,7 @@
 			USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint */
 
 			uint8_t                   Refresh; /**< Always set to zero */
-			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronisation information to, if needed (zero otherwise) */
+			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise) */
 		} USB_Audio_StreamEndpoint_Std_t;
 					
 		/** Type define for an Audio class specific extended endpoint descriptor. This contains extra information
diff --git a/Demos/Device/LowLevel/AudioOutput/Descriptors.h b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
index 9ad0299f9c4b46f6937d1a1a39f4f708711c6e71..0f2bb65bdea9fbcff6f2eb689b46233e35764a68 100644
--- a/Demos/Device/LowLevel/AudioOutput/Descriptors.h
+++ b/Demos/Device/LowLevel/AudioOutput/Descriptors.h
@@ -274,7 +274,7 @@
 			USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint */
 
 			uint8_t                   Refresh; /**< Always set to zero */
-			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronisation information to, if needed (zero otherwise) */
+			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise) */
 		} USB_Audio_StreamEndpoint_Std_t;
 					
 		/** Type define for an Audio class specific extended endpoint descriptor. This contains extra information
diff --git a/Demos/Device/LowLevel/MIDI/Descriptors.h b/Demos/Device/LowLevel/MIDI/Descriptors.h
index 86da657256263aedaddd5f67e357ea8ce2f88be3..93b6ac9354c77ec25d0752e1bdd12fb8a81e7845 100644
--- a/Demos/Device/LowLevel/MIDI/Descriptors.h
+++ b/Demos/Device/LowLevel/MIDI/Descriptors.h
@@ -113,7 +113,7 @@
 			USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint */
 
 			uint8_t                   Refresh; /**< Always set to zero */
-			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronisation information to, if needed (zero otherwise) */
+			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise) */
 		} USB_Audio_StreamEndpoint_Std_t;
 
 		/** Type define for an Audio class specific MIDI IN jack. This gives information to the host on a MIDI input, either
diff --git a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
index 94878746a125acf29a17bd8f4cb45103b2c1b64b..2fad8dd8d0294e46b4dc2096b33a93f3fd1abec9 100644
--- a/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
+++ b/Demos/Device/LowLevel/MassStorage/Lib/SCSI.c
@@ -84,7 +84,7 @@ SCSI_Request_Sense_Response_t SenseData =
  *  to the appropriate SCSI command handling routine if the issued command is supported by the device, else it returns
  *  a command failure due to a ILLEGAL REQUEST.
  *
- *  \return Boolean true if the command completed sucessfully, false otherwise
+ *  \return Boolean true if the command completed successfully, false otherwise
  */
 bool SCSI_DecodeSCSICommand(void)
 {
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c
index debd322e4e588b872bcc456f34d9258ddc7de9bd..5a5c370698d7f9320bc50a2e4e85e9dc732d994a 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.c
@@ -31,7 +31,7 @@
 /** \file
  *
  *  Ethernet frame packet handling routines. This protocol handles the processing of raw Ethernet
- *  frames sent and received, deferring the processing of subpacket protocols to the appropriate
+ *  frames sent and received, deferring the processing of sub-packet protocols to the appropriate
  *  protocol handlers, such as DHCP or ARP.
  */
  
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.h b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.h
index 5b140a1ba9a64829c3fb6a6ff83f15e775bb00cd..2e6d9908a3d7f8031b36d2c423d35670d4f4a93f 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.h
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/Ethernet.h
@@ -97,7 +97,7 @@
 			
 			union
 			{
-				uint16_t  EtherType; /**< Ethernet packet subprotocol type, for Ethernet V2 packets */
+				uint16_t  EtherType; /**< Ethernet packet sub-protocol type, for Ethernet V2 packets */
 				uint16_t  Length; /**< Ethernet frame length, for Ethernet V1 packets */
 			};
 		} Ethernet_Frame_Header_t;
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c
index 2b881572f2a8ac1b18a545cd3b746f274a4a26ed..d311c345d78266cec1c2842eab4defc313660914 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/IP.c
@@ -37,7 +37,7 @@
 #include "IP.h"
 
 /** Processes an IP packet inside an Ethernet frame, and writes the appropriate response
- *  to the output Ethernet frame if one is created by a subprotocol handler.
+ *  to the output Ethernet frame if one is created by a sub-protocol handler.
  *
  *  \param[in] InDataStart    Pointer to the start of the incoming packet's IP header
  *  \param[out] OutDataStart  Pointer to the start of the outgoing packet's IP header
diff --git a/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.c b/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.c
index ea679512bc13c4d9f30143ec927ab7adc92ea5c8..4338d3ea8ede2ff1d8b27474578d596dbf16db8d 100644
--- a/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.c
+++ b/Demos/Device/LowLevel/RNDISEthernet/Lib/UDP.c
@@ -38,7 +38,7 @@
 #include "UDP.h"
 
 /** Processes a UDP packet inside an Ethernet frame, and writes the appropriate response
- *  to the output Ethernet frame if a subprotocol handler has created a response packet.
+ *  to the output Ethernet frame if a sub-protocol handler has created a response packet.
  *
  *  \param[in] IPHeaderInStart     Pointer to the start of the incoming packet's IP header
  *  \param[in] UDPHeaderInStart    Pointer to the start of the incoming packet's UDP header
diff --git a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
index 76fb638ac395e44723de6d7c13136878062b736b..f41fbeb11fec98159b66a6399ef3a6d946450122 100644
--- a/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
+++ b/Demos/Host/ClassDriver/JoystickHostWithParser/JoystickHostWithParser.c
@@ -263,7 +263,7 @@ bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
 
 	/* Iterate through the item's collection path, until either the root collection node or a collection with the
 	 * Joystick Usage is found - this prevents Mice, which use identical descriptors except for the Joystick usage
-	 * parent node, from being erronously treated as a joystick
+	 * parent node, from being erroneously treated as a joystick
 	 */
 	for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
 	{
diff --git a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c
index 7489ad10acb7caf048f20d9e1e12a3ead0d32bb5..e1a0f465897fbcbce061fe2304ce23aff178f7e3 100644
--- a/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c
+++ b/Demos/Host/ClassDriver/MassStorageHost/MassStorageHost.c
@@ -145,7 +145,7 @@ int main(void)
 				SCSI_Inquiry_Response_t InquiryData;
 				if (MS_Host_GetInquiryData(&FlashDisk_MS_Interface, 0, &InquiryData))
 				{
-					printf("Error retreiving device Inquiry data.\r\n");
+					printf("Error retrieving device Inquiry data.\r\n");
 					LEDs_SetAllLEDs(LEDMASK_USB_ERROR);
 					USB_HostState = HOST_STATE_WaitForDeviceRemoval;
 					break;				
diff --git a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
index 022a102d3d1a391be0469f6522a5998138ab3b88..ad3dec7ef43b9b29092769e36b634af06f334e05 100644
--- a/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
+++ b/Demos/Host/ClassDriver/MouseHostWithParser/MouseHostWithParser.c
@@ -278,7 +278,7 @@ bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
 
 	/* Iterate through the item's collection path, until either the root collection node or a collection with the
 	 * Mouse Usage is found - this prevents Joysticks, which use identical descriptors except for the Joystick usage
-	 * parent node, from being erronously treated as a mouse
+	 * parent node, from being erroneously treated as a mouse
 	 */
 	for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
 	{
diff --git a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.c b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.c
index 849b1f97c068d7fa9c9508ffb77a9ee558565655..418cb8cd14d94b7e02a4f981eff77d24e907ba39 100644
--- a/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.c
+++ b/Demos/Host/Incomplete/BluetoothHost/ConfigDescriptor.c
@@ -50,7 +50,7 @@ uint8_t ProcessConfigurationDescriptor(void)
 			return ControlErrorDuringConfigRead;
 	}
 	
-	/* The bluetooth USB transport addendium mandates that the data (not streaming voice) endpoints
+	/* The bluetooth USB transport addendum mandates that the data (not streaming voice) endpoints
 	   be in the first interface descriptor (interface 0) */
 	USB_GetNextDescriptorOfType(&CurrConfigBytesRem, &CurrConfigLocation, DTYPE_Interface);
 	
diff --git a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
index d86b99dc1879812be52f3173de9effbc526490df..fd3dfc08b3e276721771acf0a9ea7bb2d61daa30 100644
--- a/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
+++ b/Demos/Host/Incomplete/BluetoothHost/Lib/BluetoothACLPackets.c
@@ -76,7 +76,7 @@ void Bluetooth_ProcessACLPackets(void)
 				Pipe_Freeze();
 				break;
 			default:
-				BT_DEBUG("(ACL) >> Unknown Signalling Command 0x%02X", SignalCommandHeader.Code);
+				BT_DEBUG("(ACL) >> Unknown Signaling Command 0x%02X", SignalCommandHeader.Code);
 					
 				Pipe_Discard_Stream(ACLPacketHeader.DataLength);
 				Pipe_ClearIN();		
diff --git a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c
index 9625ef4150a7a96113742254566fcaf95ea6e469..5a0dc698d666ed8a4861fcb99cc4c4a2e3d4827f 100644
--- a/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c
+++ b/Demos/Host/LowLevel/JoystickHostWithParser/HIDReport.c
@@ -85,7 +85,7 @@ bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
 
 	/* Iterate through the item's collection path, until either the root collection node or a collection with the
 	 * Joystick Usage is found - this prevents Mice, which use identical descriptors except for the Mouse usage
-	 * parent node, from being erronously treated as a joystick
+	 * parent node, from being erroneously treated as a joystick
 	 */
 	for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
 	{
diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
index 62260fe799b4f805a98f3697e701031740eabfe2..ff01dc0f2d2f9001537b071a72795ae5d94b6dfd 100644
--- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
+++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.c
@@ -237,7 +237,7 @@ static uint8_t MassStore_GetReturnedStatus(CommandStatusWrapper_t* SCSICommandSt
 {
 	uint8_t ErrorCode = PIPE_RWSTREAM_NoError;
 
-	/* If an error in the command ocurred, abort */
+	/* If an error in the command occurred, abort */
 	if ((ErrorCode = MassStore_WaitForDataReceived()) != PIPE_RWSTREAM_NoError)
 	  return ErrorCode;
 
diff --git a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
index 1a2e10df3bcddbd85ee9f7ec54c7a3639640b645..c7bb7c7d9c01acd7352b8312d3e97c77e15a1ee5 100644
--- a/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
+++ b/Demos/Host/LowLevel/MassStorageHost/Lib/MassStoreCommands.h
@@ -108,7 +108,7 @@
 		 */
 		typedef struct
 		{
-			uint8_t       ReponseCode;
+			uint8_t       ResponseCode;
 
 			uint8_t       SegmentNumber;
 			
diff --git a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c
index a6256bfd5987f124c19f20b1fb002becd2e2a211..1afc87d46a5b61e1bf616c620d93fc85ecff1fea 100644
--- a/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c
+++ b/Demos/Host/LowLevel/MassStorageHost/MassStorageHost.c
@@ -249,7 +249,7 @@ void MassStorage_Task(void)
 				if (!(ErrorCode))
 				  break;
 
-				/* If an error othe than a logical command failure (indicating device busy) returned, abort */
+				/* If an error other than a logical command failure (indicating device busy) returned, abort */
 				if (ErrorCode != MASS_STORE_SCSI_COMMAND_FAILED)
 				{
 					ShowDiskReadError(PSTR("Test Unit Ready"), ErrorCode);
@@ -276,7 +276,7 @@ void MassStorage_Task(void)
 			/* Display the disk capacity in blocks * block size bytes */
 			printf_P(PSTR("%lu blocks of %lu bytes.\r\n"), DiskCapacity.Blocks, DiskCapacity.BlockSize);
 
-			/* Create a new buffer capabable of holding a single block from the device */
+			/* Create a new buffer capable of holding a single block from the device */
 			uint8_t BlockBuffer[DiskCapacity.BlockSize];
 
 			/* Read in the first 512 byte block from the device */
diff --git a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c
index 595b586a9701df4248a0fc7bf0336fe563d06bd5..faf8e98f419e8820a49571e4919f9e8e5a6f0058 100644
--- a/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c
+++ b/Demos/Host/LowLevel/MouseHostWithParser/HIDReport.c
@@ -85,7 +85,7 @@ bool CALLBACK_HIDParser_FilterHIDReportItem(HID_ReportItem_t* CurrentItem)
 
 	/* Iterate through the item's collection path, until either the root collection node or a collection with the
 	 * Mouse Usage is found - this prevents Joysticks, which use identical descriptors except for the Joystick usage
-	 * parent node, from being erronously treated as a mouse
+	 * parent node, from being erroneously treated as a mouse
 	 */
 	for (HID_CollectionPath_t* CurrPath = CurrentItem->CollectionPath; CurrPath != NULL; CurrPath = CurrPath->Parent)
 	{
diff --git a/LUFA/DriverStubs/Buttons.h b/LUFA/DriverStubs/Buttons.h
index 9449bcbfd633297e47b0aac8c391616fa7421016..225ce5f20d47c2566802ffbdb0244a6d85e7006a 100644
--- a/LUFA/DriverStubs/Buttons.h
+++ b/LUFA/DriverStubs/Buttons.h
@@ -61,7 +61,7 @@
 	/* Public Interface - May be used in end-application: */
 		/* Macros: */
 			/** Button mask for the first button on the board. */
-			#define BUTTONS_BUTTON1          // TODO: Add mask for first board buton here
+			#define BUTTONS_BUTTON1          // TODO: Add mask for first board button here
 	
 		/* Inline Functions: */
 		#if !defined(__DOXYGEN__)
diff --git a/LUFA/Drivers/Board/Dataflash.h b/LUFA/Drivers/Board/Dataflash.h
index 63aca2dc18d04f878c7c8b81efa54cddcf355c81..3502dca418ca926376ddaca35071073b1062f3a5 100644
--- a/LUFA/Drivers/Board/Dataflash.h
+++ b/LUFA/Drivers/Board/Dataflash.h
@@ -185,7 +185,7 @@
 				Dataflash_SelectChip(SelectedChipMask);
 			}
 
-			/** Spinloops while the currently selected dataflash is busy executing a command, such as a main
+			/** Spin-loops while the currently selected dataflash is busy executing a command, such as a main
 			 *  memory page program or main memory to buffer transfer.
 			 */
 			static inline void Dataflash_WaitWhileBusy(void)
diff --git a/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h b/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
index 3824145bf62214fdaebe66c08ceea55d90d4831e..e8c0c9098e00f1571d683edf618d0b6679931d8d 100644
--- a/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
+++ b/LUFA/Drivers/Peripheral/AVRU4U6U7/ADC.h
@@ -205,7 +205,7 @@
 				ADCSRA |= (1 << ADSC);
 			}
 
-			/** Performs a complete single reading from channel, including a polling spinloop to wait for the
+			/** Performs a complete single reading from channel, including a polling spin-loop to wait for the
 			 *  conversion to complete, and the returning of the converted value.
 			 *
 			 *  \param[in] MUXMask  Mask comprising of an ADC channel number, reference mask and adjustment mask
diff --git a/LUFA/Drivers/Peripheral/SPI.h b/LUFA/Drivers/Peripheral/SPI.h
index dcc58ce494d791c2b13141ae4ed9e9326ac1c612..722437ea8f4666573dc53364d3ce4783cac16d2c 100644
--- a/LUFA/Drivers/Peripheral/SPI.h
+++ b/LUFA/Drivers/Peripheral/SPI.h
@@ -41,7 +41,7 @@
  *    - None
  *
  *  \section Module Description
- *  Driver for the hardware SPI port avaliable on most AVR models. This module provides
+ *  Driver for the hardware SPI port available on most AVR models. This module provides
  *  an easy to use driver for the setup of and transfer of data over the AVR's SPI port.
  *
  *  @{
diff --git a/LUFA/Drivers/Peripheral/Serial.h b/LUFA/Drivers/Peripheral/Serial.h
index 4009331bd41cb24b0f8bfebb9c830617d9ffc379..326d0fd649b1086333abafd4868cefd360e21de6 100644
--- a/LUFA/Drivers/Peripheral/Serial.h
+++ b/LUFA/Drivers/Peripheral/Serial.h
@@ -100,7 +100,7 @@
 			void Serial_TxString(const char *StringPtr) ATTR_NON_NULL_PTR_ARG(1);
 
 		/* Inline Functions: */
-			/** Initializes the USART, ready for serial data transmission and reception. This initialises the interface to
+			/** Initializes the USART, ready for serial data transmission and reception. This initializes the interface to
 			 *  standard 8-bit, no parity, 1 stop bit settings suitable for most applications.
 			 *
 			 *  \param[in] BaudRate     Serial baud rate, in bits per second
diff --git a/LUFA/Drivers/USB/Class/Audio.h b/LUFA/Drivers/USB/Class/Audio.h
index e517f3be095798dad03b80c9164e559550d295ba..83eafcbde5569f22b4a8b9c48004c820d1c7d9d8 100644
--- a/LUFA/Drivers/USB/Class/Audio.h
+++ b/LUFA/Drivers/USB/Class/Audio.h
@@ -40,7 +40,7 @@
  *  USB mode only. User applications can use this class driver instead of implementing the Audio class manually via 
  *  the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts or Devices using the USB Audio Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/CDC.h b/LUFA/Drivers/USB/Class/CDC.h
index 3d40dff3a5a3096b7f80be34205a891dee762237..055859e47891340bc795a66cb4a459a791ef030a 100644
--- a/LUFA/Drivers/USB/Class/CDC.h
+++ b/LUFA/Drivers/USB/Class/CDC.h
@@ -41,7 +41,7 @@
  *  Ports, for both Device and Host USB modes. User applications can use this class driver instead of implementing the
  *  CDC class manually via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts or Devices using the USB CDC Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/Common/Audio.h b/LUFA/Drivers/USB/Class/Common/Audio.h
index 2508daadf472e21586673e282e3aa874fd0d63dc..553c778e249bec1400a8f5f14c37e5a24198d450 100644
--- a/LUFA/Drivers/USB/Class/Common/Audio.h
+++ b/LUFA/Drivers/USB/Class/Common/Audio.h
@@ -147,7 +147,7 @@
 
 		/** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
 		#define FEATURE_BASS_BOOST           (1 << 8)
-
+
 		/** Supported feature mask for an Audio class feature unit descriptor. See the Audio class specification for more details. */
 		#define FEATURE_BASS_LOUDNESS        (1 << 9)
 
@@ -346,7 +346,7 @@
 			USB_Descriptor_Endpoint_t Endpoint; /**< Standard endpoint descriptor describing the audio endpoint */
 
 			uint8_t                   Refresh; /**< Always set to zero */
-			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronisation information to, if needed (zero otherwise) */
+			uint8_t                   SyncEndpointNumber; /**< Endpoint address to send synchronization information to, if needed (zero otherwise) */
 		} USB_Audio_StreamEndpoint_Std_t;
 					
 		/** Type define for an Audio class specific extended endpoint descriptor. This contains extra information
diff --git a/LUFA/Drivers/USB/Class/Common/MassStorage.h b/LUFA/Drivers/USB/Class/Common/MassStorage.h
index 6f5dd8911af3e27db5db09a5b603a4db1d163392..fe3e977344ef5882f525c6e2bc2c2e0e37b15f91 100644
--- a/LUFA/Drivers/USB/Class/Common/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Common/MassStorage.h
@@ -109,7 +109,7 @@
 		/** SCSI Command Code for a MODE SENSE (10) command. */
 		#define SCSI_CMD_MODE_SENSE_10                         0x5A
 
-		/** SCSI Sense Code to indicate no error has ocurred. */
+		/** SCSI Sense Code to indicate no error has occurred. */
 		#define SCSI_SENSE_KEY_GOOD                            0x00
 
 		/** SCSI Sense Code to indicate that the device has recovered from an error. */
@@ -121,7 +121,7 @@
 		/** SCSI Sense Code to indicate an error whilst accessing the medium. */
 		#define SCSI_SENSE_KEY_MEDIUM_ERROR                    0x03
 
-		/** SCSI Sense Code to indicate a hardware has ocurred. */
+		/** SCSI Sense Code to indicate a hardware has occurred. */
 		#define SCSI_SENSE_KEY_HARDWARE_ERROR                  0x04
 
 		/** SCSI Sense Code to indicate that an illegal request has been issued. */
@@ -138,7 +138,7 @@
 		/** SCSI Sense Code to indicate an error while trying to write to a write-once medium. */
 		#define SCSI_SENSE_KEY_BLANK_CHECK                     0x08
 
-		/** SCSI Sense Code to indicate a vendor specific error has ocurred. */
+		/** SCSI Sense Code to indicate a vendor specific error has occurred. */
 		#define SCSI_SENSE_KEY_VENDOR_SPECIFIC                 0x09
 
 		/** SCSI Sense Code to indicate that an EXTENDED COPY command has aborted due to an error. */
@@ -162,7 +162,7 @@
 		/** SCSI Additional Sense Code to indicate an invalid field was encountered while processing the issued command. */
 		#define SCSI_ASENSE_INVALID_FIELD_IN_CDB               0x24
 
-		/** SCSI Additional Sense Code to indicate that an attemp to write to a protected area was made. */
+		/** SCSI Additional Sense Code to indicate that an attempt to write to a protected area was made. */
 		#define SCSI_ASENSE_WRITE_PROTECTED                    0x27
 
 		/** SCSI Additional Sense Code to indicate an error whilst formatting the device medium. */
diff --git a/LUFA/Drivers/USB/Class/Device/Audio.h b/LUFA/Drivers/USB/Class/Device/Audio.h
index 0200cf42835e3e6e72678a3611ddf571ea080e59..25ac6efd83f1f77b6f51fe26e995fe0c8205fa85 100644
--- a/LUFA/Drivers/USB/Class/Device/Audio.h
+++ b/LUFA/Drivers/USB/Class/Device/Audio.h
@@ -69,10 +69,10 @@
 														*   structure controls
 														*/
 
-					uint8_t  DataINEndpointNumber; /**< Endpoint number of the incomming Audio Streaming data, if available
+					uint8_t  DataINEndpointNumber; /**< Endpoint number of the incoming Audio Streaming data, if available
 													*   (zero if unused)
 													*/
-					uint16_t DataINEndpointSize; /**< Size in bytes of the incomming Audio Streaming data endpoint, if available
+					uint16_t DataINEndpointSize; /**< Size in bytes of the incoming Audio Streaming data endpoint, if available
 												  *   (zero if unused)
 												  */
 
@@ -102,11 +102,11 @@
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool Audio_Device_ConfigureEndpoints(USB_ClassInfo_Audio_Device_t* const AudioInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
-			/** Processes incomming control requests from the host, that are directed to the given Audio class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given Audio class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -141,7 +141,7 @@
 		/* Inline Functions: */
 			/** Reads the next 8-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -163,7 +163,7 @@
 
 			/** Reads the next 16-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -185,7 +185,7 @@
 
 			/** Reads the next 24-bit audio sample from the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsSampleReceived() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -206,7 +206,7 @@
 
 			/** Writes the next 8-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -225,7 +225,7 @@
 
 			/** Writes the next 16-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
@@ -244,7 +244,7 @@
 
 			/** Writes the next 24-bit audio sample to the current audio interface.
 			 *
-			 *  \note This should be preceeded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
+			 *  \note This should be preceded immediately by a call to the USB_Audio_IsReadyForNextSample() function to ensure that
 			 *        the correct endpoint is selected and ready for data.
 			 *
 			 *  \param[in,out] AudioInterfaceInfo  Pointer to a structure containing an Audio Class configuration and state
diff --git a/LUFA/Drivers/USB/Class/Device/CDC.h b/LUFA/Drivers/USB/Class/Device/CDC.h
index c3304f099e74d543657a2f05154235c8525a357d..1691857cdde897b296aa0a8e256134280fb4472f 100644
--- a/LUFA/Drivers/USB/Class/Device/CDC.h
+++ b/LUFA/Drivers/USB/Class/Device/CDC.h
@@ -116,11 +116,11 @@
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool CDC_Device_ConfigureEndpoints(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
-			/** Processes incomming control requests from the host, that are directed to the given CDC class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given CDC class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] CDCInterfaceInfo  Pointer to a structure containing a CDC Class configuration and state
@@ -201,7 +201,7 @@
 			uint8_t CDC_Device_Flush(USB_ClassInfo_CDC_Device_t* const CDCInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 			
 			/** Sends a Serial Control Line State Change notification to the host. This should be called when the virtual serial
-			 *  control lines (DCD, DSR, etc.) have changed states, or to give BREAK notfications to the host. Line states persist
+			 *  control lines (DCD, DSR, etc.) have changed states, or to give BREAK notifications to the host. Line states persist
 			 *  until they are cleared via a second notification. This should be called each time the CDC class driver's 
 			 *  ControlLineStates.DeviceToHost value is updated to push the new states to the USB host.
 			 *
diff --git a/LUFA/Drivers/USB/Class/Device/HID.h b/LUFA/Drivers/USB/Class/Device/HID.h
index 7bcc263a87058abd9b9cb729ece11e834841c1b1..d1c3526e7e5cc857ebbbbf3af4c741330e3c05fa 100644
--- a/LUFA/Drivers/USB/Class/Device/HID.h
+++ b/LUFA/Drivers/USB/Class/Device/HID.h
@@ -61,7 +61,7 @@
 			 *  within the user application, and passed to each of the HID class driver functions as the
 			 *  HIDInterfaceInfo parameter. This stores each HID interface's configuration and state information.
 			 *
-			 *  \note Due to technical limitations, the HID device class driver does not utilize a seperate OUT
+			 *  \note Due to technical limitations, the HID device class driver does not utilize a separate OUT
 			 *        endpoint for host->device communications. Instead, the host->device data (if any) is sent to
 			 *        the device via the control endpoint.
 			 */
@@ -112,11 +112,11 @@
 			 *
 			 *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool HID_Device_ConfigureEndpoints(USB_ClassInfo_HID_Device_t* HIDInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 			
-			/** Processes incomming control requests from the host, that are directed to the given HID class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given HID class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class configuration and state
diff --git a/LUFA/Drivers/USB/Class/Device/MIDI.h b/LUFA/Drivers/USB/Class/Device/MIDI.h
index c17b72ad71233c701b4268156fc83e4d4519b554..b72e518d118f0d38411201d2b69efc7c90151c40 100644
--- a/LUFA/Drivers/USB/Class/Device/MIDI.h
+++ b/LUFA/Drivers/USB/Class/Device/MIDI.h
@@ -68,8 +68,8 @@
 				{
 					uint8_t  StreamingInterfaceNumber; /**< Index of the Audio Streaming interface within the device this structure controls */
 
-					uint8_t  DataINEndpointNumber; /**< Endpoint number of the incomming MIDI data, if available (zero if unused) */
-					uint16_t DataINEndpointSize; /**< Size in bytes of the incomming MIDI data endpoint, if available (zero if unused) */
+					uint8_t  DataINEndpointNumber; /**< Endpoint number of the incoming MIDI data, if available (zero if unused) */
+					uint16_t DataINEndpointSize; /**< Size in bytes of the incoming MIDI data endpoint, if available (zero if unused) */
 					bool     DataINEndpointDoubleBank; /** Indicates if the MIDI interface's IN data endpoint should use double banking */
 
 					uint8_t  DataOUTEndpointNumber; /**< Endpoint number of the outgoing MIDI data, if available (zero if unused) */
@@ -93,11 +93,11 @@
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool MIDI_Device_ConfigureEndpoints(USB_ClassInfo_MIDI_Device_t* const MIDIInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 			
-			/** Processes incomming control requests from the host, that are directed to the given MIDI class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given MIDI class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] MIDIInterfaceInfo  Pointer to a structure containing a MIDI Class configuration and state
diff --git a/LUFA/Drivers/USB/Class/Device/MassStorage.h b/LUFA/Drivers/USB/Class/Device/MassStorage.h
index 3de5fd39644959709a1a0a62398d50f14243f68e..a05003bbe6b1d11fa42cdc4ca134f3881b2d5cfe 100644
--- a/LUFA/Drivers/USB/Class/Device/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Device/MassStorage.h
@@ -102,11 +102,11 @@
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a Mass Storage Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool MS_Device_ConfigureEndpoints(USB_ClassInfo_MS_Device_t* const MSInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 			
-			/** Processes incomming control requests from the host, that are directed to the given Mass Storage class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given Mass Storage class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] MSInterfaceInfo  Pointer to a structure containing a Mass Storage Class configuration and state
diff --git a/LUFA/Drivers/USB/Class/Device/RNDIS.h b/LUFA/Drivers/USB/Class/Device/RNDIS.h
index 7521f074167bb197a76146642c652be2c657ac9a..f50776f45a1794327b29ae48d215e0c8b906d048 100644
--- a/LUFA/Drivers/USB/Class/Device/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/Device/RNDIS.h
@@ -111,11 +111,11 @@
 			 *
 			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing a RNDIS Class configuration and state
 			 *
-			 *  \return Boolean true if the endpoints were sucessfully configured, false otherwise
+			 *  \return Boolean true if the endpoints were successfully configured, false otherwise
 			 */
 			bool RNDIS_Device_ConfigureEndpoints(USB_ClassInfo_RNDIS_Device_t* const RNDISInterfaceInfo) ATTR_NON_NULL_PTR_ARG(1);
 
-			/** Processes incomming control requests from the host, that are directed to the given RNDIS class interface. This should be
+			/** Processes incoming control requests from the host, that are directed to the given RNDIS class interface. This should be
 			 *  linked to the library \ref EVENT_USB_Device_UnhandledControlRequest() event.
 			 *
 			 *  \param[in,out] RNDISInterfaceInfo  Pointer to a structure containing a RNDIS Class configuration and state
diff --git a/LUFA/Drivers/USB/Class/HID.h b/LUFA/Drivers/USB/Class/HID.h
index f5f9575c713ad0b979794d85b366471920209789..6e331cb8fce8688ba49f3ff3ba21ebad2f982553 100644
--- a/LUFA/Drivers/USB/Class/HID.h
+++ b/LUFA/Drivers/USB/Class/HID.h
@@ -42,7 +42,7 @@
  *  and Host USB modes. User applications can use this class driver instead of implementing the HID class manually 
  *  via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts or Devices using the USB HID Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/Host/HID.h b/LUFA/Drivers/USB/Class/Host/HID.h
index 8a70f27b37d443122da4dc2b8e5bcedc09c00019..2860b813c816bc07e282114f265f771850d446e6 100644
--- a/LUFA/Drivers/USB/Class/Host/HID.h
+++ b/LUFA/Drivers/USB/Class/Host/HID.h
@@ -105,10 +105,10 @@
 					bool SupportsBootProtocol; /**< Indicates if the current interface instance supports the HID Boot
 					                            *   Protocol when enabled via \ref HID_Host_SetBootProtocol()
 					                            */
-					bool DeviceUsesOUTPipe; /**< Indicates if the current interface instance uses a seperate OUT data pipe for
+					bool DeviceUsesOUTPipe; /**< Indicates if the current interface instance uses a separate OUT data pipe for
 					                         *   OUT reports, or if OUT reports are sent via the control pipe instead.
 					                         */
-					bool UsingBootProtocol; /**< Indicates that the interface is currently initialised in Boot Protocol mode */
+					bool UsingBootProtocol; /**< Indicates that the interface is currently initialized in Boot Protocol mode */
 					uint16_t HIDReportSize; /**< Size in bytes of the HID report descriptor in the device */
 					
 					uint8_t LargestReportSize; /**< Largest report the device will send, in bytes */
@@ -159,7 +159,7 @@
 
 			/** Receives a HID IN report from the attached HID device, when a report has been received on the HID IN Data pipe.
 			 *  
-			 *  \note The destination buffer should be large enough to accomodate the largest report that the attached device
+			 *  \note The destination buffer should be large enough to accommodate the largest report that the attached device
 			 *        can generate.
 			 *
 			 *  \param[in,out] HIDInterfaceInfo  Pointer to a structure containing a HID Class host configuration and state
diff --git a/LUFA/Drivers/USB/Class/Host/MassStorage.h b/LUFA/Drivers/USB/Class/Host/MassStorage.h
index 4cd37bdf347a058eb132cd4ed9a89a0941e4e0f9..2b6b0aedaa65bc99a7d2c0ee0525862d5e158db6 100644
--- a/LUFA/Drivers/USB/Class/Host/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/Host/MassStorage.h
@@ -86,7 +86,7 @@
 					uint16_t DataINPipeSize; /**< Size in bytes of the Mass Storage interface's IN data pipe */
 					uint16_t DataOUTPipeSize;  /**< Size in bytes of the Mass Storage interface's OUT data pipe */
 					
-					uint32_t TransactionTag; /**< Current transaction tag for data synchronising of packets */
+					uint32_t TransactionTag; /**< Current transaction tag for data synchronizing of packets */
 				} State; /**< State data for the USB class interface within the device. All elements in this section
 						  *   <b>may</b> be set to initial values, but may also be ignored to default to sane values when
 						  *   the interface is enumerated.
diff --git a/LUFA/Drivers/USB/Class/Host/Printer.h b/LUFA/Drivers/USB/Class/Host/Printer.h
index 34f8e4e88ec53406d9bbe992cd0205139d746769..92b0a3d174b2b71f6bb237d059014551a325d5be 100644
--- a/LUFA/Drivers/USB/Class/Host/Printer.h
+++ b/LUFA/Drivers/USB/Class/Host/Printer.h
@@ -167,7 +167,7 @@
 
 			/** Retrieves the attached printer device's ID string, formatted according to IEEE 1284. This string is sent as a
 			 *  Unicode string from the device and is automatically converted to an ASCII encoded C string by this function, thus
-			 *  the maximum reportable string length is two less than the size given (to accomodate the Unicode string length
+			 *  the maximum reportable string length is two less than the size given (to accommodate the Unicode string length
 			 *  bytes which are removed).
 			 *
 			 *  This string, when supported, contains the model, manufacturer and acceptable printer languages for the attached device.
diff --git a/LUFA/Drivers/USB/Class/MIDI.h b/LUFA/Drivers/USB/Class/MIDI.h
index 96b23efcbf496cb2aa43581dc475749c96ce3fd4..300e0b268dc11e8cbb9ad806820b9cca4ddc899b 100644
--- a/LUFA/Drivers/USB/Class/MIDI.h
+++ b/LUFA/Drivers/USB/Class/MIDI.h
@@ -38,10 +38,10 @@
  *
  *  \section Module Description
  *  MIDI Class Driver module. This module contains an internal implementation of the USB MIDI Class, for both Device
- *  and Host USB modes. User applications can use this class driver instead of implementing the MIDI class manuall
+ *  and Host USB modes. User applications can use this class driver instead of implementing the MIDI class manually
  *  via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts or Devices using the USB MIDI Class.
  *
  *  \note The USB MIDI class is actually a special case of the regular Audio class, thus this module depends on
diff --git a/LUFA/Drivers/USB/Class/MassStorage.h b/LUFA/Drivers/USB/Class/MassStorage.h
index 962b4d62b9f4faf2e00f85b6542f540f5ae7cfd2..7da45734f58e28296b729c59995e31ee53532b16 100644
--- a/LUFA/Drivers/USB/Class/MassStorage.h
+++ b/LUFA/Drivers/USB/Class/MassStorage.h
@@ -41,7 +41,7 @@
  *  Device and Host USB modes. User applications can use this class driver instead of implementing the Mass Storage class
  *  manually via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts or Devices using the USB Mass Storage Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/Printer.h b/LUFA/Drivers/USB/Class/Printer.h
index 2f0285bae051eb50665e6b7fdf0f8f1759960411..239e998934a4d8c66c9047a0f39e2c27979f9017 100644
--- a/LUFA/Drivers/USB/Class/Printer.h
+++ b/LUFA/Drivers/USB/Class/Printer.h
@@ -42,7 +42,7 @@
  *  than high level raster or text functions. User applications can use this class driver instead of implementing the Printer
  *  class manually via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Devices using the USB Printer Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/RNDIS.h b/LUFA/Drivers/USB/Class/RNDIS.h
index 7b250a4dd214ed19cd085275d45e1b4ed9af5858..c4a3061dbdc344b26e6800126c755fc33253b763 100644
--- a/LUFA/Drivers/USB/Class/RNDIS.h
+++ b/LUFA/Drivers/USB/Class/RNDIS.h
@@ -40,7 +40,7 @@
  *  Class, for Device USB mode only. User applications can use this class driver instead of implementing the RNDIS
  *  class manually via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Hosts using the USB RNDIS Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/Class/StillImage.h b/LUFA/Drivers/USB/Class/StillImage.h
index 794d612c1f598bab489880c8999f94d497fd3cc6..524bb9ef813b1e98668b32033ac0e75a4a07da36 100644
--- a/LUFA/Drivers/USB/Class/StillImage.h
+++ b/LUFA/Drivers/USB/Class/StillImage.h
@@ -40,7 +40,7 @@
  *  for USB Host mode only. User applications can use this class driver instead of implementing the Still Image class
  *  manually via the low-level LUFA APIs.
  *
- *  This module is designed to simplify the user code by exposing only the required interface needed to interace with
+ *  This module is designed to simplify the user code by exposing only the required interface needed to interface with
  *  Devices using the USB Still Image Class.
  *
  *  @{
diff --git a/LUFA/Drivers/USB/HighLevel/Events.h b/LUFA/Drivers/USB/HighLevel/Events.h
index 1e03e7b48e08ff9f900b7871a8cdefb217e81b41..933091a5bc78ca8bb7005ed18905e93d4beb55ef 100644
--- a/LUFA/Drivers/USB/HighLevel/Events.h
+++ b/LUFA/Drivers/USB/HighLevel/Events.h
@@ -192,7 +192,7 @@
 			 *  be a standard request that the library has no handler code for, or a class specific request
 			 *  issued to the device which must be handled appropriately.
 			 *
-			 *  This event is time-critical; eack packet within the request transaction must be acknowedged or
+			 *  This event is time-critical; each packet within the request transaction must be acknowledged or
 			 *  sent within 50ms or the host will abort the transfer.
 			 *
 			 *  \note This event does not exist if the USB_HOST_ONLY token is supplied to the compiler (see
@@ -258,7 +258,7 @@
 			void EVENT_USB_Device_Reset(void);
 
 			/** Event for USB Start Of Frame detection, when enabled. This event fires at the start of each USB
-			 *  frame, once per millisecond, and is synchronised to the USB bus. This can be used as an accurate
+			 *  frame, once per millisecond, and is synchronized to the USB bus. This can be used as an accurate
 			 *  millisecond timer source when the USB bus is enumerated in device mode to a USB host.
 			 *
 			 *  This event is time-critical; it is run once per millisecond and thus long handlers will significantly
diff --git a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
index 0b56ab6d08bff20527e99ff8aaf5e70a8e8361ef..9e5764bcee4d724459749733bfb34eed3b72d143 100644
--- a/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
+++ b/LUFA/Drivers/USB/HighLevel/StdDescriptors.h
@@ -72,7 +72,7 @@
 				 *  a unique serial number internally, and setting the device descriptors serial number string index to this value
 				 *  will cause it to use the internal serial number.
 				 *
-				 *  On unsupported devices, this will evaluate to NO_DESCRIPTOR and so will force the host to create a pseduo-serial
+				 *  On unsupported devices, this will evaluate to NO_DESCRIPTOR and so will force the host to create a pseudo-serial
 				 *  number for the device.
 				 */
 				#define USE_INTERNAL_SERIAL           0xDC
diff --git a/LUFA/Drivers/USB/LowLevel/Device.h b/LUFA/Drivers/USB/LowLevel/Device.h
index f107407bfca40604fff512c3206f8b24a6e2b7aa..acffd806bd1f8904b2faf9f6324dce9209840a4a 100644
--- a/LUFA/Drivers/USB/LowLevel/Device.h
+++ b/LUFA/Drivers/USB/LowLevel/Device.h
@@ -113,7 +113,7 @@
 				static inline bool USB_Device_IsUSBSuspended(void);
 				
 				/** Enables the device mode Start Of Frame events. When enabled, this causes the
-				 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronised to the USB bus,
+				 *  \ref EVENT_USB_Device_StartOfFrame() event to fire once per millisecond, synchronized to the USB bus,
 				 *  at the start of each USB frame when enumerated in device mode.
 				 */
 				static inline bool USB_Device_EnableSOFEvents(void);
diff --git a/LUFA/Drivers/USB/LowLevel/Endpoint.h b/LUFA/Drivers/USB/LowLevel/Endpoint.h
index 5bbbb87b537d5120e724773ddd057469640a1862..e30b14d33d8d6775b143d07ac13c5634f148bf92 100644
--- a/LUFA/Drivers/USB/LowLevel/Endpoint.h
+++ b/LUFA/Drivers/USB/LowLevel/Endpoint.h
@@ -735,7 +735,7 @@
 			bool Endpoint_ConfigureEndpoint(const uint8_t  Number, const uint8_t Type, const uint8_t Direction,
 			                                const uint16_t Size, const uint8_t Banks);
 
-			/** Spinloops until the currently selected non-control endpoint is ready for the next packet of data
+			/** Spin-loops until the currently selected non-control endpoint is ready for the next packet of data
 			 *  to be read or written to it.
 			 *
 			 *  \note This routine should not be called on CONTROL type endpoints.
diff --git a/LUFA/Drivers/USB/LowLevel/Pipe.h b/LUFA/Drivers/USB/LowLevel/Pipe.h
index 6e643778bb35d03a30b9560b05925757278d5490..c04849167827bb1cb698dfd1e56fd8853a079d17 100644
--- a/LUFA/Drivers/USB/LowLevel/Pipe.h
+++ b/LUFA/Drivers/USB/LowLevel/Pipe.h
@@ -793,7 +793,7 @@
 			bool Pipe_ConfigurePipe(const uint8_t  Number, const uint8_t Type, const uint8_t Token, const uint8_t EndpointNumber,
 			                        const uint16_t Size, const uint8_t Banks);
 
-			/** Spinloops until the currently selected non-control pipe is ready for the next packed of data to be read 
+			/** Spin-loops until the currently selected non-control pipe is ready for the next packed of data to be read 
 			 *  or written to it, aborting in the case of an error condition (such as a timeout or device disconnect).
 			 *
 			 *  \ingroup Group_PipeRW
diff --git a/Projects/AVRISP/AVRISP.c b/Projects/AVRISP/AVRISP.c
index 4eb02d2bf3951f981cc14264a2728cecbbeceb24..203fced45db1f5c13877e35e1694d69ad024638c 100644
--- a/Projects/AVRISP/AVRISP.c
+++ b/Projects/AVRISP/AVRISP.c
@@ -48,7 +48,7 @@ int main(void)
 	LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY);
 
 	for (;;)
-	{
+	{
 		Process_AVRISP_Commands();
 		
 		V2Params_UpdateParamValues();
@@ -111,20 +111,20 @@ void EVENT_USB_Device_ConfigurationChanged(void)
 	}
 }
 
-/** Processes incomming V2 Protocol commands from the host, returning a response when required. */
-void Process_AVRISP_Commands(void)
-{
+/** Processes incoming V2 Protocol commands from the host, returning a response when required. */
+void Process_AVRISP_Commands(void)
+{
 	/* Device must be connected and configured for the task to run */
 	if (USB_DeviceState != DEVICE_STATE_Configured)
-	  return;
-
+	  return;
+
 	Endpoint_SelectEndpoint(AVRISP_DATA_EPNUM);
-	
-	/* Check to see if a V2 Protocol command has been received */
+	
+	/* Check to see if a V2 Protocol command has been received */
 	if (Endpoint_IsOUTReceived())
-	{
-		/* Pass off processing of the V2 Protocol command to the V2 Protocol handler */
+	{
+		/* Pass off processing of the V2 Protocol command to the V2 Protocol handler */
 		V2Protocol_ProcessCommand();
 	}
-}
-
+}
+
diff --git a/Projects/AVRISP/Lib/V2Protocol.c b/Projects/AVRISP/Lib/V2Protocol.c
index d7343aad636ea9f7f4174b7c5e499db36d9a7cef..d03bd8924ee9cc2ad0daa732567edc592b206785 100644
--- a/Projects/AVRISP/Lib/V2Protocol.c
+++ b/Projects/AVRISP/Lib/V2Protocol.c
@@ -36,12 +36,12 @@
 #define  INCLUDE_FROM_V2PROTOCOL_C
 #include "V2Protocol.h"
 
-/** Master V2 Protocol packet handler, for receieved V2 Protocol packets from a connected host.
+/** Master V2 Protocol packet handler, for received V2 Protocol packets from a connected host.
  *  This routine decodes the issued command and passes off the handling of the command to the
  *  appropriate function.
  */
-void V2Protocol_ProcessCommand(void)
-{
+void V2Protocol_ProcessCommand(void)
+{
 	uint8_t V2Command = Endpoint_Read_Byte();
 		  
 	switch (V2Command)
@@ -95,8 +95,8 @@ void V2Protocol_ProcessCommand(void)
 	}
 	
 	Endpoint_WaitUntilReady();
-	Endpoint_SetEndpointDirection(ENDPOINT_DIR_OUT);
-}
+	Endpoint_SetEndpointDirection(ENDPOINT_DIR_OUT);
+}
 
 /** Handler for unknown V2 protocol commands. This discards all sent data and returns a
  *  STATUS_CMD_UNKNOWN status back to the host.
@@ -105,7 +105,7 @@ void V2Protocol_ProcessCommand(void)
  */
 static void V2Protocol_Command_Unknown(uint8_t V2Command)
 {
-	/* Discard all incomming data */
+	/* Discard all incoming data */
 	while (Endpoint_BytesInEndpoint() == AVRISP_DATA_EPSIZE)
 	{
 		Endpoint_ClearOUT();
@@ -120,7 +120,7 @@ static void V2Protocol_Command_Unknown(uint8_t V2Command)
 	Endpoint_ClearIN();
 }
 
-/** Handler for the CMD_SIGN_ON command, returning the programmer ID string to the host. */
+/** Handler for the CMD_SIGN_ON command, returning the programmer ID string to the host. */
 static void V2Protocol_Command_SignOn(void)
 {
 	Endpoint_ClearOUT();
@@ -151,7 +151,7 @@ static void V2Protocol_Command_GetSetParam(uint8_t V2Command)
 	
 	Endpoint_Write_Byte(V2Command);
 	
-	uint8_t ParamPrivs = V2Params_GetParameterPrivellages(ParamID);
+	uint8_t ParamPrivs = V2Params_GetParameterPrivileges(ParamID);
 	
 	if ((V2Command == CMD_SET_PARAMETER) && (ParamPrivs & PARAM_PRIV_WRITE))
 	{
diff --git a/Projects/AVRISP/Lib/V2ProtocolParams.c b/Projects/AVRISP/Lib/V2ProtocolParams.c
index 6b4568a94a3acdbf64b974e29d9dbaa839f00761..62149b4c3d89be36124abeabbfbe1ffa69d2a150 100644
--- a/Projects/AVRISP/Lib/V2ProtocolParams.c
+++ b/Projects/AVRISP/Lib/V2ProtocolParams.c
@@ -44,43 +44,43 @@ static ParameterItem_t ParameterTable[] =
 	{
 		{ .ParamID          = PARAM_BUILD_NUMBER_LOW,
 		  .ParamValue       = (LUFA_VERSION_INTEGER >> 8),
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_BUILD_NUMBER_HIGH,
 		  .ParamValue       = (LUFA_VERSION_INTEGER & 0xFF),
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_HW_VER,
 		  .ParamValue       = 0x00,
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_SW_MAJOR,
 		  .ParamValue       = 0x01,
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_SW_MINOR,
 		  .ParamValue       = 0x0C,
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_VTARGET,
 		  .ParamValue       = 0x32,
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_SCK_DURATION,
 		  .ParamValue       = (TOTAL_PROGRAMMING_SPEEDS - 1),
-		  .ParamPrivellages = PARAM_PRIV_READ | PARAM_PRIV_WRITE },
+		  .ParamPrivileges = PARAM_PRIV_READ | PARAM_PRIV_WRITE },
 
 		{ .ParamID          = PARAM_RESET_POLARITY,
 		  .ParamValue       = 0x00,
-		  .ParamPrivellages = PARAM_PRIV_WRITE                   },
+		  .ParamPrivileges = PARAM_PRIV_WRITE                   },
 
 		{ .ParamID          = PARAM_STATUS_TGT_CONN,
 		  .ParamValue       = 0x00,
-		  .ParamPrivellages = PARAM_PRIV_READ                    },
+		  .ParamPrivileges = PARAM_PRIV_READ                    },
 
 		{ .ParamID          = PARAM_DISCHARGEDELAY,
 		  .ParamValue       = 0x00,
-		  .ParamPrivellages = PARAM_PRIV_WRITE                   },
+		  .ParamPrivileges = PARAM_PRIV_WRITE                   },
 	};
 
 
@@ -104,22 +104,22 @@ void V2Params_UpdateParamValues(void)
 	#endif
 }
 
-/** Retrieves the host PC read/write privellages for a given parameter in the parameter table. This should
+/** Retrieves the host PC read/write privileges for a given parameter in the parameter table. This should
  *  be called before calls to \ref V2Params_GetParameterValue() or \ref V2Params_SetParameterValue() when
  *  getting or setting parameter values in response to requests from the host.
  *
- *  \param[in] ParamID  Parameter ID whose privellages are to be retrieved from the table
+ *  \param[in] ParamID  Parameter ID whose privileges are to be retrieved from the table
  *
- *  \return Privellages for the requested parameter, as a mask of PARAM_PRIV_* masks
+ *  \return Privileges for the requested parameter, as a mask of PARAM_PRIV_* masks
  */ 
-uint8_t V2Params_GetParameterPrivellages(uint8_t ParamID)
+uint8_t V2Params_GetParameterPrivileges(uint8_t ParamID)
 {
 	ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
 	
 	if (ParamInfo == NULL)
 	  return 0;
 
-	return ParamInfo->ParamPrivellages;
+	return ParamInfo->ParamPrivileges;
 }
 
 /** Retrieves the current value for a given parameter in the parameter table.
@@ -132,7 +132,7 @@ uint8_t V2Params_GetParameterValue(uint8_t ParamID)
 {
 	ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
 	
-	if ((ParamInfo == NULL) || !(ParamInfo->ParamPrivellages & PARAM_PRIV_READ))
+	if ((ParamInfo == NULL) || !(ParamInfo->ParamPrivileges & PARAM_PRIV_READ))
 	  return 0;
 	
 	return ParamInfo->ParamValue;
@@ -149,7 +149,7 @@ void V2Params_SetParameterValue(uint8_t ParamID, uint8_t Value)
 {
 	ParameterItem_t* ParamInfo = V2Params_GetParamFromTable(ParamID);
 
-	if ((ParamInfo == NULL) || !(ParamInfo->ParamPrivellages & PARAM_PRIV_WRITE))
+	if ((ParamInfo == NULL) || !(ParamInfo->ParamPrivileges & PARAM_PRIV_WRITE))
 	  return;
 
 	ParamInfo->ParamValue = Value;
@@ -159,7 +159,7 @@ void V2Params_SetParameterValue(uint8_t ParamID, uint8_t Value)
 	  eeprom_write_byte(&EEPROM_Rest_Polarity, Value);  
 }
 
-/** Retrieves a parameter entry (including ID, value and privellages) from the parameter table that matches the given
+/** Retrieves a parameter entry (including ID, value and privileges) from the parameter table that matches the given
  *  parameter ID.
  *
  *  \param[in] ParamID  Parameter ID to find in the table
diff --git a/Projects/AVRISP/Lib/V2ProtocolParams.h b/Projects/AVRISP/Lib/V2ProtocolParams.h
index 9ad84e7a33dc1f6edc74f15447ec5916485267a5..b27a4ea94a9577813f3e61c83219b49c78c755ee 100644
--- a/Projects/AVRISP/Lib/V2ProtocolParams.h
+++ b/Projects/AVRISP/Lib/V2ProtocolParams.h
@@ -33,14 +33,14 @@
  *  Header file for V2ProtocolParams.c.
  */
 
-#ifndef _V2_PROTOCOL_PARAMS_
-#define _V2_PROTOCOL_PARAMS_
-
-	/* Includes: */
+#ifndef _V2_PROTOCOL_PARAMS_
+#define _V2_PROTOCOL_PARAMS_
+
+	/* Includes: */
 		#include <avr/io.h>
-		#include <avr/eeprom.h>
+		#include <avr/eeprom.h>
 
-		#include <LUFA/Version.h>
+		#include <LUFA/Version.h>
 
 		#if defined(ADC)
 			#include <LUFA/Drivers/Peripheral/ADC.h>
@@ -50,32 +50,32 @@
 		#include "V2ProtocolConstants.h"
 
 	/* Macros: */
-		/** Parameter privellage mask to allow the host PC to read the parameter's value */
+		/** Parameter privilege mask to allow the host PC to read the parameter's value */
 		#define PARAM_PRIV_READ   (1 << 0)
 
-		/** Parameter privellage mask to allow the host PC to change the parameter's value */
+		/** Parameter privilege mask to allow the host PC to change the parameter's value */
 		#define PARAM_PRIV_WRITE  (1 << 1)
-
+
 	/* Type Defines: */
 		/** Type define for a parameter table entry indicating a PC readable or writable device parameter. */
 		typedef struct
 		{
 			const uint8_t ParamID; /**< Parameter ID number to uniquely identify the parameter within the device */
 			uint8_t ParamValue; /**< Current parameter's value within the device */
-			uint8_t ParamPrivellages;  /**< Parameter privellages to allow the host to read or write the parameter's value */
-		} ParameterItem_t;
-
+			uint8_t ParamPrivileges;  /**< Parameter privileges to allow the host to read or write the parameter's value */
+		} ParameterItem_t;
+
 	/* Function Prototypes: */
 		void    V2Params_LoadNonVolatileParamValues(void);
 		void    V2Params_UpdateParamValues(void);
 	
-		uint8_t V2Params_GetParameterPrivellages(uint8_t ParamID);
+		uint8_t V2Params_GetParameterPrivileges(uint8_t ParamID);
 		uint8_t V2Params_GetParameterValue(uint8_t ParamID);
 		void    V2Params_SetParameterValue(uint8_t ParamID, uint8_t Value);
 		
 		#if defined(INCLUDE_FROM_V2PROTOCOL_PARAMS_C)
 			static ParameterItem_t* V2Params_GetParamFromTable(uint8_t ParamID);
 		#endif
-
-#endif
-
+
+#endif
+
diff --git a/Projects/AVRISP/Lib/V2ProtocolTarget.c b/Projects/AVRISP/Lib/V2ProtocolTarget.c
index 169e49ac7c45135df553c6ec918eedf586258007..80e8be1e8c5f281d86b3878abcd6403f049ce4c1 100644
--- a/Projects/AVRISP/Lib/V2ProtocolTarget.c
+++ b/Projects/AVRISP/Lib/V2ProtocolTarget.c
@@ -45,7 +45,7 @@ uint32_t CurrentAddress;
  */
 uint8_t V2Protocol_GetSPIPrescalerMask(void)
 {
-	static const uint8_t SPIMaskFromSCKDuration[TOTAL_PROGRAMMING_SPEEDS] =
+	static const uint8_t SPIMaskFromSCKDuration[] =
 	{
 	#if (F_CPU == 8000000)
 		SPI_SPEED_FCPU_DIV_2,    // AVRStudio =   8MHz SPI, Actual =   4MHz SPI
@@ -77,7 +77,7 @@ uint8_t V2Protocol_GetSPIPrescalerMask(void)
 }
 
 /** Asserts or deasserts the target's reset line, using the correct polarity as set by the host using a SET PARAM command.
- *  When not asserted, the line is tristated so as not to intefere with normal device operation.
+ *  When not asserted, the line is tristated so as not to interfere with normal device operation.
  *
  *  \param[in] ResetTarget Boolean true when the target should be held in reset, false otherwise
  */
diff --git a/Projects/Benito/Lib/RingBuff.c b/Projects/Benito/Lib/RingBuff.c
index 1f477f17ab43a8e3b7982ffcbbf6bec4eecd0e24..0dd4a06bbbbf3fc26493c49064c08e111e059574 100644
--- a/Projects/Benito/Lib/RingBuff.c
+++ b/Projects/Benito/Lib/RingBuff.c
@@ -83,7 +83,7 @@ RingBuff_Data_t Buffer_GetElement(RingBuff_t* Buffer)
 		if (!(Buffer->Elements))
 		  return 0;
 #elif !defined(BUFF_NOEMPTYCHECK)
-	#error No empty buffer check behaviour specified.
+	#error No empty buffer check behavior specified.
 #endif
 
 		BuffData = *(Buffer->OutPtr);
@@ -109,7 +109,7 @@ RingBuff_Data_t Buffer_PeekElement(const RingBuff_t* Buffer)
 		if (!(Buffer->Elements))
 		  return 0;
 #elif !defined(BUFF_NOEMPTYCHECK)
-	#error No empty buffer check behaviour specified.
+	#error No empty buffer check behavior specified.
 #endif
 
 		BuffData = *(Buffer->OutPtr);
diff --git a/Projects/Magstripe/Lib/MagstripeHW.h b/Projects/Magstripe/Lib/MagstripeHW.h
index c4681188a2376e3766240af6646343adb788a54e..7561e18e36e9ba731aab0b16b0c2e38f2ca1e3ef 100644
--- a/Projects/Magstripe/Lib/MagstripeHW.h
+++ b/Projects/Magstripe/Lib/MagstripeHW.h
@@ -1,100 +1,100 @@
-/*
-  Copyright 2009  Denver Gingerich (denver [at] ossguy [dot] com)
-  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)
-
-  Permission to use, copy, modify, and distribute this software
-  and its documentation for any purpose and without fee is hereby
-  granted, provided that the above copyright notice appear in all
-  copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting
-  documentation, and that the name of the author not be used in
-  advertising or publicity pertaining to distribution of the
-  software without specific, written prior permission.
-
-  The author disclaim all warranties with regard to this
-  software, including all implied warranties of merchantability
-  and fitness.  In no event shall the author be liable for any
-  special, indirect or consequential damages or any damages
-  whatsoever resulting from loss of use, data or profits, whether
-  in an action of contract, negligence or other tortious action,
-  arising out of or in connection with the use or performance of
-  this software.
-*/
-
-/*
-	NOTE: The user of this include file MUST define the following macros
-	prior to including the file:
-
-	MAG_T1_CLOCK_PIN   Pin connected to Track 1 clock wire (ie. PORTC1)
-	MAG_T1_DATA_PIN    Pin connected to Track 1 data wire (ie. PORTC2)
-	MAG_T2_CLOCK_PIN   Pin connected to Track 2 clock wire (ie. PORTC3)
-	MAG_T2_DATA_PIN    Pin connected to Track 2 data wire (ie. PORTC0)
-	MAG_T3_CLOCK_PIN   Pin connected to Track 3 clock wire (ie. PORTC5)
-	MAG_T3_DATA_PIN    Pin connected to Track 3 data wire (ie. PORTC6)
-	MAG_CLS_PIN        Pin connected to card loaded wire (ie. PORTC4)
-	MAG_PIN            PIN macro for the reader's port (ie. PINC)
-	MAG_DDR            DDR macro for the reader's port (ie. DDRC)
-	MAG_PORT           PORT macro for the reader's port (ie. PORTC)
-
-	The example macros listed above assume that the Track 2 data wire is
-	connected to pin 0 on port C, the Track 2 clock wire is connected to
-	pin 3 on port C (similarly for Tracks 1 and 3), and the card loaded
-	wire is connected to pin 4 on port C.
-
-	If the magstripe reader you are using only reads one or two tracks,
-	then set the clock and data pins for the tracks it doesn't read to a
-	pin that is unused.  For example, on the AT90USBKey, any of the pins on
-	port C that do not have wires attached will be unused since they are
-	not connected to any onboard devices (such as the joystick or
-	temperature sensor).
-
-	Connecting wires to pins on different ports (ie. a data wire to pin 0
-	on port C and a clock wire to pin 0 on port D) is currently
-	unsupported.  All pins specified above must be on the same port.
-*/
-
-/** \file
- *
- *  Driver header for a TTL Magnetic Card reader device (such as the Omron V3B-4K).
- */
-
-#ifndef _MAGSTRIPEHW_H_
-#define _MAGSTRIPEHW_H_
-
-	/* Includes: */
-		#include <avr/io.h>
-
-		#include <LUFA/Common/Common.h>
-
-	/* Private Interface - For use in library only: */
-		/* Macros: */
-			/** Mask of the track data, clock and card detection pins. */
-			#define MAG_MASK    (MAG_T1_DATA | MAG_T1_CLOCK | \
-			                     MAG_T2_DATA | MAG_T2_CLOCK | \
-			                     MAG_T3_DATA | MAG_T3_CLOCK | \
-			                     MAG_CARDPRESENT)
-
-	/* Public Interface - May be used in end-application: */
-		/* Inline Functions: */
-			/** Initializes the magnetic stripe card reader ports and pins so that the card reader
-			 *  device can be controlled and read by the card reader driver. This must be called before
-			 *  trying to read any of the card reader's status lines.
-			 */
-			static inline void Magstripe_Init(void)
-			{
-				MAG_DDR  &= ~MAG_MASK;
-				MAG_PORT |=  MAG_MASK;
-			};
-
-			/** Returns the status of all the magnetic card reader's outputs.
-			 *
-			 *  \return A mask indicating which card lines are high or low
-			 */
-			static inline uint8_t Magstripe_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
-			static inline uint8_t Magstripe_GetStatus(void)
-			{
-				/* Magstripe IOs are active low and must be inverted when read */
-				return ((uint8_t)~MAG_PIN & MAG_MASK);
-			}
-
-#endif
+/*
+  Copyright 2009  Denver Gingerich (denver [at] ossguy [dot] com)
+  Copyright 2009  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+
+  Permission to use, copy, modify, and distribute this software
+  and its documentation for any purpose and without fee is hereby
+  granted, provided that the above copyright notice appear in all
+  copies and that both that the copyright notice and this
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
+  software without specific, written prior permission.
+
+  The author disclaim all warranties with regard to this
+  software, including all implied warranties of merchantability
+  and fitness.  In no event shall the author be liable for any
+  special, indirect or consequential damages or any damages
+  whatsoever resulting from loss of use, data or profits, whether
+  in an action of contract, negligence or other tortious action,
+  arising out of or in connection with the use or performance of
+  this software.
+*/
+
+/*
+	NOTE: The user of this include file MUST define the following macros
+	prior to including the file:
+
+	MAG_T1_CLOCK_PIN   Pin connected to Track 1 clock wire (i.e.. PORTC1)
+	MAG_T1_DATA_PIN    Pin connected to Track 1 data wire (i.e.. PORTC2)
+	MAG_T2_CLOCK_PIN   Pin connected to Track 2 clock wire (i.e.. PORTC3)
+	MAG_T2_DATA_PIN    Pin connected to Track 2 data wire (i.e.. PORTC0)
+	MAG_T3_CLOCK_PIN   Pin connected to Track 3 clock wire (i.e.. PORTC5)
+	MAG_T3_DATA_PIN    Pin connected to Track 3 data wire (i.e.. PORTC6)
+	MAG_CLS_PIN        Pin connected to card loaded wire (i.e.. PORTC4)
+	MAG_PIN            PIN macro for the reader's port (i.e.. PINC)
+	MAG_DDR            DDR macro for the reader's port (i.e.. DDRC)
+	MAG_PORT           PORT macro for the reader's port (i.e.. PORTC)
+
+	The example macros listed above assume that the Track 2 data wire is
+	connected to pin 0 on port C, the Track 2 clock wire is connected to
+	pin 3 on port C (similarly for Tracks 1 and 3), and the card loaded
+	wire is connected to pin 4 on port C.
+
+	If the mag-stripe reader you are using only reads one or two tracks,
+	then set the clock and data pins for the tracks it doesn't read to a
+	pin that is unused.  For example, on the AT90USBKey, any of the pins on
+	port C that do not have wires attached will be unused since they are
+	not connected to any onboard devices (such as the joystick or
+	temperature sensor).
+
+	Connecting wires to pins on different ports (i.e.. a data wire to pin 0
+	on port C and a clock wire to pin 0 on port D) is currently
+	unsupported.  All pins specified above must be on the same port.
+*/
+
+/** \file
+ *
+ *  Driver header for a TTL Magnetic Card reader device (such as the Omron V3B-4K).
+ */
+
+#ifndef _MAGSTRIPEHW_H_
+#define _MAGSTRIPEHW_H_
+
+	/* Includes: */
+		#include <avr/io.h>
+
+		#include <LUFA/Common/Common.h>
+
+	/* Private Interface - For use in library only: */
+		/* Macros: */
+			/** Mask of the track data, clock and card detection pins. */
+			#define MAG_MASK    (MAG_T1_DATA | MAG_T1_CLOCK | \
+			                     MAG_T2_DATA | MAG_T2_CLOCK | \
+			                     MAG_T3_DATA | MAG_T3_CLOCK | \
+			                     MAG_CARDPRESENT)
+
+	/* Public Interface - May be used in end-application: */
+		/* Inline Functions: */
+			/** Initializes the magnetic stripe card reader ports and pins so that the card reader
+			 *  device can be controlled and read by the card reader driver. This must be called before
+			 *  trying to read any of the card reader's status lines.
+			 */
+			static inline void Magstripe_Init(void)
+			{
+				MAG_DDR  &= ~MAG_MASK;
+				MAG_PORT |=  MAG_MASK;
+			};
+
+			/** Returns the status of all the magnetic card reader's outputs.
+			 *
+			 *  \return A mask indicating which card lines are high or low
+			 */
+			static inline uint8_t Magstripe_GetStatus(void) ATTR_WARN_UNUSED_RESULT;
+			static inline uint8_t Magstripe_GetStatus(void)
+			{
+				/* Mag-stripe IOs are active low and must be inverted when read */
+				return ((uint8_t)~MAG_PIN & MAG_MASK);
+			}
+
+#endif
diff --git a/Projects/USBtoSerial/Lib/RingBuff.c b/Projects/USBtoSerial/Lib/RingBuff.c
index 1f477f17ab43a8e3b7982ffcbbf6bec4eecd0e24..0dd4a06bbbbf3fc26493c49064c08e111e059574 100644
--- a/Projects/USBtoSerial/Lib/RingBuff.c
+++ b/Projects/USBtoSerial/Lib/RingBuff.c
@@ -83,7 +83,7 @@ RingBuff_Data_t Buffer_GetElement(RingBuff_t* Buffer)
 		if (!(Buffer->Elements))
 		  return 0;
 #elif !defined(BUFF_NOEMPTYCHECK)
-	#error No empty buffer check behaviour specified.
+	#error No empty buffer check behavior specified.
 #endif
 
 		BuffData = *(Buffer->OutPtr);
@@ -109,7 +109,7 @@ RingBuff_Data_t Buffer_PeekElement(const RingBuff_t* Buffer)
 		if (!(Buffer->Elements))
 		  return 0;
 #elif !defined(BUFF_NOEMPTYCHECK)
-	#error No empty buffer check behaviour specified.
+	#error No empty buffer check behavior specified.
 #endif
 
 		BuffData = *(Buffer->OutPtr);