Tag Archives: Bits & Pieces

International Arduino Day is almost here!



Celebrated March 29, 2014, Arduino Day is a worldwide celebration marking the first successful decade of the Atmel-powered open source board.

It’s a 24 hour celebration – both official and independent – with Makers meeting up to share their DIY experiences.

Meanwhile, Make Magazine will be celebrating the milestone all through next week by showcasing a special lineup of top-rated Arduino projects.

“But we’re also looking to you, because we want to feature your original projects here on the Make blog. If you’re not going to be able to show off your project at your local Arduino event on Arduino Day, maybe you should show it off to the world,” writes MakeZine’s Alasdair Allan.

“Or maybe you’ve been itching for an excuse to sit down and build something new? Or [perhaps] someone [is] wrong on the Internet and you want to write the definitive guide teaching people how to use a particular sensor, widget, or gizmo, with the Arduino.”

Whatever the reason, Makers can send a summary of their thoughts to alasdair@makezine.com with “MAKE Arduino Day” in the subject line. Please be sure to include any technical details about the build, as well as some pictures, images and video links.

Of course we’ll also be celebrating Arduino Day here at Bits & Pieces with extra project coverage, so be sure to stop by and check out our blog posts about everybody’s favorite Atmel-powered board!

An MCU or MPU, that is the question: Part 2

In part one of this series, Bits & Pieces discussed a number of differences between an MCU and MPU, including memory and power consumption methodology. In part two of this installment, we take a closer look at processing power, UI, TFT controllers, connectivity and real-time/deterministic behavior.

thinkbeyondcore

As previously discussed on Bits & Pieces, an ARM Cortex-M4-based microcontroller such as Atmel’s SAM4 MCU is rated at 150 DMIPS (Dhrystone MIPS ) while an ARM Cortex-A5 application processor (MPU) such as Atmel’s SAMA5D3 is capable of delivering up to 850 DMIPS.

“One way of estimating the DMIPS required is by looking at the parts of the application that may be performance hungry. Running a full operating system (OS), such as Linux, Android or Windows CE would demand at least 300 – 400 DMIPS,” Frédéric Gaillard, product marketing manager and Andreas Eieland, senior product marketing manager, told Bits & Pieces.

“For many applications, a straightforward RTOS might suffice and an allowance of 50 DMIPS would be more than adequate. Using an RTOS also has the benefit that it requires little memory space; a kernel of just a few kB being typical. Unfortunately, a full OS demands a memory management unit (MMU) in order to run; this in turn specifies the type of processor core to be used and require more processor capability.”

Gaillard and Eieland also noted that DMIPS allowance needs to be reserved on top of any OS and other communication and control tasks for running applications that are more number-crunching intensive enough. Meaning, the more numeric-based the application, the more likely a MPU is required.

The user interface (UI), say Gaillard and Eieland, is also a serious consideration for engineers, whether the intended application is targeted at consumer electronics or industrial automation. Indeed, consumers have grown accustomed to colorful and intuitive graphical UIs, with industrial applications increasingly using this method of operator interaction (although the operating environment can limit how much this is warranted).

“For the UI there are a number of factors. Firstly, is a processing overhead required? For a UI library such as Qt, which is widely used on top of Linux, an overhead of 80 – 100 DMIPS might suffice,” the two explained.”The second factor is to do with the complexity of the UI. The more you have animations, effects, multimedia content, the more changes are applied to the image to be displayed, the more processing power and memory you need.”

Of course, requirements do scale up with the resolution, which is why UI-centric applications are probably best suited for an MPU. On the other hand, a simpler UI with pseudo-static images on a lower resolution screen can easily be addressed by an MCU. Indeed, MPUs typically include an embedded TFT LCD controller, while very few MCUs are packaged with this feature. Meaning, the TFT LCD controller, along with a number of external driver components, have to be added externally to MCUs.

“Yes, some Flash MCUs are now hitting the market with TFT LCD controllers embedded, although there still must be enough embedded SRAM memory available to drive the display. For example, the QVGA 320 x 240 16-colour format requires 150 kB of SRAM to feed and refresh the display,” Gaillard and Eieland noted.

“This is a fairly high amount of SRAM to dedicate; so extra memory might be required – further adding to the BOM and bridging the gap with the MPU solution. More complex and advanced graphical UIs, especially using screens larger than 4.3-inches, would stipulate an MPU. If MPUs are seen to dominate when it comes to run a UI on a color TFT screen then MCU are the kings for segment or dot matrix LCD control and other screens with serial interfaces.”

In short, the decisions involved in selecting either an MCU  or MPU-based approach are varied, with engineers carefully weighing a number of factors, including performance, capability and BOM (budget).

Broadly speaking, MCUs  tend to be used in cost-optimized solutions where a tight control of BOM and power saving is essential. MPUs are typically chose for functionally, as well as rich and high performance applications. In contrast, MCUs tend to be deployed in ultra low power applications such as remote controls, consumer electronics and smart meters where the design emphasis puts longevity of battery life and none or little UI interaction. And lastly, MCUs are also used where a highly deterministic behavior is needed, while MPUs are ideal for OS-based industrial and consumer applications that might be compute intensive, requiring multiple high-speed connectivity or a rich UI.

“Selecting a vendor offering highly compatible MCU  and MPU products where you can easily migrate up and down and maximize software reuse provides the best return on investment over time,” Gaillard and Eieland added.

Arduino Workshop Is A Hands-On Introduction With 65 Projects

Earlier this week, Bits & Pieces took a closer look at an instructional book for Makers that describes how to use various Atmel-powered Arduino boards in a wide variety of LEGO projects. Today, we are getting up close and personal with another Maker book titled “Arduino Workshop: A Hands-On Introduction with 65 Projects.”

arduinoworkshop

Penned by John Boxall, the book kicks-off with a basic overview of Arduino, although it quickly moves on to discuss various electronic components and concepts.

“Arduino Workshop will teach you the tricks and design principles of a master craftsman,” said Boxall. “Whatever your skill level, you’ll have fun as you learn to harness the power of the Arduino for your own DIY projects. As your understanding grows, the projects increase in complexity and sophistication.”

Projects detailed in the book include:

  • A digital thermometer designed to chart temperature changes on an LCD
  • A GPS logger capable of recording data from your travels to display on Google Maps
  • A handy tester that can check the voltage of any single-cell battery
  • A keypad-controlled lock requiring a secret code to open
  • An electronic version of the classic six-sided die
  • A binary quiz game to challenge your number conversion skills
  • A motorized remote control tank with collision detection to prevent crashes

“Arduino Workshop: A Hands-On Introduction with 65 Projects” can be purchased in e-format from Amazon for $13.17 here.

The Matrix-505 packs Atmel’s AT91SAM9G45 eMPU

Artila Electronics has debuted an ARM9 Linux-ready computer dubbed the Matrix-505. The industrial device – powered by Atmel’s AT91SAM9G45 400MHz eMPU – boasts 128MB DDR2 SDRAM, 128 NAND Flash and Linux 2.6.38 (pre-installed).

artilamatrix505

The Matrix-505 also integrates two 10/100 Mbps Ethernet, four high speed RS-232/485 serial ports, two USB hosts, DIN-Rail and a microSD socket into a palm size metal box.

As noted above, the Matrix-505 arrives pre-installed with Linux 2.6.38 OS, as well as a busybox utility collection, lighttpd Web server and various USB device drivers. Meanwhile, a fault-resilient booting function is implemented via a backup Linux file system in the DataFlash to automatically boot up the Matrix-505 in the case of a primary NAND Flash failure.

Although the Matrix-505 was primarily designed for headless application, VNC remote access and control software are readily available.

As previously discussed on Bits & Pieces, Atmel’s AT91SAM9G45 eMPU integrates multiple communication interfaces including high-speed USB host and device with transceivers, 10/100 Mbps Ethernet controller and high-speed SDIO/MMC interface.

The eMPU – which is capable of operating at 400 MHz – also features an LCD controller supporting up to 1280×860 resolution, a resistive touchscreen controller and camera interface.

Additional information about Atmel’s AT91SAM9G45 eMPU can be found here.

Atmel’s SAM D20 MCU goes live

Atmel has introduced the SAM D20, a comprehensive product lineup based on ARM’s Cortex -M0+. Essentially, the new microcontroller series combines the performance and energy efficiency of an ARM Cortex-M0+ based MCU with an optimized architecture and peripheral set.

samd20

According to Atmel engineering manager Bob Martin, the SAM D20 offers a “truly differentiated” general-purpose lineup that is ideal for a wide range of low-power, cost-sensitive devices, including GPS trackers, appliance controllers, intelligent remotes and optical transceivers.

“The SAM D20’s power-saving techniques include an event system that allows peripherals to communicate directly with each other without involving the CPU, while SleepWalking peripherals wake up the CPU only upon a pre-qualified event, reducing overall power consumption,” Martin told Bits & Pieces.

“In terms of peripheral flexibility, a serial communication module (SERCOM) is fully software configurable to handle I2C, USART/UART and SPI communications. Meaning, with multiple SERCOM modules on a device, designers can precisely tailor the peripheral mix to their applications.”

Meanwhile, the SAM D20’s QTouch Peripheral Touch Controller offers integrated hardware support for buttons, sliders, wheels and proximity – as well as supporting both mutual and self-capacitive touch (without the need for external components), along with noise tolerance and self-calibration.

Additional key hardware specs include high-precision, 12-bit analog and internal oscillators; 8 16-bit timer/counters; 32-bit real time clock and calendar; real-time performance; peripheral event system, as well as flexible clocking options and sleep modes.

As noted above, the SAM D20 lineup boasts 6 serial communication modules (SERCOM) that can be configured to act as an USART, UART, SPI or I2C. On the scalability side, Flash memory densities range from 16KB to 256KB, with devices available in 32-, 48- and 64-pin QFP and QFN package options. BGA and WLCSP options will be offered at a later date.

“In a nutshell, the SAM D20 family extends the lower end Atmel Cortex portfolio, closing the gap between the AVR XMEGA and the Cortex-M3 and Cortex-M4 products,” Martin explained.

“The SAM D20 – the first series in this new family – offers 48MHz operation (1.77 CoreMark/MHz), single-cycle IO access and supports a pin-toggling frequency up to 24MHz along with an 8-channel event system. In terms of low-power sipping, we’re looking at <150µA/MHz, ~2µA RAM retention and RTC as well as options between internal and external oscillators and on-the-fly clock switching.”

Additional information about Atmels’ s SAMD20 MCU series can be found here.