top of page

INSPEC User Manual

A contactless REM-detection device for lucid dreaming.

​

Setting Up Your INSPEC

The INSPEC uses infrared machine vision to detect rapid eye movements during REM sleep and trigger audio, LED, or vibration cues to promote lucidity, without waking you. Setup takes about 10 minutes.

 

What's in the Box

  • INSPEC camera unit

  • USB-C cable and power adapter

  • Infrared spotlight

 

Step 1: Download the App

If you haven't already, download the free Lucid Scribe app:

 

Step 2: Connect via Bluetooth

  1. Remove the lens cover. Peel off the protective cover from the camera lens.

  2. Power on the INSPEC. Connect the USB-C cable to the INSPEC and plug the adapter into a power outlet.

  3. Enable Bluetooth on your phone. Make sure Bluetooth is turned on in your phone's settings.

  4. Open the INSPEC module in Lucid Scribe. Tap on the INSPEC card on the home screen. The app will search for and connect to your device via Bluetooth.

 

Step 3: Configure Wi-Fi

Wi-Fi enables the video stream so you can see what the camera sees and verify face detection.

  1. Open INSPEC Settings. Once connected via Bluetooth, tap the INSPEC icon (bottom left) to open settings. Scroll to Network Settings.

  2. Enter your Wi-Fi network name. Type your home Wi-Fi network name slowly. It's transmitted character by character over Bluetooth.

  3. Enter the security key. Type your Wi-Fi password slowly.

  4. Enable Wi-Fi. Toggle Wi-Fi on. The INSPEC will connect to your network and begin streaming on port 8080.

 

Important: Your phone must be connected to the same Wi-Fi network as the INSPEC. Settings are only synced while connected via Bluetooth. Some network changes may require unplugging and reconnecting the INSPEC.

Keep the screen on: The phone screen must stay on for the video stream to remain connected. The app prevents the screen from dimming during an active INSPEC session, but if you manually lock the screen or switch to another app, the stream will disconnect. Place the phone face-down or cover it with a cloth to block the light while sleeping.

 

Step 4: Position the Camera

Your face should appear right-side up in the video stream, filling the majority of the frame. There are two mounting options:

  1. Option A: Bedside table (recommended). Place the INSPEC on your bedside table, 30–60 cm from your face, at roughly eye level when lying down. If the image appears mirrored, enable Horizontal Mirror in Camera Settings.

  2. Option B: Above bed. Secure the INSPEC above your headboard facing down. Enable Vertical Flip in Camera Settings so the image appears right-side up.

  3. Adjust the focus. Manually turn the camera lens clockwise or counter-clockwise until the image in the video stream is sharp. This only needs to be done once.

  4. Set up the infrared spotlight. Place the IR light on the floor and aim it at the ceiling or wall opposite the camera. The light reflects back onto your face, providing even illumination without direct glare.

  5. Verify face detection. Lie on your pillow and face the camera. When face detection is working, a square appears around your face and the face icon turns blue. Enable Draw Face Region in settings to see the detection area.

 

Tip: If face detection doesn't activate, try adjusting the camera angle so your face is upright in the frame. Move the camera closer or further until detection works consistently. For best results, lie on your right side with knees slightly bent for a stable sleeping posture.

📹 Watch the setup video →

 

Step 5: Verify Detection

  1. Check the blue motion line. When you lie still, the blue motion variance line should be flat. If it's not, turn off room lights. Some LED bulbs flicker and interfere with detection. Use only the infrared light or natural light.

  2. Test eye movements. With your head still, move only your eyes rapidly left and right. The orange REM line should climb incrementally. When it reaches the threshold, the audio cue triggers.

 

Tip: If the orange REM line drops to zero, it usually means movement outside the face region was detected (body repositioning). This is normal. The counter resets to avoid false triggers from non-eye movements.

 

Step 6: Configure Timing

REM periods get longer as the night progresses. The best time to trigger lucid dreaming cues is during the later REM cycles, typically after 5–6 hours of sleep.

  1. Set Suspend Triggers. In the INSPEC settings, set Suspend Triggers to around 04:00 AM (or 5 hours after your bedtime). This prevents the INSPEC from triggering during early REM cycles when dreams are short and light, saving the cues for the longer, more vivid REM periods later in the night.

  2. Consider a Smart Alarm. The INSPEC can wake you at the optimal moment, at the end of a REM cycle when dream recall is highest. Open the Smart Alarm card on the Home screen and set a window (e.g., 06:30–07:00). The INSPEC will trigger within that window when it sees the stirring movements of a natural awakening, rather than cutting a dream short.

 

Tip: For a typical 23:00–07:00 sleep schedule, the richest REM periods occur between 04:00 and 07:00. This is when you're most likely to have vivid, memorable dreams, and when the INSPEC's cues are most effective.

 

Your First Night

Don't try to do everything on night one. Follow this gentle progression:

  1. Night 1: Observation only. Disable LEDs and set the audio volume to 0%. Sleep normally while the INSPEC records. In the morning, review the session data and hypnogram to see when REM was detected. This confirms the camera position is working.

  2. Night 2–3: Introduce the audio cue. Set the audio volume to 20% and configure Suspend Triggers to 04:00 AM. Before you sleep, lie down and tap play on the INSPEC screen to train the cue (see Train Your Cue below). When you hear the cue during sleep, try to remain still with your eyes closed. Ask yourself: "Am I dreaming?"

  3. Night 4+: Fine-tune and practice. Adjust the volume and trigger threshold based on your experience. If the cue wakes you, lower the volume or add a longer trigger delay. If you sleep through it, increase the volume slightly or enable LED flashes.

 

Train Your Cue

The cue works best when you have trained it before sleep. In targeted lucidity reactivation studies, cues that were paired with a lucid state of mind before sleep led to lucid dreams more often than untrained cues, so the training is the part that matters most. Lucid Scribe includes this training on the INSPEC screen, and the Homing Signal program walks you through it over seven nights.

  1. Set up the INSPEC as usual. Connect the INSPEC, check that it can see your face, and lie down in bed. The training uses your own INSPEC cue: the audio track and volume from the INSPEC settings. Choose your audio track before you start, and keep it, so the cue you train is the cue you hear in REM.

  2. Tap play on the INSPEC screen. A guide talks you through the first cues. Each time you hear the cue, become lucid: notice your thoughts, your body and your breath. After the guided cues, the cue plays on its own every 45 to 120 seconds. Each cue also flashes the LEDs, vibrates the phone or notifies your smartwatch if those are on, just as the INSPEC does in REM.

  3. Drift off and leave the INSPEC running. It is fine to fall asleep during the practice. The INSPEC keeps watching through the night and plays the same cue when it detects REM.

Tap the button again to pause or resume. A ring around it shows how many cues have played. Press and hold it to stop the session. Your first session has a full introduction with four guided cues. After that, the introduction is shorter and one cue is guided, unless you change Guided Cues in the settings. Restarting the Homing Signal program brings back the full introduction.

Tip: Start the Homing Signal program from Programs in the app. Over seven nights it adds dream recall, re-entering a dream after the cue wakes you, rehearsing a recent dream, and a wake back to bed night. The guide, the number of cues and the Deep Playlist option are in the Cue Training settings.

 

When the Cue Wakes You

If the audio or LED cue wakes you during the night, this is actually an opportunity:

  • Stay completely still with your eyes closed

  • Recall the dream you were just in. What were you doing? Where were you?

  • Visualize re-entering the dream: imagine yourself back in the scene, but this time aware that you're dreaming

  • Focus on sensations: feel the dream environment forming around you as you drift back to sleep

This is the DEILD (Dream Exit-Induced Lucid Dream) technique, one of the most effective methods when combined with the INSPEC.

Tip: If the cue consistently wakes you instead of entering your dreams, try lowering the volume, reducing LED flashes to 1–2, increasing the trigger delay to 60+ seconds, or switching to smartwatch vibration via Send Notifications. See the troubleshooting guide for more options.

 

What's Next

Now that your INSPEC is set up, make the most of your lucid dreaming journey:

  • Start Homing Signal: Seven nights of pre-sleep cue training, in Programs in the app

  • Start the 28-day program: Foundations of Lucidity guides you through dream recall, reality checks, MILD, SSILD, and more

  • Record your dreams: Use the dream journal in the app every morning. Tap the microphone for speech-to-text dictation. After an INSPEC or Homing Signal night, a new dream asks whether the cue appeared in it and whether it made you lucid

  • Review your sessions: Open the Sessions card on the Home screen to check your hypnograms and see when REM was detected

  • Explore techniques: Combine the INSPEC with WBTB, MILD, or DEILD for the best results

  • Full settings guide: Detailed documentation for every INSPEC setting

Join the community: Discord

 

Need Help?

If you run into any issues, check the troubleshooting guide or reach out on Discord.

 

 

Settings Reference

 

Audio

Configure the audio track that plays when the detection algorithm triggers. The INSPEC plays audio through the phone's media channel, so it works with Bluetooth headsets, headbands, and pillow speakers.

 

Induction Volume (range: 0 – 100%)

Controls the audio track volume relative to the system media level. The default is 50%. Set this before going to sleep. The volume during the day may be too loud or too quiet for nighttime use.

 

Progressive Volume

Raises the volume a little with each cue in a session, up to 100%. The first cue plays at the induction volume, so you can start quiet and let later cues get louder if the early ones go unnoticed. Off by default.

 

Volume Increase per Cue (range: 5 – 50%)

Shown when Progressive Volume is on. The amount added to the volume for each cue after the first. The default is 10%: with an induction volume of 50%, the second cue plays at 60%, the third at 70%, and so on. It also applies to the Face Lost Alert.

 

Audio Track

Select which audio file plays when the algorithm triggers. Tap to choose a custom audio file from your device. The default track is a gentle chime designed to prompt awareness without waking you.

Tip: Cue training before sleep uses this track, so the cue you train is the cue you hear in REM. Pick your track before you start the Homing Signal program and keep it. Changing it means training a new cue.

 

Play White Noise

When enabled, plays inaudible silence through the Bluetooth audio channel to maintain the connection with wireless headsets and headbands. Without this, some Bluetooth devices disconnect after a period of silence and miss the audio cue when REM is detected.

 

Reset Audio Track

Restores the audio track to the factory default.

 

Vibration & Notifications

Configure physical and notification-based alerts when the algorithm triggers.

 

Vibrate

Enables phone vibration when the algorithm activates. Useful if you sleep near your phone and prefer a tactile cue over audio.

 

Send Notifications

Dispatches system notifications when the algorithm triggers. These notifications can vibrate paired smartwatches and fitness trackers, providing a gentle wrist vibration as a lucid dreaming cue without disturbing a sleeping partner.

 

LEDs

The INSPEC has built-in RGB LEDs that can flash in configurable patterns when REM is detected. Light cues can appear as visual signals within dreams, a key principle behind many lucid dreaming masks.

 

Color

Toggle Red, Green, and Blue independently to mix any color. Combinations: Red + Green = Yellow, Red + Blue = Magenta, Green + Blue = Cyan, all three = White. The LED icon in the settings reflects the selected color.

Tip: The default is all three on, which gives white and the strongest cue. Red is the least likely to wake you, as the human eye is least sensitive to red light in dark-adapted conditions, so switch to red only if the flashes keep pulling you out of the dream.

 

Interval (range: 1 – 1000 ms)

The delay in milliseconds between LED on/off cycles within a flash sequence. Lower values produce a rapid strobe; higher values produce a slow, gentle pulse.

 

Flashes (range: 1 – 32)

The number of times the LED flashes in a single trigger sequence. More flashes increase the chance of the cue appearing in your dream, but also increase the chance of waking you.

 

Test LED Sequence

Triggers the configured LED pattern immediately so you can preview exactly what you'll see at night. Use this to fine-tune the color, interval, and flash count before sleep.

 

Algorithm

The core of the INSPEC is the detection algorithm that decides when to trigger cues. Choose the algorithm that matches your use case, then fine-tune the sensitivity parameters.

 

REM Detection

The primary algorithm. Monitors the infrared video feed for rapid eye movements. Triggers when 8 or more eye movements exceed the trigger threshold within a 60-second window. The eye-movement counter resets when a larger movement (exceeding the toss threshold) is detected, filtering out body repositioning.

How it works: The algorithm compares consecutive video frames, measuring pixel changes in the eye region. Rapid, small movements (eye movements) are counted. Large movements (head turns, body repositioning) reset the counter. This distinguishes REM sleep from restless movements.

 

NREM1 Detection

Identifies sleep onset by detecting a period of sustained stillness. Designed for use with the FILD (Finger-Induced Lucid Dream) and TDI (Targeted Dream Incubation) techniques, where audio cues should play as the user transitions from wakefulness to the first stage of sleep.

 

Motion Detection

A simple algorithm that triggers on any motion exceeding the threshold. Useful for general sleep monitoring or for triggering cues when the sleeper moves (e.g., at the end of a sleep cycle).

 

Face Detection

Triggers when a face is detected in the video feed using Haar cascade or TensorFlow classifiers. Can be used to verify camera positioning or as an alternative trigger mechanism.

 

Trigger Threshold (range: 1 – 32)

The number of changed pixels in the eye area needed for a frame to count as an eye movement. Lower values are more sensitive (detecting subtle eye movements) but may produce false positives from noise or breathing artifacts. Higher values require more pronounced movements.

Start at: 6, the default. Decrease if REM events are missed; increase if false triggers occur during non-REM sleep.

 

Toss Threshold (range: 10 – 1000)

The movement magnitude that resets the eye-movement counter. When the sleeper rolls over or repositions, the pixel change exceeds this threshold, and the algorithm resets to avoid falsely triggering from body movement.

 

Toss Cooldown (range: 1 – 64 seconds)

The number of seconds the algorithm waits after detecting a large movement (toss) before resuming eye-movement counting. This prevents false triggers immediately after the sleeper repositions.

 

Pixel Threshold (range: 1 – 64)

The minimum brightness change in an individual pixel to be counted as changed. Filters out sensor noise and minor lighting fluctuations.

 

Pixel Range (range: 1 – 64)

The minimum size, in pixels, of a connected patch of changed pixels. Smaller patches are ignored as noise. Higher values require larger contiguous areas of movement, filtering out isolated pixel noise. The default is 6.

 

Artifact Filter (range: 0.0 – 1.0)

Suppresses false positives caused by rhythmic breathing patterns. The algorithm identifies periodic small movements that correspond to chest and abdomen motion from breathing, and ignores them. This is a strength rather than an on/off switch: the default is 0.7, and raising it filters more aggressively at the risk of discarding real eye movements.

 

Trigger Delay (range: 0 – 300 seconds)

A waiting period after the algorithm detects REM before triggering the cue. This allows the sleeper to enter deeper REM before the cue plays, increasing the chance of incorporation into the dream rather than waking.

Tip: The default is 0, so the cue fires as soon as REM is detected. If cues seem to reach you before the dream has settled, try 30 to 60 seconds.

 

Trigger Interval (range: 1 – 30 minutes)

The minimum time between consecutive triggers during an extended REM period. Prevents the cue from playing repeatedly in quick succession, which would likely wake the sleeper.

Tip: 5–10 minutes is a good balance between multiple cue attempts and not over-stimulating.

 

NREM1 Delay (range: 1 – 10 minutes)

For NREM1 detection: the duration of sustained stillness required before the algorithm considers the user asleep. Shorter values trigger sooner (catching lighter sleep onset); longer values wait for deeper sleep.

 

Cue Training

Settings for the pre-sleep training you start with the play button on the INSPEC screen, and for the Homing Signal program. The training plays your own cue, using the Audio Track and Induction Volume above, and each cue follows your LED, vibration and notification settings.

 

Guide

The voice that guides the training. 

 

Guided Cues (range: 1 – 4)

How many cues the guide talks you through after the short introduction. The default is 1. Your first session, and the first session after you start or restart the Homing Signal program, always has a full introduction with four guided cues.

 

Unguided Cues (range: 0 – 24)

How many cues play on their own after the guided ones, at random intervals of 45 to 120 seconds. The default is 6. Raise it if you are still awake when the session ends.

 

Play Deep Playlist After

For nights without the INSPEC. When the training ends and no INSPEC is connected, the Deep Playlist plays the same cue later in the night, at the times set on the Deep Playlist screen (usually between 4:00 and 6:59). Off by default. When an INSPEC is connected, it cues in REM instead.

 

Face Detection

Advanced settings for restricting the analysis area to the face or eye region, improving detection accuracy and reducing false positives from background movement.

 

Track Face

When enabled, detects the face in each frame and restricts pixel analysis to the facial region only. Eye movements are only counted while a face is found. This dramatically reduces false positives from ambient movement (curtains, pets, partner movement). On by default.

 

TensorFlow

An older face detection method using a TensorFlow neural network model, kept for compatibility. Off by default; BlazeFace replaces it.

 

BlazeFace

The default face detector. A neural network that finds the face and the position of each eye, so the INSPEC can watch the eye areas directly instead of the whole face. On by default.

 

BlazeFace Confidence (range: 0 – 1)

Shown when BlazeFace is on. The minimum score BlazeFace needs to accept a face. The default is 0.4. Lower it if the face is often lost at night (for example when lying partly face-down); raise it if the INSPEC finds faces in the pillow or duvet.

 

Track Eyes

Further restricts analysis to the eye region within the detected face. Provides the most precise eye-movement detection but requires consistent face positioning throughout the night.

 

Draw Face Region

Displays a visual boundary rectangle around the detected face/eye region in the video stream. Use this to verify that the camera is correctly identifying and tracking the face before going to sleep.

 

Capture Frames Without REM

Saves a still image from the video stream to the session at a set interval, even when no REM is detected. The INSPEC already saves an image each time it detects REM; this fills the gaps, so you can see how you were lying during the rest of the night. If no face is visible when a capture is due, the app waits up to 15 minutes for one before saving the frame anyway. Off by default.

 

Interval (range: 15 – 90 minutes)

Shown when Capture Frames Without REM is on. How long the app waits after the last saved image before capturing a new one. The default is 90 minutes, roughly one sleep cycle.

 

Face Lost Alert

Plays a separate audio track when the INSPEC loses sight of your face, so you can turn back toward the camera. It plays once each time the face is lost and resets when the face is found again. Off by default.

 

Face Lost Delay (range: 10 – 120 seconds)

How long the face must be out of view before the alert plays. The default is 60 seconds. Short delays can sound the alert during brief movements.

 

Face Lost Volume (range: 0 – 100%)

The volume of the face lost alert, set separately from the induction volume. The default is 50%. Keep it low enough to prompt a turn without waking you.

 

Face Lost Audio Track

Select which audio file plays as the face lost alert. Use Reset Face Lost Audio to restore the default track.

 

Face Stages (range: 1 – 25)

Controls the number of sub-stages in the Haar cascade detection. More stages increase accuracy but slow down processing. Fewer stages are faster but may produce more false detections.

 

Face Confidence

Adjusts the sensitivity of the face detection classifier. Higher confidence requires a stronger match to identify a face, reducing false positives but potentially missing faces at unusual angles.

 

Face Threshold (range: 0 – 1)

The minimum detection score required to confirm a face is present. Values closer to 1 require higher certainty.

 

Face Scale Factor (range: 1.0 – 2.0)

Controls how much the image is scaled between detection passes. Lower values (closer to 1.0) provide more thorough scanning at different face sizes but are slower. Higher values are faster but may miss faces at certain distances.

 

Network Settings

Configure Wi-Fi connectivity for video streaming to the desktop Lucid Scribe application or for firmware updates.

 

IP Address

Displays the current network IP address of the INSPEC device. Use this address to connect from the desktop Lucid Scribe application.

 

Image Quality (range: 20 – 100)

JPEG compression level for the video stream. Higher values produce sharper images but require more bandwidth. Lower values reduce bandwidth usage for slower networks.

 

Wi-Fi

Connects the INSPEC to your home Wi-Fi network using the configured network name and security key. Once connected, the INSPEC streams video on port 8080, accessible from the desktop Lucid Scribe application or any browser on the same network.

 

Access Point

Broadcasts a personal Wi-Fi hotspot from the INSPEC device itself. Useful when no existing Wi-Fi network is available. Connect your phone or computer directly to the INSPEC's hotspot for video streaming.

 

Start Second Stream

Enables a parallel video stream on port 8082 for simultaneous desktop integration. This allows the mobile app and desktop Lucid Scribe application to both receive the video feed at the same time.

 

Camera Settings

Fine-tune the INSPEC's infrared camera for optimal image quality in your sleeping environment.

 

Pixel Format

Grayscale (8-bit): Uses less processing power and bandwidth. Recommended for REM detection since eye movements are detected from brightness changes, not color.

RGB565 (16-bit color): Higher quality image with color information. Uses more processing power. Useful for face detection with TensorFlow or when recording color session clips.

 

Horizontal Mirror

Reverses the image horizontally. Use this if the camera is mounted in a position where the image appears mirrored.

 

Vertical Flip

Flips the image vertically. Use this if the camera is mounted upside down.

 

Brightness (range: -3 to +3)

Adjusts the overall luminosity of the infrared image. Increase if the image is too dark; decrease if it's overexposed from the IR LEDs reflecting off nearby surfaces.

 

Contrast (range: -3 to +3)

Adjusts the tonal range between light and dark areas. Higher contrast can make eye movements more distinct but may lose detail in shadows.

 

Saturation (range: -3 to +3)

Adjusts color intensity. Only applicable when using RGB565 pixel format. Has no visible effect in grayscale mode.

 

Recommended Settings for Beginners

These are the values the INSPEC ships with. If you're setting it up for the first time, leave them alone for the first few nights, then adjust one at a time based on what you see in your session recordings:

  • Algorithm: REM Detection

  • Trigger Threshold: 6 (decrease if missing events, increase if false triggers)

  • Trigger Delay: 0 seconds (raise it if cues arrive before the dream has settled)

  • Trigger Interval: 1 minute

  • Toss Threshold: 256

  • Toss Cooldown: 1 second

  • Pixel Threshold: 6

  • Pixel Range: 6

  • Artifact Filter: 0.7

  • LED Color: Red, Green and Blue all on, giving white

  • LED Interval: 500 ms

  • LED Flashes: 5

  • Pixel Format: Grayscale

  • Track Face: On (reduces false positives)

  • BlazeFace: On, confidence 0.4

Place the INSPEC on your bedside table, 30–60 cm from your face, at eye level. Use "Draw Face Region" to verify the camera can see your face, then disable it before sleep.

 

Troubleshooting

 

Too many false triggers (cues play when not in REM)

Aim the INSPEC so that mostly your face is in the frame. Enable Track Face to ignore background movement. Enable Artifact Filter to suppress breathing-related triggers. Increase Toss Cooldown if triggers occur after repositioning.

 

Cues never trigger (no REM detected)

Decrease the Trigger Threshold. Verify the camera can see your face using Draw Face Region. Check that the IR LEDs are illuminating your face (the image should be clearly visible in the video stream). Try disabling Track Face temporarily to see if face detection is the issue.

 

Cues wake me up instead of entering dreams

Reduce the Induction Volume. Turn off Progressive Volume, or lower the Volume Increase per Cue. Reduce LED Flashes to 1–2. Increase the Trigger Delay to 60+ seconds to allow deeper REM before the cue. Switch LED color to Red only. Consider using Send Notifications with a smartwatch vibration instead of audio.

 

The cue plays but I never notice it in my dreams

Train the cue before sleep with the play button on the INSPEC screen, or follow the Homing Signal program. If you still never notice it, raise the Induction Volume a little at a time, or turn on Progressive Volume. Write down any dream you remember each morning and note any sound, voice or light that might have been the cue. The journal asks about the cue after an INSPEC night.

 

Bluetooth audio disconnects during the night

Enable Play White Noise to maintain the Bluetooth connection through inaudible silence playback.

 

Video stream is too dark

Increase Brightness. Ensure the IR spotlight is on and pointing toward your face. Move the INSPEC closer (30 cm is ideal). Check that nothing is blocking the IR LEDs.

 

Reset to Defaults

If settings become unworkable, use Reset to Defaults in the app to restore all INSPEC settings to factory values and start fresh.

bottom of page