ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證正在載入完整 README。 以下為已儲存的摘錄。
المصحف المحمدي — Maghreb Warsh Quran Data 0% tolerance verse-level data for the Moroccan Muhammadi mushaf (المصحف المحمدي), published by the Ministry of Habous and Islamic Affairs of the Kingdom of Morocco. Built for Maghreb users (Maroc / Algérie / Tunisie) who follow the Warsh recitation and the Madani verse-counting tradition.檢視完整 README ↗
0% tolerance verse-level data for the Moroccan Muhammadi mushaf (المصحف المحمدي), published by the Ministry of Habous and Islamic Affairs of the Kingdom of Morocco.
Built for Maghreb users (Maroc / Algérie / Tunisie) who follow the Warsh recitation and the Madani verse-counting tradition.
'an Nafi` (ورش عن نافع)هذه البيانات مستخرجة من المصحف المحمدي المطبوع بالمغرب، بأرقام السور والآيات والأحزاب والأثمان كما هي معتمدة رسمياً (الرواية: ورش عن نافع، الترقيم: المدني الأخير، 6214 آية).
تم التحقق من كل ثُمْن (۞) مقابل الصورة الأصلية للصفحة المطبوعة، ليوافق الموضع الدقيق في المصحف المحمدي.
data/quran_muhammadi.jsondata/eighths.jsondata/surahs.json, data/hizbs.json, data/juzs.jsonraw/muhammadi-pages/ (638 PNG)data/| File | Entries | Purpose |
|---|---|---|
quran_muhammadi.json | 6,214 | Full verses with text, text_simple, page_mushafma, hizb, juz, eighth_id, word_count, is_sajda (11 — Maliki tradition) |
eighths.json | 480 | Every ۞ boundary with inclusive start / end, verses_covered, word_count, name_ar |
surahs.json | 114 | Name (ar/en), revelation (makki/madani), verse count, first/last eighth |
hizbs.json | 60 | Hizb → juz mapping, start/end, pages, word count |
juzs.json | 30 | Juz → hizb range, pages, word count |
audio_sources.json | 19 reciters | Warsh 'an Nafi` recitations — per-surah and per-verse streaming URLs |
VERSION.json | — | Dataset version + totals |
See docs/SCHEMA.md for full field documentation.
// Bundle or fetch from GitHub raw CDN (jsDelivr recommended):
const BASE = "https://cdn.jsdelivr.net/gh/ELAHMADI/ma-mushaf-muhammadi-data@v1/data";
const [verses, eighths, surahs] = await Promise.all([
fetch(`${BASE}/quran_muhammadi.json`).then(r => r.json()),
fetch(`${BASE}/eighths.json`).then(r => r.json()),
fetch(`${BASE}/surahs.json`).then(r => r.json()),
]);
// Find the eighth containing Al-Fatiha:5
const v = verses.find(x => x.sura === 1 && x.aya === 5);
const e = eighths.find(x => x.eighth_id === v.eighth_id);
console.log(`${e.name_ar} — hizb ${e.hizb}`);
import json, urllib.request
BASE = "https://cdn.jsdelivr.net/gh/ELAHMADI/ma-mushaf-muhammadi-data@v1/data"
with urllib.request.urlopen(f"{BASE}/quran_muhammadi.json") as r:
verses = json.load(r)
# In your project root
curl -L "https://github.com/ELAHMADI/ma-mushaf-muhammadi-data/releases/download/v1.0.0/quran_muhammadi.json" \
-o ./assets/data/quran_muhammadi.json
data/audio_sources.json lists **16 Warsh 'an Nafi reciters** with per-surah streams (001.mp3…114.mp3`), prioritizing Maghreb voices:
| Reciter | Country | URL pattern |
|---|---|---|
| عمر القزابري — Omar Al-Kazabri | 🇲🇦 Morocco | server9.mp3quran.net/omar_warsh/{001..114}.mp3 |
| ياسين الجزائري — Yassine Al-Jazairi | 🇩🇿 Algeria | server11.mp3quran.net/qari/{001..114}.mp3 |
| رشيد بلعالية — Rachid Belaalya | 🇲🇦 Morocco | server6.mp3quran.net/bl3/Rewayat-Warsh-A-n-Nafi/… |
| عبد المجيب بنكيران — Benkirane | 🇲🇦 Morocco | server16.mp3quran.net/A-Benkirane/… |
| …and 12 more | see audio_sources.json |
All endpoints verified 2026-04-21. Per-surah Warsh audio is fully aligned with the Moroccan numbering used by this dataset.
Three reciters carry ثمن-level timings in data/timings_thumn/<key>/{NNN}.json. Their MP3s are mirrored on this repository's GitHub Releases, so timings always point to a stable, byte-identical file:
| Reciter | Key | Mirror (GitHub Releases) | Format |
|---|---|---|---|
| العيون الكوشي — El-Ayoun El-Kouchi | kouchi | audio-kouchi-v1/{NNN}.mp3 | 128 kbps CBR |
| عبد المجيب بنكيران — Abdul-Majeed Benkirane | benkirane | audio-benkirane-v1/{NNN}.mp3 | 128 kbps CBR mono, re-encoded from a 320 kbps source |
| ياسين الجزائري — Yassine Al-Jazairi | jazairi | audio-jazairi-v1/{NNN}.mp3 | CBR, mixed: MPEG-1 96 kbps mono (62), MPEG-2 96 kbps mono 22–24 kHz (49), MPEG-1 128/192 kbps stereo (3) |
Coverage (surahs done, playable ثمن) is generated in data/audio_status.json on every push by .github/workflows/timings.yml.
raw/muhammadi-pages/.coran.txt → raw/lawh_verses.json).raw/mauri_verses.json.scripts/majority_merge.py) with targeted rules:
data/eighths_viewer.html.Full pipeline: scripts/*.py. Full decision log: reports/divergences.md, reports/eighths_report.md.
quran_muhammadi.json){
"gid": 1,
"sura": 1,
"aya": 1,
"text": "بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ",
"text_simple": "بسم الله الرحمن الرحيم",
"page_mushafma": 3,
"page_mauri": 2,
"hizb": 1,
"juz": 1,
"eighth_id": 1,
"word_count": 4,
"char_count": 39,
"is_sajda": false,
"source_decision": "..."
}
eighths.json){
"eighth_id": 460,
"hizb": 58,
"pos_in_hizb": 4,
"name_ar": "النصف",
"juz": 29,
"is_surah_start": false,
"start": {"sura": 74, "aya": 31, "char_offset": 0, "partial_verse": false, "mushafma_page": 606},
"end": {"sura": 74, "aya": 55, "char_offset": 87, "partial_verse": false, "mushafma_page": 607, "inclusive": true},
"verses_covered": [{"sura": 74, "aya": 31}, …],
"verse_count": 25,
"word_count": 180
}
Full field docs: docs/SCHEMA.md.
is_sajda follows the Maliki / Maghreb tradition: 11 sajda verses. See docs/SAJDA.md for the full list.
scripts/*.py, HTML viewers): MIT.raw/muhammadi-pages/): © Ministry of Habous, Morocco — distributed here under fair-use study provisions; contact mushaf.ma for commercial licensing.@dataset{elahmadi_muhammadi_2026,
author = {El-Ahmadi, Noureddine},
title = {ma-mushaf-muhammadi-data: Verse-level data for the Moroccan Muhammadi Quran},
year = 2026,
url = {https://github.com/ELAHMADI/ma-mushaf-muhammadi-data},
version = {1.0.0},
license = {CC-BY-4.0}
}
Spot a divergence between the data and the printed mushaf? Open an issue with:
Pull requests welcome for metadata improvements (translations, transliteration, tajweed rules).