Skip to content

Commit 032982b

Browse files
kwagyemanclaude
andcommitted
docs: Restructure boards/shields/sensors as card-grid landings.
Replace the plain-RST quickref toctree with a card-grid Boards landing that mirrors the homepage style, and add new Shields and Sensors top- level sections with their own card-grid landings and per-item stub pages. - openmvcam/quickref.rst: rewritten as a card grid showing all 13 supported boards (legacy boards tagged so users can identify them). - openmvcam/shields.rst: new card grid for the 12 OpenMV shields. - openmvcam/shields/*.rst: 12 stub pages, each linking to its openmv.io product page and ready for future API/usage docs. - openmvcam/sensors.rst: new card grid for the 8 sensor / camera module products. - openmvcam/sensors/*.rst: 8 stub pages. - index.rst toctree: add shields.rst and sensors.rst. - conf.py nav_links: add Shields and Sensors, drop Quick start (the Tutorial entry already covers that path). - topindex.html: add Shields and Sensors teaser sections after Boards on the home page, each with 8 cards plus a "view all" link. - custom.css: extract the landing styles from the inline <style> block in topindex.html so card-grid pages outside the home (boards, shields, sensors landings) can reuse the same styling. The selectors now match both .openmv-landing (home) and .omv-cards-page (sub-landings) via :is(), keeping body:has() chrome adjustments scoped to the home only. The intent is for the openmv.io product pages to keep ordering and photos, and for the docs to take over command-and-control / API / script details — particularly for the GenX320, where API info is currently mixed into the product page. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 651eebd commit 032982b

27 files changed

Lines changed: 1795 additions & 758 deletions

docs/conf.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,10 +421,11 @@ def _render_landing_code(src):
421421
"show_ai_links": False,
422422
"nav_links": [
423423
{"title": "Home", "url": "index"},
424-
{"title": "Quick start", "url": "openmvcam/tutorial/software_setup"},
425424
{"title": "Tutorial", "url": "openmvcam/tutorial/index"},
426-
{"title": "Library", "url": "library/index"},
427425
{"title": "Boards", "url": "openmvcam/quickref"},
426+
{"title": "Shields", "url": "openmvcam/shields"},
427+
{"title": "Sensors", "url": "openmvcam/sensors"},
428+
{"title": "Library", "url": "library/index"},
428429
],
429430
}
430431

docs/index.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,5 @@ OpenMV MicroPython documentation
99
develop/index.rst
1010
license.rst
1111
openmvcam/quickref.rst
12+
openmvcam/shields.rst
13+
openmvcam/sensors.rst

docs/openmvcam/quickref.rst

Lines changed: 130 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,143 @@
11
.. _quickref:
22

3-
Quick reference for the OpenMV Cam
4-
==================================
3+
Boards
4+
======
55

6-
Each OpenMV camera has its own pinout, set of on‑board peripherals (sensor,
7-
IMU, microphone, networking, etc.) and supported drivers. The pages below
8-
cover one board at a time — pick yours for the pinout, hardware control, bus
9-
mappings, and the list of board‑specific libraries.
6+
OpenMV cameras and Arduino boards running the OpenMV firmware. Each
7+
page has the full pinout, peripheral mapping, supported drivers, and
8+
board-specific notes.
109

11-
If this is your first time working with an OpenMV Cam, start with:
10+
.. raw:: html
1211

13-
.. toctree::
14-
:maxdepth: 1
12+
<div class="omv-cards-page">
13+
<section class="omv-section">
14+
<div class="omv-grid cols-4">
1515

16-
tutorial/index.rst
16+
<a class="omv-card board" href="quickref/openmv-n6.html">
17+
<div class="board-thumb"><img src="../_images/openmv-n6-hero.jpg" alt="OpenMV N6"></div>
18+
<div class="board-body">
19+
<h4>OpenMV N6 <span class="tag new">New</span></h4>
20+
<p>STM32N6 with built-in NPU — STMicro's first AI-accelerated MCU.</p>
21+
<span class="card-arrow">Explore →</span>
22+
</div>
23+
</a>
24+
25+
<a class="omv-card board" href="quickref/openmv-ae3.html">
26+
<div class="board-thumb"><img src="../_images/openmv-ae3-hero.jpg" alt="OpenMV AE3"></div>
27+
<div class="board-body">
28+
<h4>OpenMV AE3 <span class="tag new">New</span></h4>
29+
<p>Alif Ensemble E3 — fusion-class Cortex-M55 with Ethos-U55 NPU.</p>
30+
<span class="card-arrow">Explore →</span>
31+
</div>
32+
</a>
33+
34+
<a class="omv-card board" href="quickref/openmv-rt1062.html">
35+
<div class="board-thumb"><img src="../_images/openmv-rt1062-hero.jpg" alt="OpenMV RT1062"></div>
36+
<div class="board-body">
37+
<h4>OpenMV RT1062</h4>
38+
<p>NXP i.MX RT1062 Cortex-M7 at 600 MHz with 32 MB external SDRAM.</p>
39+
<span class="card-arrow">Explore →</span>
40+
</div>
41+
</a>
42+
43+
<a class="omv-card board" href="quickref/openmv-pure-thermal.html">
44+
<div class="board-thumb"><img src="../_images/openmv-pure-thermal-hero.webp" alt="OpenMV Pure Thermal"></div>
45+
<div class="board-body">
46+
<h4>Pure Thermal</h4>
47+
<p>Thermal imaging with DVI/HDMI output, STM32H7 host.</p>
48+
<span class="card-arrow">Explore →</span>
49+
</div>
50+
</a>
51+
52+
<a class="omv-card board" href="quickref/openmv-cam-h7-plus.html">
53+
<div class="board-thumb"><img src="../_images/openmv-h7-plus-hero.jpg" alt="OpenMV H7 Plus"></div>
54+
<div class="board-body">
55+
<h4>OpenMV H7 Plus</h4>
56+
<p>STM32H743 with 32 MB external SDRAM and a 5-MP OV5640 sensor.</p>
57+
<span class="card-arrow">Explore →</span>
58+
</div>
59+
</a>
60+
61+
<a class="omv-card board" href="quickref/openmv-cam-h7.html">
62+
<div class="board-thumb"><img src="../_images/openmv-cam-h7-hero.jpg" alt="OpenMV H7"></div>
63+
<div class="board-body">
64+
<h4>OpenMV H7</h4>
65+
<p>STM32H743 Cortex-M7 with a removable image sensor module.</p>
66+
<span class="card-arrow">Explore →</span>
67+
</div>
68+
</a>
69+
70+
<a class="omv-card board" href="quickref/openmv-cam-m7.html">
71+
<div class="board-thumb"><img src="../_images/openmv-cam-m7-hero.jpg" alt="OpenMV M7"></div>
72+
<div class="board-body">
73+
<h4>OpenMV M7</h4>
74+
<p>STM32F765 Cortex-M7 — the original high-performance OpenMV Cam.</p>
75+
<span class="card-arrow">Explore →</span>
76+
</div>
77+
</a>
78+
79+
<a class="omv-card board" href="quickref/openmv-cam-m4.html">
80+
<div class="board-thumb"><img src="../_images/openmv-cam-m4-hero.jpg" alt="OpenMV M4"></div>
81+
<div class="board-body">
82+
<h4>OpenMV M4 <span class="tag legacy">Legacy</span></h4>
83+
<p>STM32F427 Cortex-M4 — entry-level OpenMV Cam.</p>
84+
<span class="card-arrow">Explore →</span>
85+
</div>
86+
</a>
87+
88+
<a class="omv-card board" href="quickref/arduino-nicla-vision.html">
89+
<div class="board-thumb"><img src="../_images/arduino-nicla-vision-hero.jpg" alt="Arduino Nicla Vision"></div>
90+
<div class="board-body">
91+
<h4>Arduino Nicla Vision</h4>
92+
<p>Compact 23 × 23 mm STM32H747 board with on-board sensor.</p>
93+
<span class="card-arrow">Explore →</span>
94+
</div>
95+
</a>
1796

18-
OpenMV cameras
19-
--------------
97+
<a class="omv-card board" href="quickref/arduino-portenta-h7.html">
98+
<div class="board-thumb"><img src="../_images/arduino-portenta-h7-hero.jpg" alt="Arduino Portenta"></div>
99+
<div class="board-body">
100+
<h4>Arduino Portenta</h4>
101+
<p>STM32H747 with 8 MB SDRAM and Vision Shield support.</p>
102+
<span class="card-arrow">Explore →</span>
103+
</div>
104+
</a>
105+
106+
<a class="omv-card board" href="quickref/arduino-giga-r1-wifi.html">
107+
<div class="board-thumb"><img src="../_images/arduino-giga-r1-wifi-hero.jpg" alt="Arduino Giga"></div>
108+
<div class="board-body">
109+
<h4>Arduino Giga</h4>
110+
<p>STM32H747 with 8 MB SDRAM, Vision and Display Shield support.</p>
111+
<span class="card-arrow">Explore →</span>
112+
</div>
113+
</a>
114+
115+
<a class="omv-card board" href="quickref/arduino-nano-rp2040-connect.html">
116+
<div class="board-thumb"><img src="../_images/arduino-nano-rp2040-connect-hero.jpg" alt="Arduino Nano RP2040 Connect"></div>
117+
<div class="board-body">
118+
<h4>Arduino Nano RP2040 Connect <span class="tag legacy">Legacy</span></h4>
119+
<p>RP2040 Cortex-M0+ with U-blox NINA Wi-Fi/BLE.</p>
120+
<span class="card-arrow">Explore →</span>
121+
</div>
122+
</a>
123+
124+
<a class="omv-card board" href="quickref/arduino-nano-33-ble-sense.html">
125+
<div class="board-thumb"><img src="../_images/arduino-nano-33-ble-sense-hero.jpg" alt="Arduino Nano 33 BLE Sense"></div>
126+
<div class="board-body">
127+
<h4>Arduino Nano 33 BLE Sense <span class="tag legacy">Legacy</span></h4>
128+
<p>Nordic nRF52840 sensor board — no on-board image sensor.</p>
129+
<span class="card-arrow">Explore →</span>
130+
</div>
131+
</a>
132+
133+
</div>
134+
</section>
135+
</div>
20136

21137
.. toctree::
22-
:maxdepth: 1
138+
:hidden:
23139

140+
tutorial/index.rst
24141
quickref/openmv-n6.rst
25142
quickref/openmv-ae3.rst
26143
quickref/openmv-rt1062.rst
@@ -29,13 +146,6 @@ OpenMV cameras
29146
quickref/openmv-cam-h7.rst
30147
quickref/openmv-cam-m7.rst
31148
quickref/openmv-cam-m4.rst
32-
33-
Arduino boards
34-
--------------
35-
36-
.. toctree::
37-
:maxdepth: 1
38-
39149
quickref/arduino-nicla-vision.rst
40150
quickref/arduino-portenta-h7.rst
41151
quickref/arduino-giga-r1-wifi.rst

docs/openmvcam/sensors.rst

Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
.. _sensors:
2+
3+
Sensors
4+
=======
5+
6+
Camera modules and sensor adapters that connect to the FPC connector
7+
on supported OpenMV Cams. Each page covers the sensor's resolution,
8+
pixel format, supported frame sizes, and the MicroPython API for
9+
driving it.
10+
11+
.. raw:: html
12+
13+
<div class="omv-cards-page">
14+
<section class="omv-section">
15+
<div class="omv-grid cols-3">
16+
17+
<a class="omv-card module icon-blue" href="sensors/ov5640.html">
18+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z"/><circle cx="12" cy="13" r="4"/></svg></div>
19+
<h4>OV5640</h4>
20+
<p>5-MP rolling-shutter colour sensor with autofocus support.</p>
21+
<span class="card-arrow">Explore →</span>
22+
</a>
23+
24+
<a class="omv-card module icon-purple" href="sensors/ps5520.html">
25+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M23 19a2 2 0 01-2 2H3a2 2 0 01-2-2V8a2 2 0 012-2h4l2-3h6l2 3h4a2 2 0 012 2z"/><circle cx="12" cy="13" r="4"/><path d="M9 13l2 2 4-4"/></svg></div>
26+
<h4>PS5520</h4>
27+
<p>5-MP HDR sensor with high dynamic range — challenging-light scenes.</p>
28+
<span class="card-arrow">Explore →</span>
29+
</a>
30+
31+
<a class="omv-card module icon-green" href="sensors/mt9v024.html">
32+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><rect x="3" y="6" width="18" height="12" rx="2"/><circle cx="12" cy="12" r="3"/><path d="M3 9l3-3M21 9l-3-3"/></svg></div>
33+
<h4>MT9V024</h4>
34+
<p>Global-shutter monochrome sensor — high-speed capture without rolling-shutter artifacts.</p>
35+
<span class="card-arrow">Explore →</span>
36+
</a>
37+
38+
<a class="omv-card module icon-amber" href="sensors/pag7936.html">
39+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><circle cx="12" cy="14" r="3"/></svg></div>
40+
<h4>PAG7936 Multispectral Thermal</h4>
41+
<p>1-MP global-shutter multispectral thermal module — OpenMV N6 only.</p>
42+
<span class="card-arrow">Explore →</span>
43+
</a>
44+
45+
<a class="omv-card module icon-coral" href="sensors/genx320.html">
46+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4M4.93 19.07l2.83-2.83M16.24 7.76l2.83-2.83"/></svg></div>
47+
<h4>GENX320 Event Camera</h4>
48+
<p>Prophesee event-based vision sensor — microsecond temporal resolution.</p>
49+
<span class="card-arrow">Explore →</span>
50+
</a>
51+
52+
<a class="omv-card module icon-purple" href="sensors/multispectral-event.html">
53+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><circle cx="12" cy="12" r="10"/><path d="M12 2v4M12 18v4M2 12h4M18 12h4"/><circle cx="12" cy="12" r="3"/></svg></div>
54+
<h4>Multispectral Event Camera</h4>
55+
<p>Combined multispectral and event-based sensor module.</p>
56+
<span class="card-arrow">Explore →</span>
57+
</a>
58+
59+
<a class="omv-card module icon-amber" href="sensors/flir-lepton.html">
60+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/></svg></div>
61+
<h4>FLIR Lepton Adapter</h4>
62+
<p>Adapter for FLIR Lepton thermal modules — 80×60 to 160×120 thermal.</p>
63+
<span class="card-arrow">Explore →</span>
64+
</a>
65+
66+
<a class="omv-card module icon-amber" href="sensors/flir-boson.html">
67+
<div class="omv-card-icon"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><path d="M14 2H6a2 2 0 00-2 2v16a2 2 0 002 2h12a2 2 0 002-2V8z"/><polyline points="14 2 14 8 20 8"/><line x1="16" y1="13" x2="8" y2="13"/><line x1="16" y1="17" x2="8" y2="17"/><line x1="10" y1="9" x2="14" y2="9"/></svg></div>
68+
<h4>FLIR Boson Adapter</h4>
69+
<p>Adapter for FLIR Boson thermal modules — higher-resolution thermal imaging.</p>
70+
<span class="card-arrow">Explore →</span>
71+
</a>
72+
73+
</div>
74+
</section>
75+
</div>
76+
77+
.. toctree::
78+
:hidden:
79+
80+
sensors/ov5640.rst
81+
sensors/ps5520.rst
82+
sensors/mt9v024.rst
83+
sensors/pag7936.rst
84+
sensors/genx320.rst
85+
sensors/multispectral-event.rst
86+
sensors/flir-lepton.rst
87+
sensors/flir-boson.rst
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
FLIR Boson Adapter
2+
==================
3+
4+
.. note::
5+
6+
This page is a placeholder. Sensor specs (resolution, pixel format,
7+
supported frame sizes), wiring notes, and the MicroPython API for
8+
driving the FLIR Boson Adapter will be documented here.
9+
10+
For ordering and product photos see the
11+
`FLIR Boson Adapter product page <https://openmv.io/products/flir-boson-adapter-module>`_.
12+
13+
Adapter for FLIR Boson thermal modules — higher-resolution thermal imaging.
14+
15+
Specifications
16+
--------------
17+
18+
.. todo:: Add resolution, pixel format, frame rates, and other key specs.
19+
20+
Compatible boards
21+
-----------------
22+
23+
.. todo:: List which OpenMV / Arduino boards support this module.
24+
25+
Software
26+
--------
27+
28+
.. todo:: Add the MicroPython snippet to initialise this sensor and
29+
any sensor-specific knobs (gain, exposure, special pixel formats).
30+
31+
Examples
32+
--------
33+
34+
.. todo:: Link to relevant examples in the OpenMV firmware repository.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
FLIR Lepton Adapter
2+
===================
3+
4+
.. note::
5+
6+
This page is a placeholder. Sensor specs (resolution, pixel format,
7+
supported frame sizes), wiring notes, and the MicroPython API for
8+
driving the FLIR Lepton Adapter will be documented here.
9+
10+
For ordering and product photos see the
11+
`FLIR Lepton Adapter product page <https://openmv.io/products/flir-lepton-adapter-module>`_.
12+
13+
Adapter for FLIR Lepton thermal modules (80×60 to 160×120).
14+
15+
Specifications
16+
--------------
17+
18+
.. todo:: Add resolution, pixel format, frame rates, and other key specs.
19+
20+
Compatible boards
21+
-----------------
22+
23+
.. todo:: List which OpenMV / Arduino boards support this module.
24+
25+
Software
26+
--------
27+
28+
.. todo:: Add the MicroPython snippet to initialise this sensor and
29+
any sensor-specific knobs (gain, exposure, special pixel formats).
30+
31+
Examples
32+
--------
33+
34+
.. todo:: Link to relevant examples in the OpenMV firmware repository.

docs/openmvcam/sensors/genx320.rst

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
GENX320 Event Camera
2+
====================
3+
4+
.. note::
5+
6+
This page is a placeholder. Sensor specs (resolution, pixel format,
7+
supported frame sizes), wiring notes, and the MicroPython API for
8+
driving the GENX320 Event Camera will be documented here.
9+
10+
For ordering and product photos see the
11+
`GENX320 Event Camera product page <https://openmv.io/products/genx320-camera-module>`_.
12+
13+
Prophesee event-based vision sensor with microsecond temporal resolution.
14+
15+
Specifications
16+
--------------
17+
18+
.. todo:: Add resolution, pixel format, frame rates, and other key specs.
19+
20+
Compatible boards
21+
-----------------
22+
23+
.. todo:: List which OpenMV / Arduino boards support this module.
24+
25+
Software
26+
--------
27+
28+
.. todo:: Add the MicroPython snippet to initialise this sensor and
29+
any sensor-specific knobs (gain, exposure, special pixel formats).
30+
31+
Examples
32+
--------
33+
34+
.. todo:: Link to relevant examples in the OpenMV firmware repository.

0 commit comments

Comments
 (0)