diff --git a/README.md b/README.md
index 4af7eb7..dab6491 100644
--- a/README.md
+++ b/README.md
@@ -1,70 +1,79 @@
-#TZXDuino
-
+# TZXDuino
Arduino based TZX and TAP (currently only ZX spectrum and Amstrad CPC flavour) file player.
-(Excuse the badly written code, I'm working on that ;) )
+(Excuse the badly written code, I'm working on that ;) )
## Parts Used
-1. Arduino (I used a Nano, but this should work on any NANO compatible)
-2. SD card module
-3. 16x2 I2C LCD
-4. Small audio amp, I used an LM386 module, but any headphone type amp should work
-5. 5 x Buttons (micro switches are best, but any should work)
+1. Arduino (I used a Nano, but this should work on any Nano compatible.)
+2. SD Card module
+3. 16x2 I2C LCD
+4. Small audio amplifier. (I used an LM386 module, but any headphone type amplifier should work.)
+5. 5 x Buttons (Micro switches are the best, but any should work.)
## Installation
-Not All Libraries Are Equal!
-
-With so many variations on the SD, LCD I2C, and TimerOne libraries i thought I'd include them here. So to prevent any hair pulling moments use these versions of the libraries.
+**Not All Libraries Are Equal!**
+
+With so many variations on the SD, LCD I2C and TimerOne libraries I thought I'd include them here. So to prevent any hair pulling moments use these versions of the libraries.
## Wiring
+All buttons and the motor control pull the pin to GND.
+
+Arduino pins:
+ D6 -> MOTOR CONTROL (Connected to one side of the 2.5mm socket. Only used on some CPC models.)
+ D7 -> BUTTON (ROOT)
+ D9 -> Output (To amplifier)
+D10 -> SDCS (SD Card chip select)
+D11 -> MOSI (SD Card MOSI pin)
+D12 -> MISO (SD Card MI/MISO pin)
+D13 -> SCK (SD Card SCK pin)
+ A0 -> BUTTON (DOWN)
+ A1 -> BUTTON (UP)
+ A2 -> BUTTON (STOP)
+ A3 -> BUTTON (PLAY)
+ A4 -> LCD SDA
+ A5 -> LCD SCL
+
+LCD pins:
+ SDA -> Arduino A4
+ SCL -> Arduino A5
+ VCC -> 5V
+GND -> GND
+
+SD Card pins:
+ 5V -> 5V
+ GND -> GND
+SDCS -> D10 Arduino
+MOSI -> D11 Arduino
+MISO -> D12 Arduino
+ SCK -> D13 Arduino
-All buttons and the motor control pull the pin to GND.
-
-Arduino Pins:
- 06 -> MOTOR CONTROL (Connected to one side of the 2.5mm socket Only used on some CPC models)
- 07 -> BUTTON (ROOT)
- 09 -> Output (To Amp)
- 10 -> SDCS (SD Card chip select)
- 11 -> MOSI (SD Card MOSI PIN)
- 12 -> MISO (SD Card MI PIN)
- 13 -> SCK (SD Card SCK PIN)
-A0 14 -> BUTTON (DOWN)
-A1 15 -> BUTTON (UP)
-A2 16 -> BUTTON (STOP)
-A3 17 -> BUTTON (PLAT)
-A4 SDA 18 -> LCD SDA
-A5 SCL 19 -> LCD SCL
+## Usage
+Wire up as above, and program the Arduino using the IDE.
+Copy some TZX/TAP/CDT files onto a FAT32 formatted SD Card, plug it into the TZXDuino and power it on.
-LCD PINS:
-SDA -> Arduino A4
-SCL -> Arduino A5
-VCC -> 5v
-GND -> GND
+I suggest to format SD Card with this tool to ensure maximum compatibility.
+[SD Memory Card Formatter 5.0 for SD/SDHC/SDXC](https://www.sdcard.org/downloads/formatter_4/)
+**CAUTION: Formatting will cause complete data loss on SD Card. Make sure to backup the SD Card before formatting**
-SD CARD PINS:
- GND -> GND
-3.3V -> NC
- 5V -> 5V
-SDCS -> 10 ARDUINO
-MOSI -> 11 ARDUINO
- SCK -> 13 ARDUINO
-MISO -> 12 ARDUINO
- GND -> GND
+**Button functions:**
+- UP/DOWN - No playback: move through the files
+ During playback: Works as PREVIOUS/NEXT file.
+- PLAY - On file: starts playback.
+ On directory: open directory.
+- STOP - During playback: stops playback.
+ No playback: up a directory.
+- ROOT - During playback: restart playback.
+ No playback: set TSX Baud Rate
-## Usage
-Wire up as above, and program the Arduino using the IDE.
-
-Drop some TZX/TAP/CDT files onto a FAT32 formatted SD card, plug it into the TZXDuino, and power on.
-
-Up/Down buttons move through the files, Play starts playback.
-
-To get files to load first time you'll need to adjust the volume until you get a strong signal on the Spectrum / CPC.
-Once you've got a strong signal you should able to load most files as if you were using a normal tape.
+To get files to load first time you'll need to adjust the volume until you get a strong signal on the Spectrum / CPC.
+Once you've got a strong signal you should able to load most files as if you were using a normal tape.
## History
-Starting with the Arduitape WAV playing project, i've moved to playing TZX and TAP files directly without needing to convert them to a WAV file first.
+Starting with the Arduitape WAV playing project. I've moved to playing TZX and TAP files directly without needing to convert them to a WAV file first.
## Credits
-Code: Andrew Beer
-
-Testing: Duncan Edwards
+Code: Andrew Beer
+
+Testing: Duncan Edwards
+
+Code update: [Jujan](https://github.com/Jujan)