diff --git a/README.md b/README.md
index d8375e3a..faae3ed8 100644
--- a/README.md
+++ b/README.md
@@ -5,3 +5,10 @@
 
 - Sketches
 - Libraries
+
+## Usage
+
+After installing `arduino-check`, run the command `arduino-check --help` for usage documentation.
+
+Set the `ARDUINO_CHECK_OFFICIAL` environment variable to "true" to run the checks that only apply to official Arduino
+projects.
diff --git a/configuration/configuration.go b/configuration/configuration.go
index 2646ed3d..19374152 100644
--- a/configuration/configuration.go
+++ b/configuration/configuration.go
@@ -19,6 +19,7 @@ package configuration
 import (
 	"fmt"
 	"os"
+	"strconv"
 	"strings"
 
 	"github.com/arduino/arduino-check/configuration/checkmode"
@@ -83,8 +84,12 @@ func Initialize(flags *pflag.FlagSet, projectPaths []string) error {
 		return fmt.Errorf("PROJECT_PATH argument %v does not exist", projectPaths[0])
 	}
 
-	// TODO: set via environment variable
-	// customCheckModes[checkmode.Official] = false
+	if officialModeString, ok := os.LookupEnv("ARDUINO_CHECK_OFFICIAL"); ok {
+		customCheckModes[checkmode.Official], err = strconv.ParseBool(officialModeString)
+		if err != nil {
+			return fmt.Errorf("ARDUINO_CHECK_OFFICIAL environment variable value %s not valid", officialModeString)
+		}
+	}
 
 	logrus.WithFields(logrus.Fields{
 		"output format":                   OutputFormat(),
diff --git a/configuration/configuration_test.go b/configuration/configuration_test.go
index 8f8d1624..d0eb8d33 100644
--- a/configuration/configuration_test.go
+++ b/configuration/configuration_test.go
@@ -133,4 +133,15 @@ func TestInitialize(t *testing.T) {
 	assert.Equal(t, paths.New(projectPaths[0]), TargetPath())
 
 	assert.Error(t, Initialize(flags, []string{"/nonexistent"}))
+
+	os.Setenv("ARDUINO_CHECK_OFFICIAL", "true")
+	assert.Nil(t, Initialize(test.ConfigurationFlags(), projectPaths))
+	assert.True(t, customCheckModes[checkmode.Official])
+
+	os.Setenv("ARDUINO_CHECK_OFFICIAL", "false")
+	assert.Nil(t, Initialize(test.ConfigurationFlags(), projectPaths))
+	assert.False(t, customCheckModes[checkmode.Official])
+
+	os.Setenv("ARDUINO_CHECK_OFFICIAL", "invalid value")
+	assert.Error(t, Initialize(test.ConfigurationFlags(), projectPaths))
 }