diff --git a/doc/Doxyfile b/doc/Doxyfile
index e8323044..b06717ed 100644
--- a/doc/Doxyfile
+++ b/doc/Doxyfile
@@ -688,7 +688,7 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
-IMAGE_PATH = ../libraries/BlinkLED/examples/Cylon ../libraries/BlinkLED/examples/Cylon4 ../libraries/BlinkLED/examples/StarTrek
+IMAGE_PATH = ../libraries/BlinkLED/examples/Cylon ../libraries/BlinkLED/examples/Cylon4 ../libraries/BlinkLED/examples/StarTrek ../libraries/FreetronicsLCD/examples/HelloWorld ../libraries/FreetronicsLCD/examples/Form
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
diff --git a/doc/lcd-form.dox b/doc/lcd-form.dox
index f3e873fa..f9d1db5c 100644
--- a/doc/lcd-form.dox
+++ b/doc/lcd-form.dox
@@ -33,6 +33,8 @@ The user interface is organised as a "form" which consists of one or more
Right buttons are used to navigate between fields, and the Up and Down
buttons are used to modify the value of the currently-displayed field.
+\image html FormText.png
+
We start by including the classes from the library that we will need:
\dontinclude FreetronicsLCD/examples/Form/Form.pde
diff --git a/doc/lcd-helloworld.dox b/doc/lcd-helloworld.dox
index cfd40ed2..fac92465 100644
--- a/doc/lcd-helloworld.dox
+++ b/doc/lcd-helloworld.dox
@@ -29,10 +29,12 @@ Arduino LiquidCrystal
library that supports the additional features of the
Freetronics LCD shield;
namely the back light and the Up, Down, Left, Right, and Select buttons.
-
This tutorial explains how to use the FreetronicsLCD class to perform
-basic text output and to use the enhanced shield features. We start by
-including the library and initializing it:
+basic text output and to use the enhanced shield features.
+
+\image html HelloWorld.png
+
+We start by including the library and initializing it:
\dontinclude FreetronicsLCD/examples/HelloWorld/HelloWorld.pde
\skip FreetronicsLCD.h
diff --git a/libraries/FreetronicsLCD/BoolField.cpp b/libraries/FreetronicsLCD/BoolField.cpp
index b3579aac..10b03187 100644
--- a/libraries/FreetronicsLCD/BoolField.cpp
+++ b/libraries/FreetronicsLCD/BoolField.cpp
@@ -39,6 +39,8 @@
* BoolField ledField(mainForm, "Status LED", "On", "Off", true);
* \endcode
*
+ * \image html FormBool.png
+ *
* To actually toggle the LED, the application's main loop() function
* should contain the following code:
*
diff --git a/libraries/FreetronicsLCD/Form.cpp b/libraries/FreetronicsLCD/Form.cpp
index 0087d81c..6523bc11 100644
--- a/libraries/FreetronicsLCD/Form.cpp
+++ b/libraries/FreetronicsLCD/Form.cpp
@@ -41,6 +41,8 @@
* Form mainForm(lcd);
* TextField welcomeField(mainForm, "Form example", "v1.0");
* \endcode
+ *
+ * \image html FormText.png
*/
Form::Form(LiquidCrystal &lcd)
: _lcd(&lcd)
diff --git a/libraries/FreetronicsLCD/IntField.cpp b/libraries/FreetronicsLCD/IntField.cpp
index f4b5eede..7e903915 100644
--- a/libraries/FreetronicsLCD/IntField.cpp
+++ b/libraries/FreetronicsLCD/IntField.cpp
@@ -49,6 +49,8 @@
* IntField speedField(mainForm, "Speed", 0, 2000, 15, 450, " rpm");
* \endcode
*
+ * \image html FormInt.png
+ *
* Use TextField for read-only fields that report integer values but
* which are not modifiable by the user.
*
diff --git a/libraries/FreetronicsLCD/TextField.cpp b/libraries/FreetronicsLCD/TextField.cpp
index 86fca033..aa0bf0c6 100644
--- a/libraries/FreetronicsLCD/TextField.cpp
+++ b/libraries/FreetronicsLCD/TextField.cpp
@@ -34,6 +34,8 @@
* TextField welcomeField(mainForm, "Form example", "v1.0");
* \endcode
*
+ * \image html FormText.png
+ *
* As well as static messages, TextField can be used to display read-only
* information that is computed at runtime:
*
diff --git a/libraries/FreetronicsLCD/TimeField.cpp b/libraries/FreetronicsLCD/TimeField.cpp
index 582ce322..4bc71e45 100644
--- a/libraries/FreetronicsLCD/TimeField.cpp
+++ b/libraries/FreetronicsLCD/TimeField.cpp
@@ -48,6 +48,8 @@
* }
* \endcode
*
+ * \image html FormTimeRO.png
+ *
* A read-write field can be used to ask the user for the duration of an
* application count-down timer:
*
@@ -55,6 +57,8 @@
* TimeField durationField(mainForm, "Timer duration", 24, TIMEFIELD_READ_WRITE);
* \endcode
*
+ * \image html FormTimeRW.png
+ *
* \sa Field
*/
diff --git a/libraries/FreetronicsLCD/examples/Form/FormBool.png b/libraries/FreetronicsLCD/examples/Form/FormBool.png
new file mode 100644
index 00000000..7449a3cb
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/Form/FormBool.png differ
diff --git a/libraries/FreetronicsLCD/examples/Form/FormInt.png b/libraries/FreetronicsLCD/examples/Form/FormInt.png
new file mode 100644
index 00000000..2fc9b6b1
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/Form/FormInt.png differ
diff --git a/libraries/FreetronicsLCD/examples/Form/FormText.png b/libraries/FreetronicsLCD/examples/Form/FormText.png
new file mode 100644
index 00000000..cb018bcf
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/Form/FormText.png differ
diff --git a/libraries/FreetronicsLCD/examples/Form/FormTimeRO.png b/libraries/FreetronicsLCD/examples/Form/FormTimeRO.png
new file mode 100644
index 00000000..e99c7b9a
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/Form/FormTimeRO.png differ
diff --git a/libraries/FreetronicsLCD/examples/Form/FormTimeRW.png b/libraries/FreetronicsLCD/examples/Form/FormTimeRW.png
new file mode 100644
index 00000000..679c01ce
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/Form/FormTimeRW.png differ
diff --git a/libraries/FreetronicsLCD/examples/HelloWorld/HelloWorld.png b/libraries/FreetronicsLCD/examples/HelloWorld/HelloWorld.png
new file mode 100644
index 00000000..29ddaa52
Binary files /dev/null and b/libraries/FreetronicsLCD/examples/HelloWorld/HelloWorld.png differ