diff --git a/arduino.nanorc b/arduino.nanorc
new file mode 100644
index 0000000..3cddedb
--- /dev/null
+++ b/arduino.nanorc
@@ -0,0 +1,116 @@
+
+## FILENAME: arduino.nanorc
+##
+## DESCRIPTION: The arduino.nanorc syntax files allows syntax highlighting
+## for Arduino sketch files in the GNU nano text editor.
+##
+## Maintainer: Nicholas Wilde
+## Version: 0.1
+## DATE: 06/23/2011
+##
+## HOMEPAGE: http://code.google.com/p/arduino-nano-editor-syntax/
+##
+## COMMENTS: -Most of the code was taken from the c.nanorc code found with
+## GNU nano 2.2.6.
+## -Direction was taken from the arduino vim syntax code by johannes
+##
+## -Tested on Ubuntu Server 11.04 Natty Narwhal and GNU nano 2.2.6
+##
+## DIRECTIONS: For Ubuntu Server 11.04 Natty Narwhal:
+## -Move this file to the nano directory
+## /usr/share/nano/
+## -Add arduino.nanorc reference to the nanorc settings file
+## /etc/nanorc
+## ...
+## ## Arduino
+## /usr/share/nano/arduino.nanorc
+## ...
+
+syntax "ino" "\.?ino$"
+
+##
+color brightred "\<[A-Z_][0-9A-Z_]+\>"
+
+##
+color green "\<((s?size)|((u_?)?int(8|16|32|64|ptr)))_t\>"
+
+## Constants
+icolor green "\<(HIGH|LOW|INPUT|OUTPUT)\>"
+
+## Serial Print
+icolor red "\<(DEC|BIN|HEX|OCT|BYTE)\>"
+
+## PI Constants
+icolor green "\<(PI|HALF_PI|TWO_PI)\>"
+
+## ShiftOut
+icolor green "\<(LSBFIRST|MSBFIRST)\>"
+
+## Attach Interrupt
+icolor green "\<(CHANGE|FALLING|RISING)\>"
+
+## Analog Reference
+icolor green "\<(DEFAULT|EXTERNAL|INTERNAL|INTERNAL1V1|INTERNAL2V56)\>"
+
+## === FUNCTIONS === ##
+
+## Data Types
+color green "\<(boolean|byte|char|float|int|long|word)\>"
+
+## Control Structions
+color brightyellow "\<(case|class|default|do|double|else|false|for|if|new|null|private|protected|public|short|signed|static|String|switch|this|throw|try|true|unsigned|void|while)\>"
+color magenta "\<(goto|continue|break|return)\>"
+
+## Math
+color brightyellow "\<(abs|acos|asin|atan|atan2|ceil|constrain|cos|degrees|exp|floor|log|map|max|min|radians|random|randomSeed|round|sin|sq|sqrt|tan)\>"
+
+## Bits & Bytes
+color brightyellow "\<(bitRead|bitWrite|bitSet|bitClear|bit|highByte|lowByte)\>"
+
+## Analog I/O
+color brightyellow "\<(analogReference|analogRead|analogWrite)\>"
+
+## External Interrupts
+color brightyellow "\<(attachInterrupt|detachInterrupt)\>"
+
+## Time
+color brightyellow "\<(delay|delayMicroseconds|millis|micros)\>"
+
+## Digital I/O
+color brightyellow "\<(pinMode|digitalWrite|digitalRead)\>"
+
+## Interrupts
+color brightyellow "\<(interrupts|noInterrupts)\>"
+
+## Advanced I/O
+color brightyellow "\<(noTone|pulseIn|shiftIn|shiftOut|tone)\>"
+
+## Serial
+color magenta "\<(Serial|Serial1|Serial2|Serial3|begin|end|peek|read|print|println|available|flush)\>"
+
+## Structure
+color brightyellow "\<(setup|loop)\>"
+
+##
+color brightcyan "^[[:space:]]*#[[:space:]]*(define|include(_next)?|(un|ifn?)def|endif|el(if|se)|if|warning|error|pragma)"
+
+##
+color brightmagenta "'([^'\]|(\\["'abfnrtv\\]))'" "'\\(([0-3]?[0-7]{1,2}))'" "'\\x[0-9A-Fa-f]{1,2}'"
+
+## GCC builtins
+color cyan "__attribute__[[:space:]]*\(\([^)]*\)\)" "__(aligned|asm|builtin|hidden|inline|packed|restrict|section|typeof|weak)__"
+
+## String highlighting. You will in general want your comments and
+## strings to come last, because syntax highlighting rules will be
+## applied in the order they are read in.
+color brightyellow "<[^= ]*>" ""(\\.|[^"])*""
+
+## This string is VERY resource intensive!
+color brightyellow start=""(\\.|[^"])*\\[[:space:]]*$" end="^(\\.|[^"])*""
+
+## Comments
+color brightblue "//.*"
+color brightblue start="/\*" end="\*/"
+
+## Trailing whitespace
+color ,green "[[:space:]]+$"