Reference firmware for PixArt's PMT9123 sensor and evaluation board. "Hello World" and "Library" contain the exact same files. Please import just one of the two into your mBed compiler as a new program and not as a library.

Guide for Any Platform

This Wiki page provides a detailed guide on how to setup and operate PixArt's PMT9123 sensor with any mBed-supported microcontroller.

Hardware

500

  • 1.) PC with Windows Operating System
  • 2.) Any mBed-Supported Microcontroller & Associated Cables
    • (Cables are often USB-A male to USB-B male or USB-A male to micro-USB male)
  • 3.) PMT9123 Evaluation Board
  • 4.) Jumper Cables
    • NOTE: PC not included in image.

Importing Code

First, we need to import code into the microcontroller to start talking to the sensor. For the firmware code, please visit this product's components page here:
https://os.mbed.com/components/PMT9123QS-Low-Power-Right-Angle-Motion-T/

  • 1.) Login/create an mBed account.

  • 2.) Import the reference firmware into mBed's online compiler using the "Import program" button. You can find this in the link above. /media/uploads/PixArtVY/import_program_Hg4D0ZL.jpg

  • 3.) When importing the program, make sure you import it as a program and not a library. /media/uploads/PixArtVY/importing.jpg

  • 4.) Make sure the selected platform is the platform that you are using. /media/uploads/PixArtVY/platform.jpg

  • 5.) Make sure your microcontroller is plugged into your PC. It should show up as a separate drive similar to the (C:) drive. Then, you can compile the program and save the HEX file into your microcontroller. 800

    800
    • NOTE: If you suspect your code did not import properly, please try unplugging the device, plugging it back in, and then re-compiling and saving the code into the device.

Connection

Please refer to the images and notes below for details on how to connect your hardware.
700
/media/uploads/PixArtVY/9123_pincode.jpg
The above images show how the sensor connects to the Nordic nRF52-DK as a template. To connect it to your own microcontroller of choice, please follow these steps:

  • 1.) First make sure you have chosen the platform that you have. See step 4 in the "Importing Code" section.
  • 2.) Assign any GPIO pins on your microcontroller to the I2C pins you want.
    • Change "static I2C i2c(p26, p27);" to "static I2C i2c( [any_pin], [any_pin] );"
      • You will also need to change "static DigitalOut NRESET(p25);" to "static DigitalOut NRESET( [any_pin] );"
  • 3.) With pins properly assigned, simply use jumper cables to connect them to the corresponding pins on the PMT9123 evaluation board.

    ===Other notes:===
  • VDD on the PMT9123 evaluation board connects to any 1.8V analog output on your microcontroller.
  • VXLED on the PMT9123 evaluation board connects to any 1.8V analog output on your microcontroller.
  • GND on the PMT9123 evaluation board connects to any GND pin on your microcontroller.
  • NC = No connection.
    • NOTE: You may need an external power source to power PMT9123 evaluation board. This is because some microcontrollers cannot provide an analog output in the 1.8V range.

Functional Test

  • 2.) Open Tera Term and go to File > New Connection or use the hotkey "Alt + N". Select "Serial" and choose the COM port corresponding to your microcontroller. Then click on "OK". /media/uploads/PixArtVY/tera_term_serial.jpg

  • 3.) Go to Setup > Serial Port and set the baud rate to 115200. Then click on "OK".
    /media/uploads/PixArtVY/tera_term_baud.jpg

  • 4.) Go to Setup > Terminal and change "Receive" from "CR" to "LF". Then click on "OK".
    /media/uploads/PixArtVY/tera_term_receive.jpg

  • 5.) With the hardware wired up properly, the firmware loaded into the microcontroller, and the terminal emulator set up, we should now be able to see the sensor working. If you move your finger in front of the sensor (remember the working distance is 15mm to 35mm), you should see outputs on the terminal: /media/uploads/PixArtVY/tera_term_output.jpg
    • "deltaX" and "deltaY" show the number of counts detected per report.
    • "X-axis Counts" and "Y-axis Counts" show the total number of counts recorded throughout runtime.

Thank you for choosing PixArt! If you have any questions, feel free to contact us at: sales_us@pixart.com.


All wikipages