ML.Net ONNX Object Detection on ARM64 ASUS PE100A

I work on applications which need a device that will survive in a farm shed that is open to all weathers. The ASUS PE100A an ARM64 device which, with the right parts has an operational temperature range of -20~60°C should be fine for New Zealand conditions. The devices are usually shipped with Windows 10 IoT Core or Yocto but an Ubuntu image (which this post uses) is also available.

The Ubuntu install is distributed as a zip file which contains the NXP IMX flashing utility (uuu.exe), installation scripts and the device image. I won’t cover the process in detail as the very helpful local ASUS support person and the readme file were more than sufficient.

Contents of PE100 Ubuntu update
PE100 device dip switches which control boot process(see readme for details)
PE100 flashing process complete

After remembering to reset the DIP switches before powering up the device it booted to a simple console.

PE100 Ubuntu home screen

I then created a new user, set the password, updated the users permissions and manually installed the .Net Core runtime (using a hybrid of the Microsoft and these instructions). I then had a device that I could SSH into, copy files to with WinSCP and run simple console applications on.

I then deployed my ONNX Object Detection console application to the device and it wouldn’t start. I had forgotten to install support for System.Drawing.Common with

sudo apt-get install -y libgdiplus

Object Detection console application with code to draw MBRs on images
Object Detection console application without code to draw MBRs on images

The version of the application which draws Minimum Bounding Boxes(MBRs) on the output images was only slightly slower that the version which didn’t. (the PE100 has a 16G on board eMMC so disk access is going to be fairly quick)

The required operational temperature range and price point make the PE100A good platform for our product.

6 thoughts on “ML.Net ONNX Object Detection on ARM64 ASUS PE100A

  1. Hello, I’m impressed with this project. I also live in NZ and have purchased PE100A. I have spent many hours unsuccessfully trying to get the Ubuntu OS running.

    Would be able to provide any advice? Or instructions. Anything would be much appreciated, Thanks Grayson

    • Hi Grayson,

      This is the email from Jack the very helpful local(NZ) ASUS engineer which got me started.

      The link is dead see if you can source the Ubuntu image from ASUS otherwise I’ll see what I can do.

      Bryn

      From: …
      Sent: Wednesday, 25 August 2021 12:20 PM
      To: …
      Subject: RE: Regarding your enquiry about IMX8M development board

      Hi Bryn,

      That is totally fine.

      Please kindly refer to external link to access Ubuntu image.
      https://drive.google.com/file/d/1YkTqffcPuyk_evOYZqa6i3jW9V0TN4Ca/view?usp=sharing

      Image-imx8mq-pe100a-ubuntu0704.zip
      Ubuntu 18.04.5 LTS (GNU/Linux 4.14.98-rt55-00012-ga6b1dd306672 aarch64)

      How to re-flash OS image:
      1. Download OS image and unzip file
      2. Ensure device is power-off, connect Type-C cable to PE100A, and Type-A to your host PC (Windows, for example)
      3. Power on PE100A
       In case of PE100A is factory delivery (only uboot), screen like below, execute “flashall.cmd” then wait to complete os re-flashing.

       In case of PE100A is other OS installed, in PE100A console, execute “reboot-bootloader” to enter flash mode, then do “flasshall.cmd” to complete re-flashing.
      4. After re-flash successfully, you will see this screen. Please be aware that Ubuntu desktop environment is not fully functional because of i.mx8m’s limitation. (for example X11 package is not supported)

      Make SSH and file transfer available
      1. In Ubuntu terminal, execute “useradd ”
      2. “passwd ” to change password
      3. “usermod -aG sudo ” to add SUDO group
      4. Use “hostname –I” to check local ip address
      5. In Windows host pc, use Putty , WinSCP or alternative tools access the IP

      The Root password for this beta is:
      • Account: root
      • Password: root

      Should you need anything else, please feel free to let us know at any time.

      Regards,

  2. Thanks for the response,

    I think I’m missing the script which runs with flashall.cmd along with the correct ubuntu image. I have reached out to ASUS AU support last week just awaiting their response,

    If you had a copy of “Image-imx8mq-pe100a-ubuntu0704.zip” that would be great? I will continue to try to get ASUS if you are unable to find it,

    Thanks Grayson

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.