Kartu judul yang dihasilkan untuk esp32-eye dengan subjudul 'Dua board ESP32-S3, satu MacBook, dua ukuran MiniCPM-V 4.7' dan chip bertuliskan 'gerbang 1B setiap 1,5 dtk', 'pemeriksaan identitas 35B' dan '89 peristiwa terverifikasi', di atas ilustrasi datar seekor kucing di mangkuk air, board kamera di tepi mangkuk, sebuah laptop dan board AMOLED bulat.
Engineering & Research

esp32-eye: Monitor Mangkuk Air Kucing yang Memanggil MiniCPM-V 4.7 Dua Kali

Penulis

Gideon Frost

Tanggal Terbit

Model terbaru · 20Lihat semua model →
Benchmark: Artificial Analysis · diperbarui setiap hari
Kembali ke semua artikel

Dua board ESP32-S3, satu MacBook, dan dua ukuran MiniCPM-V 4.7 yang berbeda kini menyimpan catatan kucing mana yang minum dari mangkuk air dan kapan. Satu board kamera mengawasi mangkuk, sebuah MacBook menjalankan model kecil secara lokal untuk menjawab satu pertanyaan sempit, dan model besar hanya dipanggil setelah suatu peristiwa sudah terjadi. Build ini bernama esp32-eye, berada di github.com/emwstudio/esp32-eye, dan menjadi publik pada 25 Oktober 2026. OpenBMB memamerkannya pada minggu pertama November, yang menjadi cara sebagian besar orang mengenalnya.

Model yang mendasarinya adalah bagian yang perlu dijelaskan secara tepat. OpenBMB mengunggah MiniCPM-V 4.7 ke Hugging Face pada 6 dan 7 Oktober 2026, menerbitkan kartu model dan lisensi Apache-2.0 pada 12 Oktober, serta merilis siaran pers berbahasa Inggris melalui PR Newswire pada 15 Oktober. Jadi ini bukan cerita peluncuran, dan pemantau kucing itu bukan tolok ukur vendor. Ini adalah penerapan publik model tersebut paling terperinci yang sejauh ini didokumentasikan oleh siapa pun di luar laboratorium, dan kebetulan bentuknya adalah peralatan rumah tangga.

Apa yang sebenarnya dilakukan build ini

Perangkat kerasnya sengaja dibuat murah dan sedikit canggung. Waveshare ESP32-S3-CAM-OV5640 diletakkan di bibir mangkuk dan mengalirkan frame JPEG 1024×768 plus audio mikrofon lewat Wi-Fi. Papan kedua, Waveshare ESP32-S3-Touch-AMOLED-2.16, adalah layar meja: panel 480×480 yang menampilkan strip video langsung, empat kartu kucing, hitungan harian terhadap target delapan minuman, dan animasi sorotan kecil saat seekor kucing terkonfirmasi. MacBook adalah otaknya. Server FastAPI menerima stream, menjalankan logika deteksi, menulis ke SQLite, dan memotong klip MP4 untuk setiap peristiwa dengan lima detik sebelum kejadian, tiga detik sesudahnya, dan audio asli.

Penempatan kamera adalah hal pertama yang perlu dipahami, karena itu menjelaskan seluruh desain deteksi. Lensa memandang ke atas ke wajah kucing dari tepi mangkuk, yang berarti permukaan air tidak masuk dalam bingkai. Sistem tidak dapat melihat kucing sedang minum. Sistem hanya dapat melihat kucing yang berada di area mangkuk, dan menyimpulkan sisanya dari persistensi dan identitas. Siapa pun yang pernah membuat proyek kamera tahu di sinilah kejujuran biasanya hilang; di sini hal itu dituliskan ke dalam README.

Pipeline sebelum model apa pun berjalan adalah perbedaan latar belakang skala abu-abu terhadap frame referensi mangkuk kosong. Jika proporsi latar depan di bawah 15 persen, frame dibuang tanpa menyentuh jaringan neural. Di atas 15 persen, MiniCPM-V 4.7 1B lokal ditanya satu pertanyaan: apakah ada kucing dalam gambar ini? Jawaban positif ditambah proporsi latar depan di atas 35 persen menjadi satu suara afirmatif. Tiga suara afirmatif berturut-turut membuka sebuah peristiwa; empat suara negatif berturut-turut menutupnya.

Pemisahan dua model adalah rekayasa yang menarik

Menjalankan model visi setiap 1,5 detik selamanya adalah ide buruk, dan build memperlakukannya sebagai demikian. Model 1B berjalan secara lokal melalui llama.cpp sebagai kuantisasi Q4_K_M pada llama-server yang kompatibel dengan OpenAI di port 8080. Model ini cukup murah sehingga proyek mampu memanggilnya berulang kali, tetapi tetap dibatasi oleh perbedaan latar belakang sehingga ruangan kosong tidak memakan biaya. Tugas model 1B sengaja dibuat sempit: keberadaan, bukan identitas, bukan perilaku.

Identitas adalah pertanyaan yang mahal, dan pertanyaan itu diajukan sekali per peristiwa. Saat sebuah peristiwa ditutup, server mengambil sampel frame dari klip dan mengirimkannya ke MiniCPM-V 4.7 35B-A3B melalui API cloud ModelBest, dengan foto referensi untuk masing-masing dari empat kucing. Model besar mengembalikan pengenal kucing, nilai keyakinan, dan ya/tidak tentang apakah adegannya adalah adegan minum. Frame yang gagal dalam pemeriksaan minum dibuang dan tidak dihitung. Identitas yang ambigu disimpan sebagai tidak diketahui, bukan dipaksakan ke kucing terdekat, dan jika panggilan cloud gagal, peristiwa masuk ke jalur percobaan ulang, bukan diisi ulang dengan tebakan dari model 1B.

A screenshot of the Hugging Face model card for openbmb/MiniCPM-V-4.7-35B-A3B, captured 6 November 2026, showing 553,116 downloads last month, 1.11k likes, an apache-2.0 licence tag, a model size of 35B params in BF16, the on-device claim of 13+ tokens per second on an iPhone 17 Pro Max, Evaluation results of MMLU-Pro 83.45 and MathArena AIME 2026 76.46, and a sidebar line stating the model is not deployed by any Inference Provider.

Pembagian kerja itu adalah argumen yang sama yang telah diajukan literatur on-device selama dua tahun, kini dengan bukti. Model kecil adalah sensor. Model besar adalah juri. Model biayanya mengikuti langsung: model 1B dibayar dalam milidetik dan baterai, model 35B dibayar dalam token, dan tagihan token berskala dengan jumlah peristiwa minum, bukan dengan jumlah frame. Dalam rumah tangga dengan empat kucing, itu hanya beberapa panggilan sehari.

Apa yang dibuktikan dan tidak dibuktikan oleh 89 peristiwa itu

Postingan OpenBMB melaporkan bahwa dalam rumah tangga berisi empat kucing selama tiga hari, 89 kejadian minum diperiksa secara manual dan setiap identitas kucing benar. Itu hasil nyata dan juga sempit. Tugas identitas adalah pilihan tertutup empat opsi di antara kucing yang fotonya sudah dimiliki sistem sebagai referensi. Ini bukan re-identifikasi open-set, bukan klaim tentang seratus kucing, dan bukan klaim bahwa sistem bekerja di rumah yang belum pernah dilihatnya.

Delapan puluh sembilan peristiwa selama tiga hari berarti sekitar tiga puluh per hari untuk empat kucing, atau sekitar tujuh setengah per kucing per hari, yang masuk akal untuk studi asupan air dan terlalu kecil untuk memperkirakan tingkat kesalahan dengan keyakinan apa pun. Sistem yang benar 89 kali dari 89 masih bisa salah satu kali dalam lima puluh. Angka yang perlu dipegang bukanlah 100 persen; melainkan bahwa tidak ada yang perlu mengoreksinya dalam tiga hari penggunaan biasa.

Ada juga catatan mengenai asal-usulnya. Penulisnya adalah duta komunitas OpenBMB dan peragaan tersebut dijalankan pada akun OpenBMB sendiri. Itu tidak membuat hasilnya salah, tetapi berarti validasinya tidak dirancang oleh seorang skeptis, dan belum ada pihak ketiga yang mengulanginya.

Mengapa 1B tidak mengenali kucing itu

README memuat kalimat paling berguna di seluruh proyek, dan itu adalah hasil negatif: dengan tiga kucing berwarna terang yang tampak serupa, MiniCPM-V 4.7 1B lokal tidak andal dalam memilih salah satu dari empat. Tim mencobanya, mendapati diskriminasi empat arah itu tidak andal, lalu memindahkan identitas ke 35B alih-alih mengirimkan tebakan.

Ini layak direnungkan karena bertentangan dengan cara model visi kecil biasanya dipasarkan. Model 1,55 miliar parameter yang mendapat skor baik pada tolok ukur OCR dan bagan tidak otomatis pandai membedakan dua hewan yang mirip dalam tampilan kamera tetap. Identitas berbutir halus justru merupakan jenis tugas yang dirugikan oleh anggaran token visual yang terkompresi: perbedaan antara dua kucing tabby itu kecil, lokal, dan mudah hilang karena perataan. Jawaban dari build ini — gunakan model kecil untuk pertanyaan mudah dan bayar untuk yang sulit — lebih berguna daripada baris papan peringkat mana pun.

A generated system diagram of the esp32-eye pipeline in five stages: ESP32-S3 plus OV5640 capture at 1024 by 768 every 1.5 seconds, a background-difference gate at 15 percent foreground, a local MiniCPM-V 4.7 1B on llama.cpp taking three consecutive positive votes, a cloud MiniCPM-V 4.7 35B-A3B identity call with four reference photos, and SQLite plus an AMOLED dashboard.

Berapa biaya untuk menjalankannya, dan apa yang terjadi jika segmen cloud gagal

Hanya satu bagian dari pipeline ini yang memiliki tagihan. Model 1B adalah file GGUF lokal di laptop, jadi biaya marginal per frame hanyalah listrik. Model 35B adalah panggilan hosted ke API ModelBest, yang merupakan endpoint milik vendor itu sendiri, bukan host pihak ketiga, dan proyek ini memerlukan kunci untuk itu. README menyatakan secara eksplisit bahwa model 35B tidak di-deploy secara lokal: MacBook tidak menyimpan 35 miliar parameter, melainkan menyimpan klien.

Pemisahan itu menciptakan mode kegagalan yang ditangani proyek alih-alih disembunyikan. Jika panggilan cloud gagal, peristiwa dicoba ulang; hasil 1B tidak pernah dinaikkan menjadi identitas. Untuk proyek hobi, itu luar biasa disiplin. Untuk apa pun yang berbentuk produksi, desain yang sama menempatkan satu endpoint eksternal di jalur kritis sistem yang seluruh tujuannya adalah mencatat peristiwa tanpa pengawasan.

Inilah celah yang diisi oleh router, dan ada baiknya bersikap tepat tentang apa yang bisa dan tidak bisa dilakukan router di sini. OrcaRouter memberikan satu API untuk lebih dari 200 model dengan harga daftar penyedia yang diteruskan pada markup 0%, ditambah failover otomatis antar-upstream, yang merupakan bentuk yang tepat untuk pipeline seperti ini. Saat ini belum menyediakan MiniCPM-V 4.7, jadi bagian 35B di esp32-eye masih akan berjalan pada API milik vendor. Versi jujur dari saran ini adalah: pertahankan jalur retry, dan jika langkah identitas menjadi krusial, letakkan model kedua yang benar-benar dapat Anda jangkau di balik panggilan yang sama.

Apa yang masih belum dikonfirmasi

Ada tiga hal yang akan mengubah seberapa besar bobot yang layak diberikan pada rancangan ini. Yang pertama adalah rumah tangga kedua. Semua yang dilaporkan sejauh ini berasal dari satu rumah dengan empat kucing yang diketahui dan satu kamera tetap. Yang kedua adalah pengujian yang lebih lama: tiga hari tidak cukup untuk membedakan sistem yang berfungsi dari sistem yang berfungsi sampai ada kucing yang berganti bulu, cahaya berubah, atau ada tamu datang. Yang ketiga adalah pemeriksaan independen terhadap 89 peristiwa, yang saat ini hanya bergantung pada tinjauan manual pembuatnya sendiri.

Apa yang sudah mapan lebih sederhana dan lebih berguna. MiniCPM-V 4.7 hadir dalam dua ukuran yang dapat dikomposisikan: model dense 1,55B yang berjalan dalam file Q4_K_M di laptop, dan mixture-of-experts sparse 35,2B yang mengaktifkan sekitar 3 miliar parameter per token dan cukup baik dalam tugas identitas empat arah sehingga dapat dipercaya untuk itu. Mangkuk kucing adalah tempat yang aneh untuk membuktikan hal itu, tetapi itu nyata.

A generated eight-tile figures card reading 1.5 seconds between frame checks, 15 percent foreground to wake the 1B, 3 and 4 consecutive votes to open and close an event, 641 MB (641 MiB, 672 MB decimal) for the 1B as a Q4_K_M GGUF, 4 cats in the closed identity set, 3 days of run, 89 drinking events verified, and 89 of 89 identities correct per OpenBMB.

Jika Anda ingin mereproduksinya, repositori tersebut berisi firmware kamera, firmware AMOLED, server FastAPI, dan skrip pengujian model, dan satu-satunya akun yang Anda perlukan adalah kunci ModelBest untuk bagian identitas. Jika Anda ingin membaca modelnya alih-alih menjalankan cat, angka dari vendor adalah tempat untuk memulai dan catatan peringatannya ada di repo.