element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Moto Mods
  • Products
  • Manufacturers
  • Moto Mods
  • More
  • Cancel
Moto Mods
Blog Moto Mods Developer Part 13 - Making custom App to control the Firmware
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Moto Mods to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: Catwell
  • Date Created: 10 Jun 2017 12:00 AM Date Created
  • Views 10004 views
  • Likes 2 likes
  • Comments 0 comments
  • developer
  • moto-z
  • diy
  • motorola
  • embedded
  • cabeatwell
  • moto mods
  • motomods
  • innovation
Related
Recommended

Moto Mods Developer Part 13 - Making custom App to control the Firmware

Catwell
Catwell
10 Jun 2017

Index of the Moto Mods Developer project:

Moto Mods Developer Part 1 - Getting Started - Virtual Machine Setup and Linux Install

Moto Mods Developer Part 2 - Getting Started - SDK Setup & Android Studio Install

Moto Mods Developer Part 3 - Firmware Setup

Moto Mods Developer Part 4 - Getting Started - Make Build-Folder, add Utility and OS files

Moto Mods Developer Part 5 - Flashing Firmware with MDK Utility

Moto Mods Developer Part 6 - Blinking an LED on the Moto Mods Perfboard

Moto Mods Developer Part 7 - Modifying the C file for the perfboard LED

Moto Mods Developer Part 8 - Configure Nuttx

Moto Mods Developer Part 9 - Updating the Hardware Manifests file

Moto Mods Developer Part 10 - Cont’d Configure and Compile Nuttx

Moto Mods Developer Part 11 - Load newly created Nuttx Firmware onto Reference Board

Moto Mods Developer Part 12 - Soldering the Test Points to use the perfboard

Moto Mods Developer Part 13 - Making custom App to control the Firmware

 

 

{gallery} Making custom App to control the Firmware

I modified the MDK-Utility app for my own use by deleting unnecessary parts of the app that I didn’t need for my blinker app. image

The Information panel and switcher “cards” were kept. Other cards were deleted.

To get started with modifying this app, I needed to clone the MDK-Utility app repository to Android Studio.image

Graphic View layoutimage

Code View Layoutimage

In MainActivity, the code for Switcher, the “switch_led” id corresponds to the id of the graphical switch on the app panel. image

When the switch is activated, it runs the raw personality service called blinky using the raw protocol to send the blink boolean to the reference moto mod, where the STM32 micro receives it and runs the blinky routine on its firmware.

Raw Personality Service:image

Below is my custom Blinker App using parts of the MDK Utility and CardView layout.

image

image

What it should look like!

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

 

The Slideshow above is also below:

 

An app can be made in any Android Studio platform including Windows, Linux or Mac. For this I used Windows.

 

The MDK-Utility app that motorola provides for loading firmware uses Android CardView for the layout look. Where each “card” is a different section with a display and/or button. As Shown below:

 

 

image

 

 

I modified the MDK-Utility app for my own use by deleting unnecessary parts of the app that I didn’t need for my blinker app. The Information panel and switcher “cards” were kept. Other cards were deleted.

 

To get started with modifying this app, I needed to clone the MDK-Utility app repository to Android Studio.

 

image

 

Graphic View layout

image

 

Code View Layout

image

 

In MainActivity, the code for Switcher, the “switch_led” id corresponds to the id of the graphical switch on the app panel. When the switch is activated, it runs the raw personality service called blinky using the raw protocol to send the blink boolean to the reference moto mod, where the STM32 micro receives it and runs the blinky routine on its firmware.

image

 

Raw Personality Service:

image

 

Below is my custom Blinker App using parts of the MDK Utility and CardView layout

 

image

  • Sign in to reply
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube