Tag Archives: MCUs

Rewind: 50 boards you’ll want to know about from 2015


Here’s a look at a bunch of boards that caught our attention over the last 12 months. Feel free to share your favorites below! 


“Hardware becomes a piece of culture that anyone can build upon, like a poem or a song.” – Massimo Banzi

Arduino Zero

ZERO_front_1024x1024

A 32-bit Arduino powered by the Atmel | SMART SAM D21.

Arduino Wi-Fi Shield 101

ASX00001_featured_1024x1024

An IoT shield with CryptoAuthentication that enables you to wirelessly connect your Arduino or Genuino with ease.

Arduino MKR1000

Chip

A powerful board that combines the functionality of the Zero and the connectivity of the Wi-Fi Shield.

Atmel | SMART SAM L21

SAM_L21_XPRO_Angle2-1

A game-changing family of Cortex-M0+ MCUs that deliver power consumption down to 35 µA/MHz in active mode and 200nA in sleep mode.

BTLC1000

BTL

An ultra-low power Bluetooth Smart SoC with an integrated ARM Cortex-M0 MCU and transceiver.

Atmel | SMART SAMA5D2

ult

An ARM Cortex-A5-based MPU that offers great features integrated into lower pin count packages, making it ideal for applications where security, power consumption and space constraints are key considerations.

Atmel | SMART SAM S70/E70

SAM

An ARM Cortex-M7-based MCU with a floating point unit (FPU) that’s ideal for connectivity and general purpose industrial applications.

ATmegaS128

ATme

A space-ready version of the popular ATmega128.

Adafruit Feather

NewImage376.png

A new line of development boards that, like it’s namesake, are thin, light and let your ideas fly. Expect Feather to become a new standard for portable MCU cores.

Adafruit METRO 328

2466-04

An ATmega328-driven processor packed with plenty of GPIO, analog inputs, UART, SPI and I2C, timers, and PWM galore – just enough for most simple projects.

Arduino GEMMA

abx00001_featured_1024x1024

A miniature wearable board based on the ATtiny85.

Adafruit Bluefruit LE Micro

2661-00

A board that rolls the versatility of the ATmega32U4 and the wireless connectivity of the SPI Bluefruit LE Friend all into one.

SparkFun Stepoko

Stepoko_Tutorial-21_red

An Arduino-compatible, 3-axis control solution that runs grbl software.

SparkFun SAM D21 Breakout

SAM

An Arduino-sized breakout for the ATSAMD21G18.

Bosch Sensortec BMF055

bmf055_440

A compact 9-axis motion sensor, which incorporates an accelerometer, a gyroscope and a magnetometer along with an Atmel | SMART SAM D20 ARM Cortex M0+ core.

BNO055 Xplained Pro

NO

A new extension board, which features a BNO055 intelligent 9-axis absolute orientation sensor, that connects directly to Atmel’s Xplained board making it ideal for prototyping projects for IoT apps.

SmartEverything

Board_SM_586_grayok

A prototyping platform that combines SIGFOX, BLE, NFC, GPS and a suite of sensors. Essentially, it’s the Swiss Army knife for the IoT.

Qduino Mini

MCU

A tiny, Arduino-compatible board with a built-in battery connector and charger built-in, as well as a fuel gauge.

Tessel 2

tessel2-800x600

A dev board with a SAM D21 coprocessor, reliable Wi-Fi, an Ethernet jack, two USB ports and a system that runs real Node.js/io.js.

LattePanda

LattePanda

A Windows 10 single-board computer equipped with an Intel Atom x5-Z8300 Cherry Trail processor, 2GB of RAM, 32GB of storage and an ATmega32U4 coprocessor.

LightBlue Bean+

cortado-quarter-1280x960_1024x1024

An Arduino-compatible board that is programmed wirelessly using Bluetooth Low Energy.

Makey Makey GO

photo-original

A thumbdrive-shaped device that can transform ordinary objects into touch pads.

Hak8or

DSC_9624_S

An uber mini, DIY board based on an Atmel | SMART AT91SAM9N12 that runs Linux via a USB drive.

Modulo

spark-modulo

A set of tiny modular circuit boards that takes the hassle out of building electronics.

Microduino mCookie

promo-shot-mcookie

A collection of small, magnetically stackable modules that can bring your LEGO projects to life.

The AirBoard

airboard

A compact, open source, wireless and power efficient dev board designed to learn, sketch and deploy prototypes out in the field.

Autonomo

sodaq

A matchbox-sized, Arduino-compatible MCU powered by a small solar panel.

Helium

sensor_with_hand-1940x1455

An integrated platform that brings the power of the cloud to the edge of the network, enabling you to observe, learn and capture actionable insights from existing physical ‘things’ in your environment.

Sense HAT

astropi-Pi

An add-on for the Raspberry Pi equipped with a gyroscope, an accelerometer, a magnetometer, a temperature sensor, a barometric pressure sensor and a humidity sensor, as well as a five-button joystick and an 8×8 RGB LED matrix — all powered by an LED driver chip and an ATtiny88 running custom firmware.

Ardhat

6a406bc3c11fed4a8387966dd8473198_original

A HAT with an Arduino-compatible processor that responds quickly to real-time events, while letting the Raspberry Pi do all of the heavy lifting.

Wino

Bild

A cost-effective, Arduino-compatible board with built-in Wi-Fi.

pico-Platinchen

pico1

A little board designed for wearable devices that features a BNO055, an ATmega328P and a CR2032 coin-cell battery.

 XeThru X2M200 and X2M300

Xen.png

A pair of adaptive smart sensor modules that can monitor human presence, respiration and other vital information.

LinkIt Smart 7688 Duo

8c9810bd7307c22742a0ccdfbc908a17-image-530x397

An Arduino Yún-friendly platform powered by an ATmega32U4 and MediaTek MT7688 SoC.

Piccolino

photo-original2

A small, inexpensive controller with an embedded OLED display and Wi-Fi connectivity that you can program using existing tools like the Arduino IDE.

ZeroPi

8593e8974dbbe70ee4ee826a8ef292b4_original

A next-generation, Arduino and Raspberry Pi-compatible dev kit for robotic motion structure systems and 3D printers that boasts an Atmel | SMART SAM D21 at its core.

CryptoShield

CryptoShield_6

A dedicated security peripheral for the Arduino and was made in collaboration with SparkFun’s previous hacker-in-residence, Josh Datko. This shield adds specialized ICs that perform various cryptographic operations which will allow you to add a hardware security layer to your Arduino project.

ZYMKEY

df64307484309c0ef944b7a5512b2832_original-1

An add-on board that makes it easy to secure your Raspberry Pi and Linux applications.

Flip & Click

arduino-side-spacers

A two-sided, Arduino-like board with an AT91SAM3X8E for its heart.

ChipWhisperer-Lite

P1080764__64385.1444013016.1000.1200

An open source toolchain for embedded hardware security research including side-channel power analysis and glitching. The board uses a Spartan 6 LX9, along with a 105 MS/s ADC, low-noise amplifier, an Atmel | SMART SAM3U chip for high-speed USB communication, MOSFETs for glitch generation and an XMEGA128 as a target device.

KeyDuino

photo-original

An Arduino Leonardo-like board with built-in NFC that lets you replace your keys with any smartphone, NFC ring or proximity card.

Neutrino

2d67550a42b543732458e2bb36d2ce23_original

An inexpensive, open source and shrunken-down version of the Arduino Zero that boasts a 32-bit ATSAMD21G18 running at 48MHz and packing 32K of RAM.

WIOT

2015-03-30T02-12-57.577Z-WIOT_4.png.855x570_q85_pad_rcrop

An open source, Arduino-compatible board with an ATmega32U4, ESP8266 Wi-Fi module and lithium-ion battery support.

Obscura

photo-original-1

An ATmega32U4-powered, 8-bit synthesizer that enables you to create NES, C64 and Amiga-style chiptune music by simply connecting a MIDI device.

Zodiac FX

photo-original

An OpenFlow switch that is powerful enough to develop world-changing SDN apps yet small enough to sit on your desk. Based on an Atmel | SMART SAM4E, the unit includes four 10/100 Fast Ethernet ports with integrated magnetics and indicator LEDs along with a command line interface accessible via USB virtual serial port.

Goldilocks Analogue

photo-original-2

A board that brings sophisticated analog and audio input, output and storage capabilities to the Arduino environment.

NodeIT

ar

A super small and expandable IoT system for Makers.

Pixel

17e3121f47a1659b1ece2240bcd6916d_original

A smart display that features an Atmel | SMART SAM D21 MCU operating at 48MHz and packing 32K of RAM, along with a 1.5” 128×128 pixel OLED screen and a microSD slot.

SDuino

9864981437569005598

An Arduino crammed inside an SD card.

… and how could we not mention this?

The WTFDuino!

wtfduino_banana_arduino_by_calum_knott_1-620x465

Do you feel like today’s MCUs are too simple and sensible? Well, one Maker decided to take a different approach by “undesigning” the Arduino into a banana-shaped processor whose form factor is impossible to breadboard and whose pins are incorrectly labelled.

 

Atmel’s second 2015 FAE training comes to an end


Taking a look back at the final FAE training of the year… 


We couldn’t have found a more appropriate, well-suited place to host our final internal three-day technical training of 2015 than Shenzhen, China. The city is constantly innovating, with IoT startups popping up on seemingly each street corner, throughout every tech shop, factory and Makerspace. This is a good context to present product updates, show off design tricks and run workshops from early morning to late night. We also network with old friends and make new ones, which further strengthens the teamwork, extends our knowledge base and builds confidence to help our customers bring their ideas to life.

H2-2016-FAE-Training

The buzz of the week was the highly-anticipated, full-day workshop on our uber mini Bluetooth Low Energy chipset (the BTLC1000) with overviews of the supported protocol stacks, silicon and software architecture, introduction from product marketing, as well as a hands-on session using Atmel’s standard Xplained development boards, the recently-launched Atmel Studio 7 and Atmel START.

At Atmel, we spread our love equally between wireless and low power. The world’s lowest power 32-bit MCU, the SAM L21, even saw the birth of a new sibling: the SAM L22. This particular board is feature-compatible with the SAM L21, but comes with an LCD controller and some nifty power-save features.

When it comes to IoT applications, performance plays an integral role so we spent time on the new low-power modes and security capabilities of the SAMA5D2. FAEs in a hurry could also complete the entire workshop and connect the SAMA5D2 to a cloud with the WILC1000 Wi-Fi module.

IMG_0847

To top off the event, we saw the debut of more wireless technologies with a complete 6LoWPAN stack emphasising security and authentication with Atmel’s wide range of CryptoAuthentication engines.

Still wondering if IoT is a big thing at Atmel? Well, duh! Between low-power MCUs, all major wireless connectivity protocols, security layers and a cloud ecosystem in place, we’ve got each of the necessary pillars covered.

Big thanks to Atmel’s training team, distributors, and of course, FAEs for making this event such a great success! Until next time!

SOMNIUM’s DRT software tools now available in Atmel Studio 7


Build smaller, faster, cheaper and more energy efficient software for Atmel | SMART devices with the SOMNIUM DRT Atmel Studio Extension.


As the desire for the world to become more connected increases by the day, we see more and more devices connecting to each other and sensors being built into everything around us. The advent of the Internet of Things means that MCUs need to be smaller and more energy efficient than ever before, but at the same time these processors need to be smarter and cheaper, and from a developers perspective, need to be easy to program as well.

studio7__google_1160x805

Fortunately, the Atmel | SMART ARM-based family has been optimized for cost and power sensitive use cases, targeting applications such as the IoT, smart metering, industrial controls and domestic appliances, to name just a few. Moreover, the recently launched Atmel Studio 7 has introduced a new capability to measure energy consumption during development — a clear indication of the growing significance of this factor to developers in their embedded designs.

Easily measuring energy consumption during development is clearly important, but once you know your consumption what steps can you take if you need to reduce usage in your design? The MCU itself certainly contributes, and typically a smaller device will need lower power. As a result, many designers’ first strategy is keep the energy consumption low in their design is to reduce code size, thus allowing them to devise on a smaller MCU. This often requires a fair amount of manual code optimization, a time consuming and costly task.

What if there was a way for you to not only take advantage of the innovative Atmel | SMART MCU lineup and the added features of Atmel Studio 7, but also take your embedded software designs to the next level, further reducing your energy consumption, shrinking your code size without manual intervention and at the same time improving performance? Now there is, thanks to the SOMNIUM DRT Atmel Studio Extension.

DRT%20ATMEL%20Black%20Small

DRT supports all Atmel | SMART ARM Cortex-M based MCUs, and is the only product that offers improved code generation while maintaining full compatibility with industry-standard GNU tools. What’s more, the extension enhances Atmel Studio 7 by enabling superior quality C and C++ code generation, resulting in reduced flash requirement for applications, faster code execution and reduced power consumption. DRT installs as an alternate toolchain, seamlessly replacing the Atmel GNU tools, making SOMNIUM’s patented-resequencing optimizations available to Atmel Studio users without complex software rewriting and staff retraining.

Unlike traditional tools which only consider the ARM Cortex processor, DRT is aware of the coupling of the processor and its memory system, automatically applying a new series of device-specific optimizations. DRT analyzes the whole program, identifying all instruction and data sequences and the interactions between them. Knowledge of the Atmel SMART MCU’s memory system and ARM Cortex pipeline are used to intelligently resequence your program.

Soo

“By adding the SOMNIUM DRT to Atmel’s software and tools ecosystem, our developers can take their projects to market with improved code generation,” explained Henrik Flodell, Atmel Senior Product Marketing Manager, Development Tools. “With access to high-quality tools, developers can optimize memory-constrained systems for performance along with power efficiency. SOMNIUM’s advanced technology brings additional value to our customers in these areas.”

Interested? A 21-day trial of the SOMNIUM DRT Atmel Studio Extension can be be downloaded free of charge from the Atmel Gallery. An annual license with full commercial support is also available from SOMNIUM for $750.

SAM L family now the world’s lowest power ARM Cortex-M based solution


Consuming one-third the power of existing solutions, Atmel | SMART SAM L achieves 185 EEMBC ULPBench score.


System design used to be an exercise in optimizing speed. That has since changed. Nowadays, embedded systems pack plenty of performance to handle a number of task, leading the challenge for designers to shift to completing those tasks using as little energy as possible — but not necessarily making it as fast as possible. As you can imagine, this has created quite the competitive environment on the processor battlefield amongst vendors, each seeking to attain the lowest power solution on the market.

lowpower_Banner_980x352_v3

“The surge in popularity of battery-powered electronics has made battery life a primary system-design consideration. In extreme cases, the desire is not to run off of a battery at all, but to harvest energy from local sources to run a system — which requires the utmost power frugality,” writes Andreas Eieland, Atmel Director of Product Marketing. “In addition, there’s a growing family of devices like smoke detectors, door locks, and industrial sensors (4-20 mA and 10-50 mA) that can draw power through their inputs, and that power is limited.”

These sort of trends point to the significance of reducing the power requirements of electronic systems. However, the varying technologies that provide the necessary performance make power reduction harder. Fortunately, Atmel has been focusing on low power consumption for more than 10 years across its portfolio of AVR and Atmel ǀ SMART ARM-based processors. Many integrated peripherals and design techniques are used to minimize power consumption in real-world applications, such as integrated hardware DMA and event system to offload the CPU in active and standby modes, switching off or reducing clock or supply on device portions not in use, intelligent SleepWalking peripherals enabling CPU to remain in deep sleep longer, fast wake-up from low power modes, low voltage operation with full functionality, as well as careful balancing of high performance and low leakage transistors in the MCU design.

picoPower_chip

With picoPower technology found in AVR and Atmel ǀ SMART MCUs, Atmel has taken it a step further. Indeed, all picoPower devices are designed from the ground up for lowest possible power consumption from transistor design and process geometry, sleep modes, flexible clocking options, to intelligent peripherals. Atmel picoPower devices can operate down to 1.62V while still maintaining all functionality, including analog functions. They have short wake-up times, with multiple wake-up sources from even the deepest sleep modes. Some elements of picoPower technology cannot be directly manipulated by the user, but they form a solid base that enables ultra-low power application development without compromising functionality. Meanwhile, flexible and powerful features and peripherals lets users apply an assortment of techniques to reduce a system’s total power consumption even further.

Then, there’s the Atmel | SMART SAM L21 microcontroller, which has broken all ultra-low power performance barriers to date. These Cortex-M0+-based MCUs can maintain system functionality, all while consuming just one-third the power of comparable products on the market today. This device delivers ultra-low power running down to 35µA/MHz in active mode, consuming less than 900nA with full 32kB RAM retention. With rapid wake-up times, Event System, Sleepwalking and the innovative picoPower peripherals, the SAM L21 is ideal for handheld and battery-operated devices for a variety of Internet of Things (IoT) applications.

The ultra-low power SAM L family not only broadens the Atmel | SMART portfolio, but extends battery life from years to decades, reducing the number of times batteries need to be changed in devices such as fire alarms, healthcare, medical, wearable, and equipment placed in rural, agriculture, offshore and other remote areas. The SAM L21 combines ultra-low power with Flash and SRAM that are large enough to run both the application and wireless stacks — three features that are cornerstones of most IoT applications. Sampling now, the SAM L21 comes complete with a development platform including an Xplained Pro kit, code libraries and Atmel Studio support.

So how does the SAM L21 stack up against the others? Ahead of the pack, of course! As an alternative to so-called “bench marketing” of low power products, nearly ever large semiconductor company — and several smaller ones that focus on low power — have collaborated in a working group formed by the Embedded Microprocessor Benchmark Consortium (EEMBC). The EEMBC ULPBench uses standardized test measurement hardware to strictly define a benchmark code for use by vendors, considering energy efficiency and running on 8-, 16- and 32-bit architectures. At the moment, the Atmel | SMART SAM L21 product boasts the highest ULPBench score of any microcontroller, regardless of CPU.

“In Atmel’s announcement last year for the company’s SAM L21 family, I had pointed out the amazingly low current consumption ratings for both the active and sleep mode operation of this product family – now I can confirm this opinion with concrete data derived from the EEMBC ULPBench,” explained Markus Levy, EEMBC President and Founder. “Atmel achieved the lowest power of any Cortex-M based processor and MCU in the world because of its patented ultra-low power picoPower technology. These ULPBench results are remarkable, demonstrating the company’s low-power expertise utilizing DC-DC conversion for voltage monitoring, as well as other innovative techniques.”

While running the EEMBC ULPBench, the SAM L21 achieves a staggering score of 185, the highest publicly-recorded score for any Cortex-M based processor or MCU in the world — and significantly higher than the 167 and 123 scores announced by other vendors. The SAM L21 family consumes less than 940nA with full 40kB SRAM retention, real-time clock and calendar and 200nA in the deepest sleep mode.

lower

In fact, a recent EE Times writeup delving deeper into competition even revealed, “TI surpassed its own earlier result by announcing the MSP-432 family based on the Cortex M4F. It achieved a ULPBench score of 167.4. While TI was briefing the media on this product, however, Atmel quietly published a ULPBench score of 185.8 for its SAM L21 MCU based on the Cortex M0+.”

Beyond the recently-unveiled ARM-based chip, it’s also important to note the 0.7V tinyAVR. A typical microcontroller requires at least 1.8V to operate, while the voltage of a single battery-cell typically ranges from 1.2V to 1.5V when fully charged, and then drops gradually below 1V during use, still holding a reasonable amount of charge. This means a regular MCU needs at least two battery cells. Whereas, Atmel has solved this problem by integrating a boost converter inside the ATtiny43U, converting a DC voltage to a higher level, and bridging the gap between minimum supply voltage of the MCU and the typical output voltages of a standard single cell battery. The boost converter provides the chip with a fixed supply voltage of 3.0V from a single battery cell even when the battery voltage drops down to 0.7V. This allows non-rechargeable batteries to be drained to the minimum, thereby extending the battery life. Programmable shut-off levels above the critical minimum voltage level avoid damaging the battery cell of rechargeable batteries.

battery_600x300 (1)

Interested in learning more? You can explore Atmel’s low power technology here, as well as download the new white paper entitled “Turn Power-Reducing Features into Low-Power Systems” here.

8- or 32-bit, that is the question…

Writing for Electronic DesignAtmel’s Ingar Fredriksen and Paal Kastnes recently explored the latest market trends for both 8- and 32-bit microcontrollers (MCUs). While the 32-bit MCU devices continue to rise in popularity throughout the embedded community, 8-bit MCUs are still experiencing a CAGR close to that of their bigger cousins.

These 32-bit, function-rich devices suit an array of different applications, which explains why many embedded developers select them for their next designs. Designers recognize that such complex devices offer everything they need in terms of raw compute power, a rich peripheral set, and easy access to a wide range of development tools and libraries.

Many of these 32-bit devices — which are members of the Atmel | SMART family — are based on the highly-successful ARM cores. Thus, developers feel confident in having access to second source devices and a comprehensive set of development, test and validation tools being available in the market.

However, taking a closer look at recent MCU market trends has revealed that 32-bit devices aren’t the only ones experiencing strong growth. The surging 8-bit MCU market boasts a CAGR (6.4%) close to that of 32-bit (6.9%). Meanwhile, a number of other industry analysts forecast identical growth rates for 8- and 32-bit microcontrollers.

The upswing in 8-bit devices, like the incredibly popular Atmel AVR lineup, clearly highlights that there must be some compelling reasons to use an 8-bit device in place of a 32-bit MCU. The recently-published Electronic Design article looks to shed some insight as to why 8-bit devices are retaining market share.

Essential Differences

The principle differences between 8- and 32-bit MCUs are cost and price structure, CPU performance, ease of use, efficiency in hardware near functions, and static power consumption. When embarking on a new design, developers need to carefully scope out the requirements for an MCU based on the amount of processing capability required, the degree of interfacing needed, and, for battery-powered designs, the all-important power consumption profiles. There’s no doubt that a 32-bit MCU delivers higher performance than an 8-bit device, but the engineer faces the traditional decision of choosing between the best available device in the market versus an application’s actual needs.

Table-1-big

Of course, these decisions will greatly influence the likely bill of materials (BOM) cost. With a lower gate count, a less complex 8-bit device will certainly be cheaper than a 32-bit device. When comparing 8- and 32-bit MCUs from leading vendors, each with a similar amount of flash memory, pin-out etc., 8-bit devices typically cost about 20% less. But this is only the first of many considerations. Another aspect relates to the ease in setting up for a new development.

Ease of Development

MCU suppliers tend to add more features and functionality to their 32-bit devices as opposed to 8-bit products. Consequently, far more setup considerations emerge with a more complex device. While some 32-bit MCUs can run with a limited setup similar to that of an 8-bit device, you’re unable to take advantage of the more powerful device’s additional features.

For example, a typical 32-bit ARM device will have independent clock settings for the core itself, the AHB bus, the APBA bus, and the APBB bus. They all can be set to different frequencies. Typically, you will also have to switch to the clock you want to use because it’s set in software, not in hardware like most 8-bit parts. Furthermore, changing the clock means you must set up the wait states for flash, possibly predicated on measured VCCvoltage.

Such a setup can be much simpler with an 8-bit MCU, though. For example, Atmel’stinyAVR and megaAVR products only require initialization of the stack pointer, which typically takes four lines of code, prior to coding the application. The choice of clock, brownout detector, reset pin function, etc., is all pre-programmed into the device.

The architecture is also much more straightforward than a 32-bit device with internal registers, peripherals, and SRAM all mapped on the same data bus. The peripherals and CPU would normally run at the same frequency, so no peripheral bus configuration is necessary. Moreover, designers can avoid being concerned about latency in synchronizing between different clock domains.

Performance

When it comes to desired CPU performance, the engineer should consider all use cases. The reality is that many embedded designs don’t have high compute requirements. Often, very little manipulation of data is required, so balancing those needs against power-consumption and peripheral-interfacing requirements becomes crucial.

For instance, a simple thermostat application will spend most of its life in a sleep mode. Every so often, it will wake up and measure the temperature and then make a decision to turn a relay on/off or send an instruction to a host controller. Then it will resume sleep. The compute and interface requirements of this application are small, but many other applications such as fire detectors, power tools, flow meters, and appliance controls have a similar use profile, too.

Efficiency of Hardware Near Functions

Many modern microcontrollers incorporate some hardware functions that serve to help the CPU operate as efficiently as possible. In Atmel’s case, both the 8-bit AVR and 32-bit ARM-based MCU families feature the Peripheral Event System. An event system is a set of hardware-based features that allows peripherals to interact without intervention from the CPU. It allows peripherals to send signals directly to other peripherals, ensuring a short and 100% predictable response time.

When fully using the capabilities of the event system, the chip can be configured to do complex operations with very little intervention from the CPU, saving both valuable program memory and execution time. In the case of detecting a hardware event, it’s important to first detect the event and then switch control to the desired interrupt service routine (ISR).

In these situations, CPU speed isn’t the single determining factor. It’s a question of how long, in terms of cycles, does it take to respond to the interrupt, run the ISR, and return. As the following example will show, 8-bit devices can be more efficient in handling hardware near actions.

Table-2-big

Consider receiving one byte on the SPI, using an interrupt to detect it, and then running a simple ISR routine to read the byte from the SPI peripheral and store it in SRAM. Using this scenario, table above draws comparisons between an Atmel 8-bit AVR device and an Atmel ARM Cortex M0+based 32-bit MCU. Calculated with information available, the results are based on minimum implementations. However, engineers should check with their own applications since the interrupt detection and return from interrupt could take more cycles than shown in the table. Requiring 12 cycles versus 33 cycles equates to having a theoretical maximum SPI bandwidth of 1.67 MB/s for the 8-bit CPU and a 606 kB/s bandwidth for a 32-bit CPU when running at 20 MHz.

The degree of numeric processing can also have an impact on the stack and required memory. Applying the Fibonacci algorithm is one particularly good method for testing memory requirements. Since it only uses a local variable, everything needs to be pushed to the stack.

When making a comparison between an 8-bit AVR and an ARM 32-bit CM0+-based device, and using a recursive 15-stage Fibonacci algorithm, the AVR uses a total of 70 bytes of stack, including 30 for return stack (15 calls deep). The ARM-based device uses 192 bytes (60 should be return stack). This means the CSTACK is more than three times the size of the 8-bit solution. In typical C code, more of the variables on the stack often come in a packed format, so this is an extreme corner. However, saying 1.5 to 3 times more SRAM is needed for the same 8-bit-centric application on a 32-bit (versus a native 8-bit) device is a fair estimation.

Power Consumption

No MCU article would be complete without investigating static power consumption. This alone may be a key factor in choosing between an 8- or 32-bit device, especially for battery-powered applications. The table below illustrates power-consumption differences between 8- and 32-bit devices in both active and static modes.

Table-3-big

Aggressive manufacturing technologies increase transistor leakage current, which roughly doubles with each process generation, and is proportional to the number of gates. Leakage current increases exponentially at higher temperatures, which can be easily overlooked when designing a consumer design. Mobile phones and personal media players are transported everywhere, and as we have all found out, temperatures experienced during the summer inside a car can easily climb above 40°C.

The amount of time the microcontroller will spend in active mode versus static mode contributes significantly to the overall application power budget.

Naturally, the ratio between active and static modes will vary depending on the application requirements. Taking the previous SPI interrupt example (second table from above) and assuming a SPI data bandwidth of 80 kb/s, the 8-bit CPU will spend 1.2% of its time in active mode compared to that of the 32-bit, which will spend 3.3% in active mode (table below).

Table-4

Conclusion

Contemplating whether to use an 8- or 32-bit microcontroller for a future design may involve an Internet of things (IoT) application. How IoT actually takes shape provokes lots of debate, but it will certainly challenge engineers to make a detailed appraisal of the MCU requirement. Wireless connectivity, especially ZigBee, will also be an essential component, but that doesn’t automatically mean that it will need a higher power device.

A number of available 8-bit microcontroller products satisfy the need for low levels of processing and wireless connectivity. One such example is the Atmel ATmegaRFR2 series, which provides an IEEE 802.15.4-compliant, single-chip, 2.4-GHz wireless microcontroller solution that suits battery-powered, low-cost IoT designs.

Interested in reading more? Be sure to check out the original article from Electronic Design here.

Tutorial: Building cool projects with MCUs (Part 1)

I don’t remember exactly when I learned programming, but I played around with computers from an early age. I remember that it was such an amazing thing to be able to make my own programs. I made games and I made websites. And, it was so fun. When I was around 14 years old, I also started playing with electronic circuits. I made simple circuits of blinking lights and such. Also, a lot of fun.

Then at one point, I discovered microcontrollers. Oh, my God. I realized that by using microcontrollers I could combine programming and electronics to build robots, music players and what-not. It was a shockingly cool discovery. Wow!

electronics-project-with-dev-board-and-7-segment-1024x682

But understanding how to use a microcontroller wasn’t straightforward. There were programmers, EEPROM’s, debuggers, integrated development environments and a lot of different types of microcontrollers. It took me a few years before I started building projects using microcontrollers. Not because it took that long to learn it – but because the whole thing felt so overwhelming. And, I didn’t know where to start. But once I committed to just figure it out, it was actually quite fast to get up and running.

In this five-part microcontroller tutorial series, I will take you from knowing nothing – to being able to build and program a microcontroller circuit from home. To make sure we have everybody on board – let’s start from scratch by taking a look at what a microcontroller is.

Like a Tiny Computer

A microcontroller is somewhat like a tiny little computer. And, simiar to a computer, you can hook up things like a display, a motor, buttons and much more to it. Then, you put programs onto it and run them to make it do something.

OLYMPUS DIGITAL CAMERA

The things you can use a microcontroller for are endless! Among the countless possibilities include building robots, flying quadcopters, music players, or even smartphones.

Learning how to use microcontrollers opens so many opportunities for building new cool projects. Throughout this microcontroller tutorial, you will learn all you need to know, step-by-step, in order to get started with MCUs.

Getting Started With Microcontrollers

Let’s start by taking a closer look at the microcontroller chip. The chip has several pins, most of them input and output pins. The microcontroller uses these pins to interact with the outside world.

Atmel-microcontroller-pinout

However, a microcontroller doesn’t really do anything without getting any instructions. So to make it do something, you need to write a program and load the program onto the chip. This process is often called programming the microcontroller.

In the program, you use code to read from input pins, and to control output pins. By connecting something, such as a light-emitting diode (LED) to an output pin, you will be able to switch the light on and off from your program. If you connect a push-button to an input pin, you can use code to read the pin and see if the button is pushed or not.

Then, you can create code that turns the light on when the button is pushed, and turns the light off when it is not pushed. Not a very exciting example, I agree, but a very good place to get started. Think of it as the “Hello World” of microcontrollers.

We could easily turn this into a much more interesting application.

Connect a temperature sensor to an input pin instead of the button. And keep the LED on the output. Create a program that reads the temperature and if the temperature is above a certain level, start blinking the light.

Now, attach this to your beer, and a light will start flashing to warn you that your beer is getting warm. Now that’s useful!

Programming a Microcontroller

Okay, so how do we get from having this idea of what to make, into actually creating it? First of all, we have to create a circuit, then we need to program the microcontroller.

Creating the circuit is a matter of creating a schematic with the components we need, then turning this into a circuit board. I’ll show you how to do this later in this tutorial.

When you have your circuit ready, you need to program your microcontroller. I found this a bit confusing in the beginning. There are many ways of doing this, and not all methods work on all microcontrollers.

The steps you need to go through in order to get your program onto the microcontroller can be divided into the following:

1. Create program code
2. Compile the code into machine code
3. Upload the machine code onto your microcontroller

These steps will be different for different types of microcontrollers. When we get to the programming part of this tutorial, I will show you exactly how to do it for the microcontroller we choose.

But choosing a microcontroller can be a very overwhelming task, especially if you are just starting out. In the next part, I’ll show you what is going through my head when I choose a microcontroller – so that you’ll know how to choose one for your next project.

Stay tuned for Parts 2-5 in the coming days…

This smart shaker helps you mix the perfect cocktail

Not equipped to be a bartender? Luckily, this new gizmo is.

photo-main

Designed by the Magnified Self crew, B4RM4N is a smart cocktail shaker powered by an Atmel microcontroller (MCU) and connected to your smartphone via Bluetooth, allowing you to mix and pour the perfect drink every time.

505ee6a5caffb0ab2274f088633b81c1_h264_high

To start, a user connects B4RM4N to their mobile device by placing the shaker onto a nearby table or bar, immediately launching the accompanying mobile app (available on both iOS and Android). Then, simply select a recipe from the vast library loaded onto the app, as well as the desired number of drinks (up to three glasses at a time for any given recipe).

Once a recipe is chosen, a user will be instructed by the app to go ahead and round up each of the necessary ingredients, and start adding. Accompanied by instant sound feedback, the LEDs located along the side of the shaker will indicate when to stop. When completed with one ingredient, B4RM4N shows you what to do next, which can also be monitored on the smartphone’s screen. Easy peasy lemon squeezy!

61bab8123f758811c8ac6078025ccbc1_large

Who knew the shaking process could be made smarter? B4RM4N can simplify the process even more by telling an aspiring drink-maker when to stop thanks to its embedded accelerometer.

0d55670ffae18bbfc82c4a5722bdbcb0_large

Throwing a last-minute shindig? With its real-time capabilities, the connected cocktail shaker can suggest what drinks you can make based on the ingredients on-hand or in the fridge. Think you’ve made quite the decadent drink and want the world to know? B4RM4N also enables you to share the creation across Facebook, Twitter and other social communities.

bda36859ab13c0d47bff3f49dd8933b1_large

Recently launched on Kickstarter, its team is seeking $100,000 to assist in production. Can you see yourself using this smart contraption at your next party? Magnified Self hopes to have its first batch of shipments ready for next summer… just in time for that 4th of July extravaganza!