Software/Arduino Core/Reference
Example Index
Every example sketch shipped with the core, grouped by library, with the hardware each requires, and the bench sketches kept out of the menu.
beginner5 min read
Examples appear under File > Examples when the Neuro N6 is the selected board. Those shipped by Ohm Lab follow the Arduino style guide: a title block, then commented code. Diagnostic and benchmark sketches are kept in extras/bench and are not listed in the menu.
#NeuroN6Examples
| Example | Requires | Demonstrates |
|---|
| 01.Basics/Blink | Board | digitalWrite on the active-low LED |
| 01.Basics/BlinkWithoutDelay | Board | Non-blocking timing |
| 01.Basics/Fade | Board | analogWrite on an LED channel |
| 01.Basics/RgbLed | Board | The RGB object |
| 01.Basics/DigitalReadSerial | Board | Reading the USER button |
| 01.Basics/ButtonInterrupt | Board | attachInterrupt on the button |
| 01.Basics/AnalogReadSerial | Board | analogRead at 1.8 V full scale |
| 01.Basics/I2cScanner | Board | Probing I2C1 through the HAL |
| 02.Camera/CameraStream | OV5640 | Camera-only streaming with every setting documented |
| 02.Camera/CameraResolution | OV5640 | Changing the camera mode |
| 02.Camera/CameraOptions | OV5640, TFT carrier | Every VisionConfig field, output on the panel |
| 03.NeuralNetwork/ObjectDetection | OV5640 | The Nia detector to Neuro Studio |
| 03.NeuralNetwork/ObjectDetectionDisplay | OV5640, TFT carrier | The Nia detector on the panel |
| 03.NeuralNetwork/ObjectSegmentation | OV5640 | YOLOv8 segmentation at 5 MP |
| 03.NeuralNetwork/ObjectSegmentationDisplay | OV5640, TFT carrier | YOLOv8 segmentation on the panel |
| 03.NeuralNetwork/PoseEstimation | OV5640 | YOLOv8 pose with keypoint readout |
| 03.NeuralNetwork/CascadedModels | OV5640 | Two models on one frame with slots and overlay modes |
| 03.NeuralNetwork/HandLandmarks | OV5640 | Detector and landmark cascade with tracker |
#Camera libraries
| Library | Example | Requires | Demonstrates |
|---|
| OV5640 | CustomSensor | Any | Skeleton ImageSensor implementation |
| VD66GY | GlobalShutterVision | STCam module | 1.4 MP at 45 fps with segmentation and the IMU, magnetometer and ToF |
| VD66GY | GlobalShutterThermal | Thermal module | VD66GY on the thermal carrier |
#Vision libraries
| Library | Example | Requires | Demonstrates |
|---|
| Quirc | QrReader | OV5640 or VD66GY | QR decoding to Neuro Studio |
| Quirc | QrReaderDisplay | TFT carrier | QR decoding on the panel |
| Barcode1D | BarcodeReader | OV5640 | EAN and UPC decoding |
| AprilTag | AprilTagReader | OV5640 | Tag detection, tracking and pose |
| N6Imgproc | BlobTracker | OV5640 | Colour blob tracking with live tuning |
| N6Imgproc | BlobTrackerDisplay | TFT carrier | Colour blob tracking on the panel |
| FaceID | FaceRecognition | OV5640, TFT carrier | Detector and embedder cascade with enrolment |
#Sensor and audio libraries
| Library | Example | Requires | Demonstrates |
|---|
| LSM6DSL | ReadAcceleration | Board | IMU readout and streaming |
| MMC5603NJ | ReadMagneticField | Board | Magnetometer readout and heading |
| VL53L1CB | ReadDistance | OV5640, TFT or STCam module | 4x4 distance grid |
| GT911 | CalibrateTouch | TFT carrier | Deriving the touch mapping |
| NeuroVisionThermal | ThermalCamera | Thermal module | Lepton streaming as main video |
| Microphone | MicrophoneLevel | Board | Level meter with streaming |
| Speaker | SpeakerTone | TFT carrier | Tones and PCM streaming |
| Speaker | SpeakerClip | TFT carrier | Playing an embedded clip |
| N6Audio | AudioSpectrum | TFT carrier | 64-band analyser on the panel |
| N6Audio | AudioWaterfall | TFT carrier | Scrolling spectrogram |
| N6AudioAI | AudioEventDetection | OV5640 | Ten-class sound classifier to Neuro Studio |
| N6AudioAI | AudioEventDetectionDisplay | TFT carrier | Sound classifier on the panel |
#Connectivity and system libraries
| Library | Example | Requires | Demonstrates |
|---|
| MayaW476 | WiFiVideoStream | OV5640-W | Video over an access point |
| MayaW476 | WiFiAccessPoint | TFT-W | Access point, BLE, panel and speaker together |
| BluetoothMaya | BleBeacon | OV5640-W or TFT-W | Non-connectable beacon |
| BluetoothMaya | BlePeripheral | OV5640-W or TFT-W | Connectable GATT service via ArduinoBLE |
| ArduinoBLE | Central, Peripheral | OV5640-W or TFT-W | Upstream ArduinoBLE examples |
| A7683EVideo | LteThermalUpload | Thermal module, A7683E modem | Periodic upload over LTE |
| N6OTA | OtaOverWiFi | OV5640-W or TFT-W | Manifest check, download, apply and rollback |
| N6OTA | OtaSelfStage | Board | Slot mechanism without a network |
| N6Events | EventRecording | OV5640, SD card | Motion gate, network, clip to card |
| N6Events | EventRecordingLowPower | Thermal module, SD card | Dormant tier with one-shot capture |
| NeuroN6-Powersave | SleepAndWake | Thermal module, SD card | Full duty cycle at about 23 mA |
| SPI | SpiTransfer | Board | Byte transfer with software chip select |
| Wire | WireScanner | Board | I2C address scan |
#Bench sketches
Located in extras/bench and compiled by the build verification tooling.
| Sketch | Purpose |
|---|
| AprilTagDoctor | Reports where tag detection failed |
| AprilTagPoseSelfTest | Pose solver against known corners |
| AprilTagSynthetic | Detector on a generated image |
| AssetStoreTest | Asset store persistence |
| CameraAwbMode | White balance comparison between modules |
| CameraBringUpVd66gy | Global shutter sensor bring-up |
| CameraColourCheck | Colour fault localisation by resolution |
| CameraFingerprint | Sensor register dump for comparison |
| DisplayBenchmark | Display and overlay throughput |
| DisplayTouchBringUp | Panel and touch controller |
| EventsParked | Unverified event pipeline composition |
| EventsRingSelfTest | Ring buffer unit test |
| EvidenceGateTest | Host subscription contract |
| FlashReadRepeatability | Mapped flash read error rate |
| ImgprocSelfTest | Image primitive unit test |
| ModelBench | Per-frame inference timing |
| PsramDecay, PsramRetention, PsramSizeProbe, PsramStress | External memory tests |
| RfTestLab | EMC laboratory firmware. Requires the RF test mode option. Not for shipment |
| SdCardDoctor, SdCardLogStability, SdCardWriteBenchmark | SD card diagnostics and soak |
| ThermalI2cVerify, ThermalVoSpiTest | Thermal camera interfaces |
| Vd66gyStrobeTest | Strobe output |
| WatchdogClickTest, WatchdogClickRecovery | External watchdog |
| WiFiStreamingStub | Superseded by WiFiVideoStream |
#Build verification
tools/build_all_examples.py compiles every example and bench sketch and records a SHA-256 of each unsigned binary and ELF. The --compare option diffs two runs, which is how cosmetic changes to the core are shown to produce byte-identical output.