Embedded systems tend to lack a display, keyboard, and mouse with which to manipulate the microcontroller that you’re trying to program. So a host computer is used for this function, and typically communicates over a serial cable or more recently, Wi-Fi. Once you create, edit, and compile code for your embedded system on a host […]
basics
What is machine learning?
Machine learning, as a type of Artificial Intelligence, is typically used to create models with which to analyze data. Machine learning is a programming process whereby instead of coding a program as with traditional computer architectures, the computer is fed from dozens to thousands of sample data sets that demonstrate what will and will not […]
Writing Efficient C code for Embedded Systems: The cost of unnatural data sizes
Different architectures have different “natural” data sizes. Most MCUs have the same CPU width as data bus width, which makes sense. Some MCUs might have memory that is not consistent with their available data bus width, however. In other words, for some MCUs, there can be a difference between the CPU’s “natural” word length and […]
Avoiding stack overflow in embedded processors
A stack is like a special buffer, or working memory, where processes are tracked. The stack is where processes or tasks “keep notes” on what they need to do the next time the processor becomes available. The stack works “last in, first out,” and tracks local variables as they get pushed onto and popped off […]
Selecting an AC Adapter for your MCU development platform
How do you select an AC adapter to safely power your microcontroller (MC) development board? Most people don’t think much about the AC adapter (power supply) for their development platform, especially if it is included in the development kit. But more often these days, kits come in small boxes with minimal accouterments, perhaps following the […]
Microcontrollers with neural networks: what are they?
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 […]
Optimizing power efficiency in microcontrollers
Power efficiency is more important now than in the past, as portable, battery-powered devices compete for market share on features and battery life. Battery technology has not improved radically in the recent past, and attempts at innovation can wreak havoc with overheated batteries that sometimes burst into flames. Therefore, using less energy to do more […]
Real time clock (RTC) vs. clock: What is the difference?
Microcontrollers act upon instructions a few bits at a time, collecting the next batch of bits at regular intervals. Those regular intervals need to have a regular cadence for the MCU to be predictable, so MCUs have at least one clock to keep timing going at a regular pace, much like you would use a […]
Trade-offs in choosing 8-bit vs. 16- and 32-bit architectures
Besides the advantage of higher performance in performing calculations and faster data transfers, what are the advantages of working with an MCU that has a larger bus width? MCUs with higher data bus widths enjoy higher performance in terms of faster operations, often more powerful development tools, more features, and better power efficiency. In general, […]
How to wire a switch to a microcontroller with pullup resistors
If you want a button or switch as an input on a microcontroller (MCU), you can use a “pullup resistor” so that the input is seen as a logical high when the (normally open) switch or button is closed. A pullup resistor is connected to Vcc, or logical high for your input, and therefore “pulls […]