diff --git a/docs/images/ad8232.jpg b/docs/images/ad8232.jpg
new file mode 100755
index 00000000..3664e8be
Binary files /dev/null and b/docs/images/ad8232.jpg differ
diff --git a/docs/images/ecs1030.jpg b/docs/images/ecs1030.jpg
new file mode 100755
index 00000000..487dda0f
Binary files /dev/null and b/docs/images/ecs1030.jpg differ
diff --git a/docs/images/l298.jpg b/docs/images/l298.jpg
new file mode 100755
index 00000000..2696fca5
Binary files /dev/null and b/docs/images/l298.jpg differ
diff --git a/docs/images/maxsonarez.jpg b/docs/images/maxsonarez.jpg
new file mode 100755
index 00000000..f06c7b95
Binary files /dev/null and b/docs/images/maxsonarez.jpg differ
diff --git a/docs/images/sm130.jpg b/docs/images/sm130.jpg
new file mode 100755
index 00000000..0e53e623
Binary files /dev/null and b/docs/images/sm130.jpg differ
diff --git a/src/ad8232/ad8232.h b/src/ad8232/ad8232.h
index ac23a4ad..ff1502cd 100644
--- a/src/ad8232/ad8232.h
+++ b/src/ad8232/ad8232.h
@@ -61,10 +61,15 @@ namespace upm {
* that should work, using information from the Sparkfun website.
*
* This example just dumps the raw data.
+ *
+ * @image html ad8232.jpg
+ *
AD8232 Heart Rate Monitor image provided by SparkFun under
+ *
+ * CC BY-NC-SA-3.0.
+ *
* @snippet ad8232.cxx Interesting
*/
-
class AD8232 {
public:
diff --git a/src/ecs1030/ecs1030.h b/src/ecs1030/ecs1030.h
index b95c1b3d..ba4bde76 100644
--- a/src/ecs1030/ecs1030.h
+++ b/src/ecs1030/ecs1030.h
@@ -53,6 +53,7 @@ namespace upm {
* @comname ECS1030 Non-Invasive Current Sensor
* @type electric
* @man sparkfun
+ * @web https://www.sparkfun.com/products/11005
* @con analog
*
* @brief API for the ECS1030 Non-Invasive Current/Electricity Sensor
@@ -64,6 +65,11 @@ namespace upm {
* measure a load up to 30 Amps which makes it great for building your own
* energy monitors.
*
+ * @image html ecs1030.jpg
+ *
ECS1030 Sensor image provided by Sparkfun under
+ *
+ * CC BY-NC-SA-3.0.
+ *
* @snippet ecs1030.cxx Interesting
*/
class ECS1030 {
diff --git a/src/l298/l298.h b/src/l298/l298.h
index 86b7cc2c..40bddcc7 100644
--- a/src/l298/l298.h
+++ b/src/l298/l298.h
@@ -45,6 +45,7 @@ namespace upm {
* @comname L298 Dual H-Bridge Motor Driver
* @type motor
* @man seeed sparkfun
+ * @web https://www.sparkfun.com/products/9670
* @con gpio pwm
*
* @brief API for the L298 Dual H-Bridge module
@@ -53,7 +54,12 @@ namespace upm {
*
* This module can support 2 DC motors, or 1 2-phase stepper motor.
* It requires 3 pins per DC motor (or h-bridge), or 4 pins for
- * the stepper (uses both h-bridges).
+ * the stepper (uses both h-bridges).
+ *
+ * @image html l298.jpg
+ *
L298 Dual H-Bridge Motor Driver image provided by SparkFun under
+ *
+ * CC BY-NC-SA-3.0.
*
* Example driving a DC motor
* @snippet l298.cxx Interesting
diff --git a/src/maxsonarez/maxsonarez.h b/src/maxsonarez/maxsonarez.h
index 81dace1f..908d4522 100644
--- a/src/maxsonarez/maxsonarez.h
+++ b/src/maxsonarez/maxsonarez.h
@@ -44,6 +44,7 @@ namespace upm {
* @altname EZ1, EZ2, EZ3, EZ4
* @type sound
* @man sparkfun
+ * @web https://www.sparkfun.com/products/8502
* @con analog
*
* @brief API for the LV-MaxSonar-EZ family of ultrasonic rangers
@@ -58,6 +59,11 @@ namespace upm {
*
* This driver was developed using an LV-MaxSonar-EZ3.
*
+ * @image html maxsonarez.jpg
+ *
LV-MaxSonar-EZ Ultrasonic Ranger image provided by SparkFun under
+ *
+ * CC BY-NC-SA-3.0.
+ *
* @snippet maxsonarez.cxx Interesting
*/
diff --git a/src/sm130/sm130.h b/src/sm130/sm130.h
index b335ab6f..15e124f8 100644
--- a/src/sm130/sm130.h
+++ b/src/sm130/sm130.h
@@ -56,7 +56,12 @@ namespace upm {
*
* @brief API for SM130 RFID reader module
*
- * This file defines the interface for sm130 RFID library
+ * This file defines the interface for sm130 RFID library
+ *
+ * @image html sm130.jpg
+ *
SM130 RFID Reader image provided by SparkFun under
+ *
+ * CC BY-NC-SA-3.0.
*
* @snippet sm130.cxx Interesting
*/