• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer

Microcontroller Tips

Microcontroller engineering resources, new microcontroller products and electronics engineering news

  • Products
    • 8-bit
    • 16-bit
    • 32-bit
    • 64-bit
  • Applications
    • 5G
    • Automotive
    • Connectivity
    • Consumer Electronics
    • EV Engineering
    • Industrial
    • IoT
    • Medical
    • Security
    • Telecommunications
    • Wearables
    • Wireless
  • Learn
    • eBooks / Tech Tips
    • EE Training Days
    • FAQs
    • Learning Center
    • Tech Toolboxes
    • Webinars/Digital Events
  • Resources
    • Design Guide Library
    • DesignFast
    • LEAP Awards
    • Podcasts
    • White Papers
  • Videos
    • EE Videos & Interviews
    • Teardown Videos
  • EE Forums
    • EDABoard.com
    • Electro-Tech-Online.com
  • Engineering Training Days
  • Advertise
  • Subscribe

Microcontrollers with neural networks: what are they?

November 4, 2016 By Scott Thornton 1 Comment

Artificial neural networks (ANNs) are silicon-based processor architectures inspired by, and very simply patterned after, the human brain, which learns by example and “prunes” connections that don’t get used anymore. What exactly is an artificial neural network? Dr. Robert Hecht-Nielson, Adjunct Professor of Electrical and Computer Engineering at USCD, was paraphrased by Maureen Caudill as saying that artificial neural networks are “…a computing system made up of a number of simple, highly interconnected processing elements, which process information by their dynamic state response to external inputs.”[i]

Neural networks have been implemented on 8-bit microcontrollers.[ii] However, the Arduino 101 is a more recent example of a development board that includes an engine with a neural network. The Arduino 101 uses the Curie Module, which in turn has an Intel® Quark™ SE engine. The Intel® Quark™ SE is an Intel® microcontroller (MCU) with a neural network subsystem of 128 neurons. The CurieLibrary accesses the neural network, but neural networks are not programmed in the traditional sense. There is no code created for use with ANNs, which learn by example (from examining data solution sets). ANNs provide a type of decision-making ability that is very much outside the typical experience of traditional architectures.

Neural networks are not programmed like traditional architectures, rather, they “learn.” Sample data sets are fed to the ANN, which learns based on that known good information, rather than being programmed in the traditional sense. Neural networks are especially good at examining a solution set, learning from it, and applying that learning to similar problems. ANNs do not have central processors, but are made up of anywhere from hundreds to millions of neurons in a parallel architecture. Neurons have no central supervising entity, but work collaboratively to arrive at a decision or solution. Individual neurons are like simple “processors” or memory units that remember data and make fundamental decisions based on what they know or have learned. Pattern matching is a common area where ANNs are applied, but so far ANNs have been successfully applied to sensor fusion, machine vision, tracking, surveillance, and adaptive control. ANNs have the benefit of excellent scalability and require little power to operate.

10232016-ann-mcu-fig-1
Figure 1: Initially, neurons are empty and Ready to Learn (RTL). The neural network is composed of N neurons: M neurons are committed and holding a reference pattern and a category value; one neuron is RTL, and N-(M-1) neurons are idle. Source: General Vision. iii

Neural networks are created with layers of neurons, starting with input neurons. Weighed connections between layers of neurons exist, for which “learning” rules adjust connections based on solution sets. The Intel® Quark™ SE has capacity for 128 neurons and each neuron is 128 bytes. The Quark™ SE’s neural network is set up for pattern matching, and thus includes a recognition status of identified, uncertain, or unknown.[iii] The scope of this article is limited to high-level descriptions.

Artificial neural networks are just one part of the field of cognitive computing. ANNs provide a large number of dynamically changing elements (neurons) involved in a complex structure, such that theoretical physicists and mathematicians have found themselves challenged to create new math models to describe the behavior of ANNs.

figure-2-neural-networks
Figure 2: The attributes of the Intel® Curie Module’s neurons. Source: General Vison. iii

Full access to the neural network using an Arduino 101 is available with the purchase of a low-cost CurieNeurons PRO library from General Vision, but a free CurieNeurons library is also available for download at http://www.general-vision.com/products/curieneurons.

[i] Caudill, M. (1991). Naturally intelligent systems. AI Expert, 6, 56 – 61.

[ii] Yang, Yueh-Ru. “A Neural Network Controller for Maximum Power Point Tracking with 8-bit Microcontroller.” 2011 6th IEEE Conference on Industrial Electronics and Applications (2011): n. pag.

[iii] “Presentation of the CurieNeurons on Arduino/Genuino101.” Documentation. General Vision, 6 June 2016. Web. 23 Oct. 2016. https://www.general-vision.com/publications/PR_CurieNeuronsPresentation.pdf

 

You may also like:


  • What are the top five neural network architectures?

  • What are the top programming languages for machine learning?

  • What’s the future for RISC-V in 5G?
  • artificial intelligence
    Artificial Intelligence, Machine Learning, Deep Learning, and Cognitive Computing
  • FPGA cores
    FPGA cores target deep learning, neural network processing tasks

Filed Under: FAQ, Featured Tagged With: basics, FAQ

Reader Interactions

Comments

  1. Michael Bartling says

    October 17, 2018 at 10:31 pm

    Fyi, Pete warden has an excellent blog post explaining motivation for running neural net inference on MCUs. Also of note is the uTensor project; a set of tools to take Tensorflow NN graphs and run them on Cortex M4 platforms https://github.com/uTensor/uTensor

    Reply

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Primary Sidebar

Featured Contributions

Five challenges for developing next-generation ADAS and autonomous vehicles

Securing IoT devices against quantum computing risks

RISC-V implementation strategies for certification of safety-critical systems

What’s new with Matter: how Matter 1.4 is reshaping interoperability and energy management

Edge AI: Revolutionizing real-time data processing and automation

More Featured Contributions

EE TECH TOOLBOX

“ee
Tech Toolbox: 5G Technology
This Tech Toolbox covers the basics of 5G technology plus a story about how engineers designed and built a prototype DSL router mostly from old cellphone parts. Download this first 5G/wired/wireless communications Tech Toolbox to learn more!

EE Learning Center

EE Learning Center

EE ENGINEERING TRAINING DAYS

engineering
“bills
“microcontroller
EXPAND YOUR KNOWLEDGE AND STAY CONNECTED
Get the latest info on technologies, tools and strategies for EE professionals.

DesignFast

Design Fast Logo
Component Selection Made Simple.

Try it Today
design fast globle

Footer

Microcontroller Tips

EE World Online Network

  • 5G Technology World
  • EE World Online
  • Engineers Garage
  • Analog IC Tips
  • Battery Power Tips
  • Connector Tips
  • DesignFast
  • EDA Board Forums
  • Electro Tech Online Forums
  • EV Engineering
  • Power Electronic Tips
  • Sensor Tips
  • Test and Measurement Tips

Microcontroller Tips

  • Subscribe to our newsletter
  • Advertise with us
  • Contact us
  • About us

Copyright © 2025 · WTWH Media LLC and its licensors. All rights reserved.
The material on this site may not be reproduced, distributed, transmitted, cached or otherwise used, except with the prior written permission of WTWH Media.

Privacy Policy