Skip to content

Deepdive543443/Detkit3DS

Repository files navigation

icon_detkit Detkit3DS

MVIMG_20240223_221721 A tiny object detection app for Nintendo 3DS, powered by NCNN and LVGL 8.3.11

Features

Detkit3DS is built upon NCNN, LVGL 8.3.11, and my previous project DetkitNCNN.

UI inspired by Nintendo 3DS system UI

None real-time object detection powered by:

  • Nanodet-Plus(int8) (~6s)
  • Fastest Det (~4s)

Release

https://github.com/Deepdive543443/Detkit3DS/releases

Build

This project has dependencies on DevkitARM, NCNN, and LVGL. A Linux environment like Ubuntu 20.04 is recommanded to build this project. WSL is also recommanded for windows user.

Install DevkitARM toolchain follow the official guide DevkitPRO

Or using the guide line from this repo

Pull this repo and its submodules, download and build all the submodules

sudo apt install unzip cmake
git clone https://github.com/Deepdive543443/Detkit3DS.git --recurse-submodules
cd Detkit3DS
./setup.sh lvgl ncnn detkit

Build the executatble

cd build
cmake -DBUILD_CIA=ON ..
make -j6 install

Install the .cia using a title manager or running the .3dsx from Homebrew launcher.

Known issues and limitation

  • Still trying to figure how GPU rendering on 3DS works

Credit

  • NCNN: High performance neural network inference computing framework for mobile platform, easy to use and port
  • Nanodet-Plus: Super light weight anchor-free object detection model
  • Fastest-Det: A FASTER, STRONGER, SIMPLER single scale anchor-free object detection model
  • DevkitPRO: Toolchain for 3DS homebrew development
  • 3DS-cmake: Toolchain files to build CMake project for 3DS
  • FTPD-Pro: FTP Server for 3DS/Switch/Linux.
  • Citra: 3DS emulator for Windows, Linux, and MacOS
  • stb: single-file public domain (or MIT licensed) libraries for C/C++
  • All the legendary works and discovering from GBATemp and other hacking communities