Tag Archives: UI

Henri wants to help designers create ambient UIs for smart devices


This interactive gizmo is making it easier for designers to explore the ambient UIs of tomorrow’s gadgets. 


Smart devices will undoubtedly continue to proliferate over the coming years. With billions of these connected gizmos expected to hit the market and ultimately make their way into our homes, this leaves one important question: How do you communicate with an Internet-enabled appliance when it doesn’t have a screen? Think about it: Your toothbrush. Your robotic vacuum. Your cooking utensils. Typically speaking, these sort of items emit luminescent cues that are used to catch your attention only when in need of a battery charge or some sort of malfunction. That’s exactly the conundrum design firm Method has set out to solve with what they’re calling Henri.

3043132-slide-s-3-a-box-for-designing-the-screenless

“[At the moment], there isn’t an easy way to design that. You need someone with fairly strong programming skills,” Daniel Nacamuli, Method’s lead interaction designer explains.

Instead, Henri is an interactive gadget that wants to make it easier for designers to explore the ambient user interfaces of IoT devices. The device has been developed to function as an abstract stand-in for a connected home product such your smart lights, thermostats or locks. Housed in a wooden enclosure, the system is comprised of a central box, two control panels and a desktop user interface. The main console is packed with an Atmel based Arduino, a round set of LED lights, and a built-in speaker.

3043132-slide-s-8-a-box-for-designing-the-screenless

Two control panels of steel knobs are linked to Henri, enabling users (even without any sort of coding background) to easily experiment with enchanted interface elements. With just a few turn of its dials, designers can devise a wide-range of patterns of lights and sounds with varying pulses, hues, intensities and durations (zero to 16 seconds), as well as watch them play back in real-time on its central hub.

The Arduino is tasked with recording the sequence and relaying it back to the desktop interface for storage. The main box also syncs with synthesizers so users can simultaneously create sound cues. Later, Henri can reprogram all of this into the final piece of hardware.

3043132-slide-s-5-a-box-for-designing-the-screenless

Additionally, Henri will certainly come in handy for designers across a plethora of industries like gaming. “You could use the controller to fine tune animation on a screen. Say your animation is of the sun setting and that sun is going to move down. Normally they’ll use some animation software with a timeline. What could feel more natural, is to turn the dial on the Henri, to turn the speed,” Nacamuli tells Wired. 

This interactive device is merely one component of Method’s overall efforts to raise awareness around the design of ambient user interfaces for the Internet of Things. The firm unveiled the Henri box as part of a workshop earlier this year in its Bay Area office during San Francisco’s IxDA conference. There, attendees were paired in teams and asked to program light and sound patterns on the Henri to communicate test scenarios.

outcome4-1380

“After initial brainstorming, it was clear we could use this opportunity to solve a set of problems and roadblocks that have inhibited us from designing non-screen based products in our own practice,” the team writes. “Henri allows those concepts to be tested real-time, and enhance the overall capabilities of both the designer and the product. It helped people literally think outside of the box, and be productive while playing.”

Intrigued? Head over to the project’s case study here.

Retro gaming DuinoCube goes live on Kickstarter



Developed by Simon Que, DuinoCube is described as a portable platform that allows Makers and gamers to develop their own retro titles using the popular open-source Arduino environment.

Essentially, DuinoCube comprises two shields: GFX (audio and graphics) and the Atmel-based UI (file system, extra memory, on-board controller chip). Currently, DuinoCube is compatible with the Arduino Uno, Mega and Esplora.

“When you combine a GFX shield and UI shield with an Arduino board, you get a DuinoCube. The UI Shield goes on top of the Arduino and the GFX Shield goes on top of the UI Shield,” Que explained in a recent Kickstarter post.

“With DuinoCube, your Arduino becomes a retro gaming system with the capabilities of classic game systems like the SNES and Gameboy Advance. DuinoCube is highly portable so you can show your friends the games you’ve made.”

Key platform technical specs include:

  • 

320×240 VGA graphics (higher resolutions expected soon).
  • 256 independent objects (sprites).
  • 4 independent tiled layers.
  • 18-bit color in four palettes, each with 256 colors.
  • Hardware scrolling.
  • Hardware collision detection.
  • Stereo audio output.
  • MicroSD card file system.
  • USB gamepad support.

Powered by Atmel’s ATmega328P microcontroller, the UI shield for the Uno/Mega is equipped with an SD card, extra RAM, USB host and controller chip.

Similarly, the UI shield for the Esplora features Atmel’s ATmega328P, SD card, extra RAM, controller chip and Uno-style headers.

“The UI Shields can [also] be used as a generic file system, or as a USB host controller for the Arduino Uno/Mega version,” Que confirmed. “[Plus], the GFX Shield can be used as a generic FPGA shield [by] reprogramming the FPGA with an Altera USB Blaster cable.”

Interested in learning more? You can check out DuinoCube’s official Kickstarter page here.

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.

Designing next-gen UIs with the SAMA5D3 MPU

Intuitive user interfaces (UIs) are ubiquitous for smartphones, tablets and personal media players. But what about user interfaces in the world of industrial automation applications and home control units?

userinterface

Frédéric Gaillard, Atmel Product Marketing Manager, tells Bits & Pieces the use of MIMIC diagrams and traditional switches and rotary controls are still quite commonplace for industrial equipment. Ditto for home thermostats, the majority of which are mechanical.

“There are actually some very good reasons for this, as gloved hands, moisture, and condensation can play havoc with touchscreen controls. The industrial operating environment may dictate large switches for these reasons,” Gaillard explains.

“Safety considerations may warrant the use of traditional control mechanisms such as switches. Nevertheless, equipment manufacturers are keen to update both the functionality and cosmetic aesthetics of their products. Industrial automation equipment is increasingly networked.”

sama5d3flat

Clearly, when it comes to home automation, there is a need for an integrated display and control center to control heating, ventilation and smart-energy monitoring.

“You need a higher performance microprocessor, but with a more intuitive, easy-to-understand user interface (UI). When embarking on a new control panel application, embedded developers are likely to select a microprocessor device rather than a microcontroller,” says Gaillard.

“This is dictated by the processing power required for the connectivity and the need to manage a TFT LCD screen and associated UI. An example of such a microprocessor is the Atmel SAMA5D3 MPU, based on an ARM Cortex-A5 core. It’s 65nm low-power process geometry delivers up to 850 DMIPS (drhystone million instructions per second) at 536 MHz and up to 1,328 MB/s at a 166 MHz bus speed.”

The SAMA5D3 also features a floating-point unit (FPU) for high-precision compute-intensive applications, along with a 24-bit TFT LCD controller and graphics accelerator for image composition. Optimized for use in industrial control and HMI (human-machine interface) applications, the device is equipped with a comprehensive set of peripheral interfaces including dual Ethernet, high-speed USB and dual CAN.

Simply put, the Atmel SAMA5D3 MPU is an ideal candidate for most control panel-oriented designs. With its Cortex-A5 core and vector FPU, the MPU is capable of achieving accelerated graphics processing. Coupled with the 32-bit DDR (dual data rate) controller performing up to 1,328 MB/s, it offers enough raw horsepower to drive a high-resolution screen display via the 24-bit TFT LCD controller block. Resistive touchscreen support is integrated into the device, although one can alternatively interface to an external Atmel maXTouch capacitive touchscreen controller.

sama5d3sketch

On the software side, Atmel has partnered with TimeSys to port the Qt framework and its comprehensive range of development tools for easy UI design. Qt can best be described as a cross-platform application framework with a reliable, easy-to-use toolkit to develop complex graphical user interfaces.

“Qt is based on a comprehensive set of widgets that you use to create a GUI screen design. Within the Qt Creator development environment, the Qt Designer tool allows you to lay out the interface design and plan the human interaction,” Gaillard adds.

“The excellent support for multimedia and 3D graphics, plus all the traditional concepts of text entry, check-boxes, and radio buttons, all help to facilitate the easy creation of industrial interface designs. Indeed, the Qt Designer creates C++ code that integrates into your application, while QML defines all the necessary visual graphical interface elements to create and animate visual interaction.”

Interested in learning more? Check out Atmel’s official white paper on the subject here.

Atmel ATMegas power this homebrew 16-core computer

A talented Maker by the name of Jack Eisenmann has designed a multi-core homebrew computer using 16 ATMega328P microcontrollers.

“The DUO Mega is a multi-core 8-bit computer featuring a robust operating system. The goals of the system are to be efficient, reliable, easy to use, and open source,” Eisenmann explained in an extensive design breakdown posted on OstraCodfiles.com.

“The concepts of this computer should be expandable with more cores, additional memory and alternative processor models.”

According to Eisenmann, each core consists of a single ATMega microcontroller. More specifically, there are actually two types of core: worker and manager (15 worker cores + 1 manager = 16 total cores).

“Cores all share an 8 bit data bus. This data bus sends commands and information between cores. A worker core may not use the data bus unless permitted by the manager core. Each worker core is addressed by an 8 bit identifier,” he continued.

“When the machine starts up, the manager core poles every identifier to find worker cores. Then the manager loads instructions from flash memory into worker cores. The manager core may then behave as an interface for flash read and write operations.”

Eisenmann also noted that the DUO Mega is equipped with a single pool of shared memory in a 32 KB SRAM chip. Meaning, the manager core is responsible for access to shared memory – while also interfacing with peripheral devices.

On the software side, the OS user interface (UI) is based on a stack of windows, with  the DUO Mega supporting color text graphics and windows with 80 by 6 characters. All programs are written in Megaliter bytecode interpreted by the worker cores.

“Each program will run on at least one worker core. The number of worker cores allocated to a program depends on user preference. When the user opens a program, the operating system will first prompt the user for the number of cores to allocate,” said Eisenmann.

“One window will be dedicated to the operating system. This window is called the manager window, and cannot be closed. The manager window displays program information, a clock, files, directories and other useful information.”

Additional information about the Atmel-powered Duo Mega, including a full spec breakdown, can be found here.