ODROID-M1 (Hardkernel)

Hardkernel CoSBClinux

⚡ L’essentiel en 60 secondes

Lancée en mars 2022 par le fabricant sud-coréen Hardkernel, la carte ODROID-M1 s’inscrit dans la lignée des ordinateurs monocarte (SBC) destinés aux développeurs, aux passionnés de domotique et aux utilisateurs cherchant une alternative performante aux solutions grand public. Contrairement à l’idée reçue selon laquelle tous les SBC ressemblent à la Raspberry Pi, l’ODROID-M1 se distingue par ses dimensions généreuses de 122 × 90 mm, bien plus grandes que celles d’un Raspberry Pi 4, ce qui lui permet d’accueillir une connectique riche et un système de refroidissement passif efficace. Cette carte repose sur le processeur Rockchip RK3568B2, une variante spécifique du RK3568 adoptée par Hardkernel pour contourner les pénuries de composants électroniques qui ont touché l’industrie en 2021 et 2022. Ce SoC (System on Chip) intègre quatre cœurs de processeur Arm Cortex-A55 cadencés jusqu’à 2,0 GHz, une architecture 64 bits conçue pour offrir un bon équilibre entre performance et consommation énergétique. Pour la partie graphique, elle embarque un GPU Arm Mali-G52 MP2, capable de gérer l’affichage jusqu’en 4K à 60 images par seconde via sa sortie HDMI 2.0, ainsi qu’une unité de traitement neuronal (NPU) de 0,8 TOPS, utile pour des tâches d’intelligence artificielle légère comme la reconnaissance d’images locale.

La véritable force de l’ODROID-M1 réside dans sa capacité de stockage et d’extension, qui la positionne comme une candidate idéale pour la création de serveurs domestiques ou de NAS (stockage réseau). Elle propose une connectivité de stockage exceptionnelle pour sa gamme de prix : un port M.2 NVMe utilisant deux lignes PCIe 3.0, qui permet d’atteindre des vitesses de lecture avoisinant les 1600 Mo/s, soit environ quatre fois plus rapide que le même type de disque sur une Raspberry Pi CM4. En plus de ce port NVMe, la carte dispose d’un port SATA 3.0 natif, offrant une compatibilité directe avec les disques durs et SSD au format standard, ainsi que d’un emplacement pour module eMMC et d’un lecteur de carte MicroSD. Il est important de noter que l’alimentation du port SATA est limitée à 5 volts, ce qui convient aux disques 2,5 pouces mais nécessite une alimentation externe pour les disques mécaniques 3,5 pouces. La carte est également équipée de 16 Mo de mémoire flash SPI NOR préinstallée avec le gestionnaire de démarrage Petitboot, une fonctionnalité rare qui offre une grande flexibilité pour amorcer le système depuis différents périphériques, comme le NVMe ou le réseau, bien que la logique exacte de priorité de démarrage puisse surprendre les utilisateurs habitués aux cartes plus simples.

En matière de connectivité, l’ODROID-M1 offre une interface réseau Gigabit Ethernet via un transceiver Realtek RTL8211F, mais ne dispose d’aucune connectivité sans fil intégrée (ni Wi-Fi ni Bluetooth), obligeant l’utilisateur à recourir à des adaptateurs USB si nécessaire. La connectique USB comprend deux ports USB 3.0, dont un peut être configuré en mode OTG, deux ports USB 2.0 et un port micro-USB pour le mode périphérique. Pour l’interaction avec le monde physique, un connecteur d’extension de 40 broches est présent, similaire à celui des Raspberry Pi, permettant d’accéder aux lignes GPIO (entrées/sorties générales), bien que le câblage exact et les tensions doivent être vérifiés sur la documentation officielle. La carte gère également l’audio via une prise casque 3,5 mm et une sortie pour haut-parleur mono, ainsi que l’affichage via une sortie HDMI et une interface MIPI DSI pour écrans tactiles ou dédiés. Un récepteur infrarouge et un bouton d’alimentation sont également intégrés, facilitant l’utilisation dans un boîtier multimédia.

L’alimentation de la carte se fait par une prise jack DC standard acceptant une tension de 7,5 à 15,5 volts, avec un adaptateur 12 V recommandé pour une stabilité optimale. La consommation électrique est maîtrisée, avec seulement 1,3 W en veille et 4,5 W en charge lourde, tandis que le dissipateur thermique fourni maintient les températures sous les 50 °C dans un environnement de 35 °C. Sur le plan logiciel, Hardkernel propose des images officielles basées sur Ubuntu et Android, utilisant un noyau Linux spécifique (BSP) de version 4.19. Cependant, la communauté a largement adopté des distributions modernes comme Armbian ou DietPi, qui s’appuient sur le noyau Linux principal (mainline). Le support mainline est désormais complet, permettant l’utilisation des pilotes graphiques libres Panfrost et une meilleure compatibilité avec les logiciels récents, bien que des correctifs continuent d’être publiés pour affiner la stabilité, notamment concernant l’audio analogique. Il est à noter que l’ODROID-M1 n’est pas compatible mécaniquement avec les boîtiers de Raspberry Pi en raison de sa taille et de son dissipateur thermique imposant, nécessitant des solutions de montage spécifiques ou des boîtiers dédiés à sa forme. Avec un prix de lancement autour de 70 à 90 dollars selon la quantité de mémoire vive (4 ou 8 Go de LPDDR4), elle offre un rapport performance/fonctionnalités très compétitif pour les projets exigeant une grande rapidité de stockage et une connectivité étendue.

Forum (1 sujet) →

AttrSpecsvérifié
socRockchip RK3568B2 — a plastic-package variant of the RK3568 chosen during the IC shortage (CNX; Hardkernel forum explanation, forum.odroid.com f=29 t=44218).✔
cpuquad-core Arm Cortex-A55 (Armv8.2-A, 64-bit) @ up to 2.0 GHz (Wikipedia lists 1.992 GHz) — confirms the "quad A55" claim.? non vérifié
gpu_npuArm Mali-G52 MP2 GPU; 0.8 TOPS NPU AI accelerator (CNX).? non vérifié
ram4 gb? non vérifié
storage- MicroSD socket (mainline: sdmmc0 enabled, DTS) - eMMC module socket (mainline: sdhci enabled; eMMC 5.1 per Wikipedia) - 16 MB SPI NOR flash preinstalled with Petitboot (CNX; mainline DTS enables the Rockchip SPI flash controller with jedec,spi-nor and fixed partitions) - Native SATA 3.0 port + SATA power connector (5 V only), tested ≈500 MB/s (CNX) - M.2 NVMe M-Key socket, 2-lane PCIe 3.0, tested ≈1600 MB/s — about 4× the same SSD on a Raspberry Pi CM4 system (CNX). Mainline DTS enables pcie3x2 + pcie30phy (DTS).✔
video1× HDMI 2.0 up to 4Kp60 with HDR/EDID; 1× 4-lane MIPI DSI (tested with 1280×800 display) (CNX). Mainline enables VOP2 + HDMI TX (DTS; commit "Enable vop2 and hdmi tx on ODROID-M1").? non vérifié
camera1× 2-lane MIPI CSI (CNX).? non vérifié
audio3.5 mm headphone jack + mono speaker output (1.3 W @ 8 Ω); RK809/RK817 codec on I2S1 (CNX; mainline simple-audio-card "Analog RK817", DTS).? non vérifié
networking1× Gigabit Ethernet RJ45 via Realtek RTL8211F transceiver (CNX); mainline: GMAC0 RGMII with generic ethernet-phy-ieee802.3-c22 PHY (DTS). No onboard WiFi/Bluetooth — absent from every spec sheet reviewed; Hardkernel sells USB WiFi dongles instead (CNX M1S review).✔
usb2× USB 3.0 (one configurable as USB 2.0 OTG via jumper), 2× USB 2.0, 1× micro-USB device port (CNX).? non vérifié
gpio40-pin expansion header (CNX; Wikipedia counts 24 usable GPIO lines) + separate UART header for the serial console.? non vérifié
powerDC barrel jack (5.5×2.1 mm), 7.5–15.5 V, 12 V/2 A adapter recommended (CNX); Wikipedia states 7.5–17 V up to 25 W. Mainline DTS models a fixed dc_12v input regulator.? non vérifié
power_consumption_hardkernel_via_cnxsuspend 0.06 W, idle 1.3 W, heavy load 4.5 W.? non vérifié
thermalstress test peaked a little over 50 °C at 35 °C ambient with the stock heatsink (CNX).? non vérifié
dimensions_weightboard 122 × 90 × 16 mm; heatsink 123 × 100 × 19 mm; 253 g with heatsink (CNX).? non vérifié
miscpower button, SPI Boot Select switch, IR receiver (mainline: gpio-ir-receiver, DTS), RTC battery holder, 2 system LEDs (red power, blue heartbeat — both in mainline DTS), M.2 LED.? non vérifié
  • Fabricant : Hardkernel Co., Ltd. (Corée du Sud) — ligne de copyright du device tree "Copyright (c) 2022 Hardkernel Co., Ltd." (DTS mainline).
  • Année d'introduction : 2022. Lancé le 29 mars 2022 selon CNX Software (article de lancement) ; le tableau ODROID de Wikipedia liste également 2022 (en.wikipedia.org/wiki/ODROID). - Note : certaines fiches de tâche datent l'annonce CNX de 2023 — il s'agit de l'ODROID-M1S (annoncé le 2023-11-14, CNX). Le M1 original est un produit 2022.
  • Statut : Actif. Au lancement, Hardkernel indiquait que Rockchip garantissait l'approvisionnement en RK3568B2 pendant 15 ans et prévoyait une disponibilité B2B du M1 jusqu'en 2036+ (article de lancement CNX). Des successeurs existent (ODROID-M1S 2023, ODROID-M2 2024) mais le M1 reste dans la gamme produit Rockchip de Hardkernel (article CNX sur le M2).
  • Prix de lancement : 90 $ pour le modèle 8 GB de RAM ; 70 $ pour le modèle 4 GB (en rupture au lancement) (article de lancement CNX).
  • Variantes : 4 GB et 8 GB LPDDR4 au lancement (CNX ; Wikipedia liste le modèle 8 GB).

+ Points forts

  • NVMe natif rapide sur un SBC ARM à moins de 100 $ : connecteur M.2 PCIe 3.0 2 voies mesuré à ≈1600 MB/s au lancement — ~4× le même SSD sur un Raspberry Pi CM4 (CNX). Combiné au GbE, cela a fait du M1 un favori budgétaire précoce pour NAS/mini-serveur.
  • Trois classes de stockage simultanées : NVMe + SATA 3.0 natif (avec alimentation SATA 5 V) + module eMMC + microSD — SATA et flash SPI ont ensuite été supprimés sur le M1S, ce qui les rend spécifiques au M1 (article CNX sur le M1S).
  • Flash SPI 16 MB avec Petitboot + commutateur SPI Boot Select — une flexibilité de démarrage réseau/disque inhabituelle sur les cartes RK3568 (CNX).
  • Prise DC 12 V et bouton d'alimentation (le M1S est revenu à l'USB-C 5 V), plus support de pile RTC et récepteur IR (CNX).
  • NPU 0,8 TOPS (RNNP du RK3568) et codecs vidéo matériels (fonctionnalité de la famille RK3568 ; liens de comparaison SoC de CNX).
  • Note sur le format : malgré le regroupement catalogue « pi-like », le M1 n'a pas la taille d'un Raspberry Pi : 122 × 90 × 16 mm (vs 85 × 56 mm sur un Pi 4), le grand dissipateur sous la carte s'étendant jusqu'à 123 × 100 mm (CNX). La comparaison avec le Pi est fonctionnelle (connecteur GPIO, HDMI, GbE, positionnement maker), pas mécanique.
  • Aujourd'hui friendly mainline : device tree complet dans torvalds/linux avec GPU (Panfrost), HDMI, audio, NVMe, eMMC, SD, NOR, IR, LED, SARADC activés (DTS).

− Points faibles

  • Les images officielles fournissent un noyau BSP 4.19 (Linux 4.19.219 sur Ubuntu, 4.19.193 sur Android au lancement) — pas de fonctionnalités mainline modernes (GPU Panfrost, etc.) sur la stack vendor ; le support mainline est arrivé séparément (article de lancement CNX).
  • Régression de pinmux audio analogique mainline (corrigée oct. 2025) : I2S1 revendiquait des broches déjà tenues, produisant rockchip-pinctrl ... pin gpio1-10 already requested / rockchip-i2s-tdm ... Error applying setting et un audio RK817 mort ; corrigé en limitant les broches I2S1 à SCLK/LRCK/SDI0/SDO0 (commit d425aef66e62).
  • L'alimentation du port SATA est en 5 V uniquement — sans problème pour les SSD/HDD 2,5″, mais les disques rotatifs 3,5″ nécessitent une alimentation externe (article de lancement CNX).
  • Pas de WiFi/BT embarqué — dongle USB requis (fiches techniques, CNX ; usage en accessoire dans le test CNX du M1S).
  • Piège du commutateur de source de démarrage : le commutateur SPI Boot Select décide si le chemin SPI NOR (Petitboot) est utilisé ; avec Petitboot actif, le démarrage SD/eMMC se comporte différemment de ce que les utilisateurs attendent.
  • Le gros dissipateur contraint les boîtiers : dissipateur 123 × 100 × 19 mm vs carte 122 × 90 mm ; le boîtier métal de Hardkernel utilise un design à glissière (CNX).
  • Nommage RK3568B2 vs RK3568 : B2 est une variante de boîtier imposée par la pénurie de puces 2021-2022 ; la confusion sur les datasheets/délais d'approvisionnement est documentée par Hardkernel (fil de forum, via CNX).
  • Retour d'expérience expert expert — expert-pi-like
    • Petit bilan sur l'ODROID-M1 après quelques mois d'utilisation. Le point fort incontestable reste le stockage : le port M.2 NVMe en PCIe 3.0 x2 est vraiment rapide, on atteint les 1600 Mo/s annoncés, ce qui écrase tout ce qu'on peut faire sur un Raspberry Pi CM4. C'est un vrai atout pour un NAS ou u… — expert-pi-like
    • Merci pour ce retour. Tu confirmes bien que le format n'est pas du tout Pi-like en réalité ? J'ai vu les dimensions (122x90mm) et le radiateur qui dépasse, ça va me poser problème pour mon boîtier existant prévu pour un Pi 4. De plus, l'absence de WiFi/Bluetooth embarqué est un peu frustrante, on e… — makershadow
    • Exact pour les dimensions, le radiateur fait 123x100x19mm, ça ne rentre dans aucun boîtier standard Pi. Pour l'audio, le bug de pincmux I2S1 qui tuait le codec RK817 sur mainline a été corrigé récemment (octobre 2025), donc si tu as un noyau à jour, l'audio fonctionne. Mais sur les vieilles images … — expert-pi-like

Retours et projets de la communauté

  • Armbian community images / home server & NAS builds

    Armbian community images / home server & NAS builds — supported board odroidm1 : , . (unverified au 2026-10-13) — référence hébergé sur armbian, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche odroid-m1 (SBC) ; rôle : approfondir la pr…

  • DietPi lightweight server images for ODROID-M1

    DietPi lightweight server images for ODROID-M1 — official DietPi_OdroidM1-ARMv8 target: . (unverified au 2026-10-13) — référence hébergé sur dietpi, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche odroid-m1 (SBC) ; rôle : approfondir l…

  • Mainline Linux enablement

    Mainline Linux enablement — (the porting project itself, by Aurelien Jarno and contributors) — board DTS and feature-enabling commits in ; enables Debian/Ubuntu/Fedora generic arm64 kernels on the board. (unverified au 2026-10-13) Hardkernel official BSP — ke…

  • CNX Software launch & comparison coverage

    CNX Software launch & comparison coverage — (hands-on setup guidance, NVMe/SATA benchmarks context): , . (unverified au 2026-10-13)

  • Community projects hub

    Community projects hub — ODROID forum board for the M1 line: . (unverified au 2026-10-13) — communauté hébergé sur forum, statut unverified vérifié le 2026-10-13. Projet documenté dans la fiche odroid-m1 (SBC) ; rôle : approfondir la prise en main de cette ca…

Contenu indisponible pour le moment.

  • Les images officielles fournissent un noyau BSP 4.19 (Linux 4.19.219 sur Ubuntu, 4.19.193 sur Android au lancement) — pas de fonctionnalités mainline modernes (GPU Panfrost, etc.) sur la stack vendor ; le support mainline est arrivé séparément (article de lancement CNX).
  • Régression de pinmux audio analogique mainline (corrigée oct. 2025) : I2S1 revendiquait des broches déjà tenues, produisant rockchip-pinctrl ... pin gpio1-10 already requested / rockchip-i2s-tdm ... Error applying setting et un audio RK817 mort ; corrigé en limitant les broches I2S1 à SCLK/LRCK/SDI0/SDO0 (commit d425aef66e62).
  • L'alimentation du port SATA est en 5 V uniquement — sans problème pour les SSD/HDD 2,5″, mais les disques rotatifs 3,5″ nécessitent une alimentation externe (article de lancement CNX).
  • Pas de WiFi/BT embarqué — dongle USB requis (fiches techniques, CNX ; usage en accessoire dans le test CNX du M1S).
  • Piège du commutateur de source de démarrage : le commutateur SPI Boot Select décide si le chemin SPI NOR (Petitboot) est utilisé ; avec Petitboot actif, le démarrage SD/eMMC se comporte différemment de ce que les utilisateurs attendent.
  • Le gros dissipateur contraint les boîtiers : dissipateur 123 × 100 × 19 mm vs carte 122 × 90 mm ; le boîtier métal de Hardkernel utilise un design à glissière (CNX).
  • Nommage RK3568B2 vs RK3568 : B2 est une variante de boîtier imposée par la pénurie de puces 2021-2022 ; la confusion sur les datasheets/délais d'approvisionnement est documentée par Hardkernel (fil de forum, via CNX).
  • Allumer une LED depuis le connecteur GPIO debutant Schéma : IMG-odroid-m1-debutant-1-odroidm1-led-gpio.svg — LED et résistance 330 Ω branchées sur le connecteur 40 broches de l'ODROID-M1, masse commune
  • Lire un bouton et afficher dans la console debutant Schéma : IMG-odroid-m1-debutant-2-odroidm1-bouton-console.svg — bouton-poussoir entre une broche GPIO et la masse, résistance de pull-up interne activée, terminal console à l'écran
  • Premier script Python : état de la carte debutant Schéma : IMG-odroid-m1-debutant-3-odroidm1-premier-script-python.svg — ODROID-M1 avec son SSD NVMe M.2, un terminal affichant le rapport système généré par le script Python
  • Variation d'intensité d'une LED en PWM intermediaire Schéma : IMG-odroid-m1-intermediaire-1-odroidm1-pwm-led.svg — LED de puissance pilotée par un transistor NPN depuis une broche PWM du connecteur 40 broches, avec résistance de base
  • Lire un capteur I2C (température/humidité) intermediaire Schéma : IMG-odroid-m1-intermediaire-2-odroidm1-i2c-capteur.svg — petit capteur I2C à 4 broches relié au bus SDA/SCL du connecteur 40 broches de l'ODROID-M1 avec résistances de pull-up
  • Ethernet Gigabit et accès SSH intermediaire Schéma : IMG-odroid-m1-intermediaire-3-odroidm1-ethernet-ssh.svg — ODROID-M1 relié par câble RJ45 au routeur (Ethernet Gigabit Realtek RTL8211F), un ordinateur portable se connectant en SSH, absence de WiFi notée
  • Booter sur NVMe, eMMC ou SD et récupérer une carte bloquée avance Schéma : IMG-odroid-m1-avance-1-odroidm1-boot-nvme.svg — les trois supports de démarrage de l'ODROID-M1 (microSD, module eMMC, SSD M.2 NVMe), le switch SPI Boot Select et la puce SPI NOR 16 Mo avec Petitboot
  • Surveillance thermique et fréquence CPU avance Schéma : IMG-odroid-m1-avance-2-odroidm1-thermique.svg — ODROID-M1 avec son dissipateur 123×100 mm, sondes de température des quatre coeurs Cortex-A55 et courbe de fréquence dans un terminal
  • NAS Samba et conteneurs Docker sur NVMe avance Schéma : IMG-odroid-m1-avance-3-odroidm1-nas-samba.svg — ODROID-M1 en serveur NAS : SSD NVMe et disque SATA 2,5 pouces partagés en Samba, conteneurs Docker, clients du réseau local

Bibliothèque de code — exemples écrits pour cette carte

  • clignotante.py Python

    Le script de mise en jambe sur SBC : une LED branchée sur le connecteur GPIO clignote à 1 Hz. python3-gpiod pilote directement la puce GPIO via le noyau, sans bibliothèque propriétaire.

  • bouton-gpio.py Python

    Un bouton sur le connecteur GPIO déclenche une action à l'appui et au relâchement. Version générique par scrutation de la ligne gpiod avec anti-rebond logiciel de 30 ms.

  • capteur-i2c.sh Bash

    Le réflexe Linux pour tout capteur I2C : balayer le bus avec i2cdetect, vérifier la présence de la puce puis lire quelques registres avec i2cget. Sortie directe dans le terminal, sans écrire une lign…

  • surveillance-temperature.sh Bash

    Sans aucune dépendance, ce script lit le capteur thermique exposé par le noyau Linux, journalise température et fréquence CPU en CSV et affiche une alerte au-delà d'un seuil. Parfait pour dimensionne…

  • capteur-dht11.py Python

    Le pilote Adafruit CircuitPython fonctionne sur Linux standard : il bit-bang le protocole 1 fil du DHT via libgpiod. Le script affiche température et humidité toutes les 2 s, en encaissant les trames…

  • servo-pwm-sysfs.sh Bash

    L'interface PWM du noyau Linux (sysfs) est identique sur toutes les cartes : période 20 ms, impulsion 0,5-2,5 ms. Ce script bash fait balayer un servo sur 3 cycles puis coupe l'alimentation pour évit…

  • serveur-web-capteur.py Python

    Sans aucune dépendance externe, la carte devient un serveur web : une page HTML affiche température du SoC et uptime, un endpoint JSON les expose aux tableaux de bord. Le réflexe réseau pour monitore…

  • reseau-ethernet.sh Bash

    En installation fixe, une IP statique évite de chercher la carte dans le bail DHCP. Le script crée (ou corrige) un profil NetworkManager manuel sur le port Ethernet, puis vérifie la passerelle au pin…

  • journal-cron.sh Bash

    Le binôme cron + script court est l'automate universel de Linux : chaque minute, charge CPU et température sont ajoutées à un CSV avec rotation intégrée. Zéro dépendance, zéro démon, redémarre tout s…

  • veilleur-systemd.py Python

    Une LED en battement + un contrôle de services toutes les secondes : le script devient un démon systemd avec Restart=always, démarré au boot. Le patron de robustesse pour une carte embarquée sans écr…

Exemples et dépôts trouvés en ligne