EMB-2238

From Estone Technology Wiki
Revision as of 20:15, 7 February 2019 by Charles (Talk | contribs) (EMB-2238 MFGTool Image)

Jump to: navigation, search

About

Overview

The EMB-2238 is a Pico-ITX (100x 72mm) industrial motherboard based on NXP i.MX8M ARM application processor. The board features a Power over Ethernet (PoE) ready Gigabit Ethernet port, dual-core hardware DSP that runs algorithms for voice control, noise suppression, and echo cancellation technology, extensive high-performance digital audio inputs/outputs and full set of I/Os including RS-232/485, and more. OS supports include Yocto built Embedded Linux, Ubuntu, Qt and Wayland, Amazon AVS (Alexa Voice Service) Device SDK, Sensory TrulyHandsfree Wake Word Engine, Android OS.

EMB-2238-2.1.jpg

Features

Targeted to satisfy diverse applications demanding a robust and compact computing platform in industrial environments with 10 and 15 year longevity support NXP application processors, integrated Cortex-M4 for real time requirements, built-in reliable communication interfaces like RS-485, RS-232 and more.

  • NXP i.MX8M with up to four 1.5 GHz Cortex-A53 processors
  • One Cortex-M4 for real time requirements
  • Gigabit Ethernet with build-in POE (Power over Ethernet) option
  • Smart codec with dual-core DSP for digital MICs and voice control
  • MIPI CSI and DSI for LCD panel, built-in I2C touch panel support
  • 20+ audio channel 32-bit @ 384KHz input and output interfaces
  • Rich I/O with RS-232/485, I2C, GPIOs, USB 2.0 and 3.0 ports
EMB-2238 Block Diagram 20181228.jpg

Quick Start Guide

i.MX8M has multiple boot configurations which are listed in the Quick Startup Guide below. Please follow the guide below to get started with i.MX8M boot and port diagram for this board

i.MX8M Facts Datasheet

i.MX8M Hardware User's Guide

i.MX8M Processor Datasheet

EMB-2238 Image Build From Source

Requirements

CPU - 2 Core Processors
Memory Size - 2GB Minimum
Disk Space - 30GB Minimum
Operating System - Ubuntu 12.04 LTS, Ubuntu 14.04 LTS, Ubuntu 16.04 LTS

Setup Environment

Follow the steps below for host setup. Once the guides below are finished you can follow the next section to compile image from scratch

  1. Setup Yocto Build Environment
  2. Build and Install SDK

Build Yocto Image from Scratch

These guides will guide you through image creation and compile from scratch

Note:Before starting any of these guides please setup environment from previous section

Image Without GUI

Image With GUI

Image With GUI & Alexa Dependencies


DDR-Tool

Download DDR-Tool manual below

Micro SD Image


EMB-2238 MFGTool Image

Note: You can download created MFGTool Image from link below and follow instructions to install

Installing MFG Image

1. Download MFG Image from link above

2. Extract emb-2238-mfg-v2.zip on host system (Windows7,8,10)

3. Connect EMB-2238 to host (Windows) system via USB Type-C
Mfg-usbc-host-emb2238.png

4. Change EMB-2238 dip switches 1(Off) 2(Off) 3(Off) 4(Off) positions

Mfg-dip-switch-emb-2238.png


5. Connect power to the EMB-2238 board
Mfg-poweron-emb2238.png

6. Open the extracted emb-2238-mfg-v2 >> emb-2238-mfg >> mfgtools
Mfg-main-emb2238.pnd.png


7. Open emb-2238 VBScript Script File to install full image with filesystem or emb-2238-kernel VBScript Script File to install kernel only
Emb-2238-mfg-open.png


8. Press Open when prompted by Security Warning to open MFGtool
Mfg-open2-emb2238.png


9. Make sure EMB-2238 power is on and USB Type-C connected to host machine (Windows) & on MfgTool_MultiPanel press Start to start imaging process
Mfg-start-emb2238.png


10. Wait for EMB-2238 image to finish loading and then you can switch dip switches back to 1(Off) 2(Off) 3(On) 4(Off) positions to boot from eMMC
Mfgtool-4.png

Testing

Network

Ethernet Connection:

  • Plug the ethernet cable in the ethernet port on EMB-2238, the unit will recover an IP from the DHCP server.


Note: In case of failure follow the commands below

# ifconfig eth0 up
# udhcpc


Check IP Address:

# ifconfig

EMB-2238-ifconfig.jpg

Check Internet Connection:

# ping 192.168.1.126 (ping a host at the same network)
# ping www.estonetech.com (internet connect successful if packets are received with no loss)

EMB-2238-ping.jpg

Wi-Fi Connection

Enabling the Wifi interface:

# ifconfig wlan0 up

EMB-2238-wlan0-up.jpg

Scan Wifi hotspots:

# iwlist wlan0 scan

EMB-2238-wifi-scan.jpg

  • This will scan for any networks available for connection


  • Modify the Wifi .conf file according to the available network you want to connect to
# cd /etc
# nano wpa_supplicant.conf


  • Input SSID(ssid="your SSID") and Password(psk="your_PASSWORD") from Router in specified slots (/etc/wpa_supplicant.conf)File:EMB-2238-wpa supplicant.jpg

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
update_config=1

network={
 ssid="your_SSID"
 scan_ssid=1
 key_mgmt=WPA-PSK
 pairwise=TKIP CCMP
 group=CCMP TKIP WEP104 WEP40
 psk="your_PASSWORD" 

EMB-2238-wpa supplicant.jpg

  • Acquire the Dynamic IP Address from router's DHCP service
# wpa_supplicant -Dwext -iwlan0 -c ./wpa_supplicant.conf -B
# udhcpc -i wlan0

EMB-2238-udhcpc-iwlan0.jpg

  • Check Connection
# ifconfig -a
# ping 8.8.8.8 (Google DNS Service)
or
# ping www.google.com


Bluetooth

  • To enable and connect bluetooth we will use the bluetooth command line:

Turn on bluetooth

# bluetoothctl

EMB-2238-bluetoothctl.jpg

# power on

EMB-2238-bluetoothctl-poweron.jpg

Setup Pairing Agent

# agent on

EMB-2238-bluetoothctl-agenton.jpg

# default-agent

EMB-2238-bluetoothctl-defaultagent.jpg

Make EMB-2238 Discoverable

# discoverable on
  • The command prompt will display Discoverable: yes and EMB-2238 will now be discoverable to other devices


  • From your mobile device bluetooth search you will be able to see EMB-2238 as (imx8mqevk), select and wait for pairing passkey confirmation


Passkey Confirmation

  • Confirm the pairing on both phone and EMB-2238(imx8mqevk)
# [agent] Confirm passkey 706010 (yes/no): yes

EMB-2238-bluetoothctl-passkey-confirmation.jpg

  • Authorize A2DP sevice (first 32 bits: 0000110d)
# Authorize service 0000111e-0000-1000-8000-00805f9b34fb (yes/no): yes

Note: You may be prompted about other services depending on what services your mobile device supports. Answer yes to all services for full device support.

Trusted Device

  • Trust device connected so EMB-2238 will automatically accept connections from your device next time when pairing
# trust XX:XX:XX:XX:XX:XX


  • exit from bluetoothctl command line interface
# exit


USB

  • When a USB is connected to EMB-2238 it will automatically be detected by the terminal and will output a message like the example shown in the picture below.

Example
EMB-2238-usb.jpg

Access to USB

  • To access the USB you first need to mount to specific directory
# mkdir /mnt/usb
# mount /dev/sd<x>1 /mnt/usb


Access to USB directory

  • Once the USB is mounted on the specific directory you can access the contents
# ls /mnt/usb/

EMB-2238-usb-contents.jpg

Unmounting USB

  • To safely eject USB you will need to unmount USB from EMB-2238 using umount command
# umount /dev/usb/
  • Safely eject USB from EMB-2238
# eject /dev/sd<x>

Note: Use this method to safely mount and unmount USB's connected to the EMB-2238