Mo 62A Quick Start Guide¶
Table of Contents¶
- 1. Introduction
- 2. What You Need
- 3. Flash the SD Card
- 4. Hardware Setup
- 5. First Boot
- 6. Network Access
- 7. Camera Preview (IMX219)
- 8. Edge AI Inference
- 9. 40-Pin Expansion Header
- 10. Common Issues & Tips
1. Introduction¶
1.1 About Mo 62A¶
Mo 62A is a single-board computer designed for edge AI inference, machine vision, and industrial control applications. It is powered by the TI AM62A7 processor — a quad-core Arm Cortex-A53 SoC with a dedicated MMA (Matrix Multiplication Accelerator) delivering up to 2 TOPS of AI inference performance.
1.2 Key Specifications¶
| Feature | Specification |
|---|---|
| SoC | TI AM62A74 (Quad-core Cortex-A53 @ 1.4 GHz + Cortex-R5F) |
| AI Accelerator | MMA, 2 TOPS |
| Memory | LPDDR4 (32-bit) |
| Storage | Micro SD (boot / storage) |
| Display | Micro HDMI (up to 1080p, via SiI9022ACNU) |
| Networking | 1 × Gigabit Ethernet RJ45 |
| Wireless | Wi-Fi + Bluetooth (FG6221A, U.FL antenna connector) |
| USB | 1 × USB Type-C (power + USB 2.0), 4 × USB 2.0 Type-A |
| Camera | 22-pin FPC CSI (4-lane MIPI CSI-2) |
| Audio | 3.5 mm combo jack (headphone + microphone) |
| Expansion | 40-pin header (GPIO / I2C / SPI / UART / PWM) |
| RTC | PCF85263ATL with battery backup connector |
| Fan | PWM fan connector (PWM + TACH) |
| Power Input | USB Type-C 5 V (≥ 3 A recommended) |
| LEDs | Red (Power), Green (Activity) |
| Debug | UART0 serial console (3-pin SH1.0 connector) |
| OS | Debian 13 (Trixie) with XFCE desktop |
1.3 Board Layout¶

| Connector / Component | Location |
|---|---|
| USB Type-C (Power + USB 2.0) | Top edge, left |
| 4 × USB 2.0 Type-A | Top edge, right |
| Micro HDMI | Right edge, top |
| RJ45 Ethernet | Right edge, bottom |
| Micro SD slot | Bottom edge |
| 40-pin expansion header | Left edge |
| CSI camera connector | Center, FPC |
| 3.5 mm audio jack | Front edge |
| Wi-Fi / BT antenna connector | U.FL, near wireless module |
| Debug UART (SH1.0 3-pin) | Near USB-C |
| Fan connector | Near 40-pin header |
2. What You Need¶
The following items are required to get started:
| Item | Notes |
|---|---|
| Mo 62A board | |
| USB Type-C power supply | 5 V, ≥ 3 A |
| Micro SD card | ≥ 16 GB, Class 10 / UHS-I (U1) or faster |
| Micro HDMI cable | Connect to a monitor or TV |
| RJ45 Ethernet cable | Required for initial network setup |
| Host computer | Windows, macOS, or Linux — for flashing the SD card |
The following items are optional but useful:
| Item | Notes |
|---|---|
| IMX219 CSI camera module | |
| USB keyboard and mouse | For direct desktop use |
| 3.5 mm headset | Headphone output + microphone input |
| CR1220 coin cell battery | For RTC backup power |
| Wi-Fi antenna (U.FL) | Improves wireless range significantly |
| PWM fan | 4-pin, 5 V |
3. Flash the SD Card¶
3.1 Download the Image¶
Download the latest pre-built SD card image from the release page:
The image is distributed as a .img.zip file.
The full SDK source code (kernel, device tree, filesystem customisation) is available at:
GitHub: https://github.com/inhandnet/mo-62a
3.2 Flash with balenaEtcher (Windows)¶
-
Download and install balenaEtcher.
-
Click Flash from file.

- Select the downloaded
.img.zipfile.

- Click Select target.

- Choose the Micro SD card from the device list.

- Click Flash! to start writing.

- Wait until Flash Complete! is shown, then safely remove the SD card.

Warning: All existing data on the SD card will be erased.
4. Hardware Setup¶
- Insert the SD card — push the flashed Micro SD card into the card slot on the underside of the board until it clicks.
- Connect the display — plug a Micro HDMI cable into the board and connect the other end to your monitor.
- Connect Ethernet — plug an RJ45 cable into the Gigabit Ethernet port for network access.
- Connect peripherals — attach a USB keyboard and mouse to any of the four USB 2.0 Type-A ports (optional).
- Connect the camera — if using an IMX219, connect the FPC ribbon cable to the 22-pin CSI connector (see Section 7).
- Apply power — connect the USB Type-C power supply last. The red Power LED will illuminate immediately.
5. First Boot¶
5.1 Boot Sequence¶
After power is applied, the board boots from the Micro SD card. A normal boot takes approximately 30–45 seconds. The green Activity LED will blink during boot.
Note — First Boot: On the very first boot, the system automatically expands the root filesystem to fill the SD card. This takes an additional 1–2 minutes, after which the board reboots automatically. The desktop will appear after the second boot completes. Subsequent boots are normal speed.
Expected sequence:
- U-Boot SPL (R5) → U-Boot (A53) — brief console output
- Linux kernel decompresses and loads device tree
- systemd brings up services — on first boot, filesystem expansion runs here and triggers an automatic reboot
- XFCE desktop appears on the HDMI display
5.2 Desktop Login¶
The XFCE desktop loads automatically. Default credentials:
| Field | Value |
|---|---|
| Username | debian |
| Password | 123456 |
First login only: The default password is valid for one login. You will be prompted to set a new password immediately after logging in. The new password takes effect right away.
5.3 Serial Console (UART0 Debug Port)¶
If no display is available, the board can be accessed via the 3-pin UART0 debug connector (SH1.0, 1.0 mm pitch).
| Pin | Signal |
|---|---|
| 1 | RXD |
| 2 | TXD |
| 3 | GND |
Serial settings: 115200 baud, 8N1, no flow control
6. Network Access¶
6.1 Wired Ethernet¶
The board obtains an IP address via DHCP automatically on boot.
6.2 Find the Board's IP Address¶
From the XFCE desktop terminal:
From a host on the same network (if mDNS is enabled):
6.3 SSH Login¶
|
6.4 Wi-Fi Setup¶
Connect to a Wi-Fi network using nmcli:
Alternatively, use the XFCE network manager applet in the system tray.
Note: A U.FL antenna connector is provided on the board. Attaching an external antenna significantly improves wireless range.
7. Camera Preview (IMX219)¶
The Mo 62A supports the IMX219 CSI camera module (Sony IMX219) via the 22-pin FPC CSI connector.
7.1 Connect the Camera¶
- Gently lift the FPC connector latch on the CSI port.
- Insert the ribbon cable with the contacts facing the board (metal contacts down).
- Press the latch down to lock the cable.
7.2 Run the Preview¶
The imx219-preview.sh script is pre-installed at /usr/local/bin/imx219-preview.sh.
The preview displays live video on the HDMI output. Press Ctrl+C to exit.
Note: The script requires root (
sudo) becausekmssinkneeds DRM master access. Any running desktop session (lightdm) is stopped automatically while the preview is running and restarted on exit.
7.3 Tuning Options¶
| Variable | Default | Range | Description |
|---|---|---|---|
FPS |
15 |
5/8/10/15/30 | Frame rate (passed as first argument) |
WB_R |
0.5 |
0.0 – 1.0 | White-balance red channel reference |
WB_B |
0.6 |
0.0 – 1.0 | White-balance blue channel reference |
GAIN |
150 |
0 – 232 | Analogue gain (increase for low-light conditions) |
DGAIN |
256 |
256 – 4095 | Digital gain (higher values increase noise) |
EXPOSURE |
auto | lines | Exposure lines (defaults to maximum for chosen FPS) |
Example — warmer white balance at 10 fps:
8. Edge AI Inference¶
The Mo 62A carries a TI C7x DSP that hardware-accelerates edge AI inference (TIDL). The image ships with a model zoo, the inference runtimes, and a complete C/C++ development SDK — so you can run demos out of the box and compile and debug your own inference programs directly on the board.
8.1 Run the Inference Demo (edgeai-demo)¶
edgeai-demo is a single entry point that drives both the Python and
C/C++ backends, with either a CSI or USB camera, from the same config.
Interactive mode (pick camera → model → backend in turn):
Command-line mode:
The inference view (with detection boxes and a performance graph) is shown on the HDMI output; press Ctrl+C to exit.
Note: initialise a CSI camera first with
sudo init-imx219.edgeai-demohandles root privileges, environment variables, the C7x reset, and stopping/ restoring the desktop (lightdm) automatically — no manual steps are needed.
8.2 Develop Your Own C/C++ AI Program On-Board¶
The image ships with a complete C/C++ AI SDK, so you can compile your own inference programs directly on the board with no cross-compilation setup:
| Item | Location |
|---|---|
| Headers | /usr/include/edgeai/ |
| Libraries + CMake package | /usr/lib/edgeai/, /usr/lib/cmake/EdgeAI/ |
| Example projects | /usr/share/edgeai-cpp-examples/ |
| Model zoo | /opt/model_zoo/ |
| Developer guide | /usr/share/edgeai-cpp-examples/DEV_GUIDE.md |
A single CMakeLists.txt links the whole SDK (no manual include/library paths):
Build and run the minimal example (loads a model and runs one inference, no camera needed):
Inference OK. confirms the model ran on the C7x DSP. A full
camera → inference → HDMI pipeline example is in
/usr/share/edgeai-cpp-examples/app_edgeai/; see DEV_GUIDE.md for the API and
more details.
9. 40-Pin Expansion Header¶
The 40-pin expansion header provides GPIO signals at 3.3 V logic levels. All user-accessible signal pins default to GPIO mode. Optional peripheral functions (I2C, SPI, UART, PWM) can be enabled via device tree overlay.
Note: Pins 27/28 (I2C2) are permanently assigned to the internal I2C bus used by the camera module and cannot be used as general GPIO.
9.1 Pin Map¶

See the complete 40-pin table in Section 8.2 below.
9.2 Linux GPIO Reference¶
All 40 pins are listed below. Use gpioset / gpioget from the gpiod package for GPIO-mode pins.
| Pin | Name | Default Function | gpiochip | Line | Optional Function |
|---|---|---|---|---|---|
| 1 | 3V3 | 3.3 V power | — | — | — |
| 2 | 5V | 5 V power | — | — | — |
| 3 | GPIO2 | GPIO (MCU_GPIO0_20) | gpiochip0 | 20 | WKUP_I2C0_SDA |
| 4 | 5V | 5 V power | — | — | — |
| 5 | GPIO3 | GPIO (MCU_GPIO0_19) | gpiochip0 | 19 | WKUP_I2C0_SCL |
| 6 | GND | Ground | — | — | — |
| 7 | GPIO4 | GPIO (GPIO0_39) | gpiochip1 | 39 | — |
| 8 | GPIO14 | GPIO (GPIO1_25) | gpiochip2 | 25 | UART5_TXD |
| 9 | GND | Ground | — | — | — |
| 10 | GPIO15 | GPIO (GPIO1_24) | gpiochip2 | 24 | UART5_RXD |
| 11 | GPIO17 | GPIO (GPIO1_23) | gpiochip2 | 23 | — |
| 12 | GPIO18 | GPIO (GPIO1_0) | gpiochip2 | 0 | MCASP2_ACLKX |
| 13 | GPIO27 | GPIO (GPIO0_42) | gpiochip1 | 42 | — |
| 14 | GND | Ground | — | — | — |
| 15 | GPIO22 | GPIO (GPIO1_22) | gpiochip2 | 22 | — |
| 16 | GPIO23 | GPIO (GPIO0_38) | gpiochip1 | 38 | — |
| 17 | 3V3 | 3.3 V power | — | — | — |
| 18 | GPIO24 | GPIO (GPIO0_40) | gpiochip1 | 40 | — |
| 19 | GPIO10 | GPIO (GPIO1_18) | gpiochip2 | 18 | SPI0_D0 (MOSI) |
| 20 | GND | Ground | — | — | — |
| 21 | GPIO9 | GPIO (GPIO1_19) | gpiochip2 | 19 | SPI0_D1 (MISO) |
| 22 | GPIO25 | GPIO (GPIO0_14) | gpiochip1 | 14 | — |
| 23 | GPIO11 | GPIO (GPIO1_17) | gpiochip2 | 17 | SPI0_CLK |
| 24 | GPIO8 | GPIO (GPIO1_15) | gpiochip2 | 15 | SPI0_CS0 |
| 25 | GND | Ground | — | — | — |
| 26 | GPIO7 | GPIO (GPIO1_16) | gpiochip2 | 16 | SPI0_CS1 |
| 27 | I2C2_SDA | I2C2 SDA (i2c-2) |
— | — | (camera bus, fixed) |
| 28 | I2C2_SCL | I2C2 SCL (i2c-2) |
— | — | (camera bus, fixed) |
| 29 | GPIO5 | GPIO (GPIO0_36) | gpiochip1 | 36 | — |
| 30 | GND | Ground | — | — | — |
| 31 | GPIO6 | GPIO (GPIO0_33) | gpiochip1 | 33 | — |
| 32 | GPIO12 | GPIO (GPIO1_14) | gpiochip2 | 14 | EHRPWM0_B |
| 33 | GPIO13 | GPIO (GPIO1_13) | gpiochip2 | 13 | EHRPWM0_A |
| 34 | GND | Ground | — | — | — |
| 35 | GPIO19 | GPIO (GPIO0_91) | gpiochip1 | 91 | MCASP2_AFSX |
| 36 | GPIO16 | GPIO (GPIO1_9) | gpiochip2 | 9 | EHRPWM1_A |
| 37 | GPIO26 | GPIO (GPIO0_41) | gpiochip1 | 41 | — |
| 38 | GPIO20 | GPIO (GPIO1_5) | gpiochip2 | 5 | MCASP2_AXR0 |
| 39 | GND | Ground | — | — | — |
| 40 | GPIO21 | GPIO (GPIO1_2) | gpiochip2 | 2 | MCASP2_AXR1 |
gpiochip0=mcu_gpio0(MCU domain).gpiochip1=main_gpio0(GPIO0_x).gpiochip2=main_gpio1(GPIO1_x).
9.3 Voltage Levels¶
All expansion header I/O pins operate at 3.3 V. Do not connect 5 V signals directly to GPIO pins.
9.4 Quick Examples¶
The board ships with libgpiod v2.x. The -c flag is required to specify the chip.
List all GPIO chips:
Read a GPIO input (example: Pin 11 / BCM GPIO23 → gpiochip2 line 23):
Read multiple pins at once:
Drive a pin high and hold (example: Pin 7 / BCM GPIO4 → gpiochip1 line 39):
Drive a pin for a fixed duration, then release:
Toggle a pin repeatedly (example: 500 ms high → 500 ms low → exit):
Monitor pin edges (example: Pin 11 → gpiochip2 line 23):
Scan I2C2 bus (pins 27/28, /dev/i2c-2):
SPI loopback test (short Pin 19 MOSI ↔ Pin 21 MISO, CS0 = Pin 24):
Prerequisites: 1. Boot with the
microSD-periphextlinux entry (40-pin peripheral mode overlay enabled) 2. Installpython3-spidev:sudo apt-get install -y python3-spidev
Verify device nodes are present after booting in peripheral mode:
10. Common Issues & Tips¶
Screen Stays Blank After Boot¶
The image ships with DPMS (display power management) disabled by default. If the screen goes blank, press any key or move the mouse to check whether the display manager is still running. If the issue persists, verify:
Camera Not Detected¶
If the camera is not listed, verify that the FPC cable is fully seated in the connector and the latch is locked.
SD Card Not Found at Boot¶
- Ensure the SD card is fully inserted (it should click into place).
- Try a different card. Cards smaller than 16 GB or slower than Class 10 may not work reliably.
- Re-flash the image and verify the write completed without errors.
Wi-Fi Antenna¶
The on-board U.FL connector requires an external antenna for reliable Wi-Fi performance. Without an antenna, range will be very limited.