Tag Archives: embedded

Bikiros is a smart guardian for your child’s bike

Bikiros is a smart bicycle accessory and app that ensures children are safe while learning proper riding skills.

Learning to ride a bike is one of the biggest milestones and challenges in your child’s life. But the question is, how can you teach your kid to bike while having a peace of mind? With cycling attributed as the top cause of children’s injuries, parents need a device that helps with safety awareness and teaches their children how to maneuver their bikes without getting hurt. This is a problem that one Hong Kong startup is looking to solve. Bikiros monitors, evaluates and educates children on biking safety.


The accessory uses four key features to teach children to be better cyclists: keeping an eye on risky biking behaviors, predicting immediate threats in the area, warning when risks are detected, and incentivizing through rewards and games. Risky biking behaviors could include late braking, tailgating, handling obstacles, high-speed cornering and more. After sensing dangerous behavior, Bikiros will then warn the biker by alerting them. After evaluating the rider’s weaknesses, its accompanying app will educate through games, comics and cartoons to teach the child better skills and ways to respond to risks while riding.

There are three components to the safety riding accessory: a rear, wheel and front module. The rear module is packed with an ARM Cortex-M3 MCU, supersonic sensors, a six-axis accelerometer and gyroscope, a warning LED, GSM and Bluetooth connectivity, GPS and a 6000mAh battery. The wheel module is equipped with a six-axis accelerometer and gyroscope speedometer. Lastly, the front boasts another ARM-based MCU and three supersonic sensors, along with a horn and buzzer, a photoresistor, and a temperature and humidity sensor.


The sensor-laden device is able to perceive all kinds of behaviors and match them according to the current biking environment to best determine if there is a potential risk that requires looking into. Through a proprietary algorithm and the embedded supersonic sensors, Bikiros can accurately pinpoint objects that may pose threats to the biker and take the necessary actions. And should impact be detected, it will trigger followup procedures to ensure help is on its way.

Tomy Chan, CEO of Bikiros, founded the company to provide others with second chances. He stated, “Last year, I was paralyzed and hospitalized for 11 hours due to thyrotoxic periodic paralysis. I felt like I was given a second chance and inspired to do what I believe in, technology could help to protect lives. And safety awareness is most important as bad choices leads to accidents and regrets.”

Want to keep your children safe? Head over to Bikiros’ Indiegogo campaign, where the startup is raising $45,000. Their estimated delivery date is set for March 2016.

This 3D-printed smart cap can sense spoiled milk

Researchers have 3D-printed a smart cap for a milk carton that detects signs of spoilage using embedded sensors.

3D printing has grown by leaps and bounds in recent years, ranging from affordable prosthetics and medical implants to on-demand toys and cars. However, a group of UC Berkeley engineers have pointed out, one thing that was missing up until now was the ability to produce sensitive electronic components. So in collaboration with researchers at Taiwan’s National Chiao Tung University, the team has set out to expand the already impressive portfolio of 3D printing technology to include electrical components, like resistors, inductors, capacitors and integrated wireless electrical sensing systems. In order put this advancement to the test, they have printed a wireless smart milk carton cap capable of detecting signs of spoilage using embedded sensors.

(Source: Sung-Yueh Wu)

(Source: Sung-Yueh Wu)

“Our paper describes the first demonstration of 3D printing for working basic electrical components, as well as a working wireless sensor,” explained Liwei Lin, a professor of mechanical engineering and co-director of the Berkeley Sensor and Actuator Center. These findings were published in a new open-access journal in the Nature Publishing Group entitled “Microsystems & Nanoengineering. “One day, people may simply download 3D-printing files from the Internet with customized shapes and colors and print out useful devices at home.”

While polymers are typically used in 3D printing given their ability to be flexed into a variety of shapes, they are poor conductors of electricity. To get around this, the researchers devised a system using both polymers and wax. They removed the wax, leaving hollow tubes into which liquid metal was injected and then cured. The team used silver in their latest experiments.

The shape and design of the metal determined the function of different electrical components. For instance, thin wires acted as resistors, and flat plates were made into capacitors. The electronic component was then embedded into a plastic cap to detect signs of spoilage in a milk carton. A capacitor and inductor were added to the smart cap to form a resonant circuit. The engineers flipped the carton to allow a bit of milk into the capacitor, and left the carton unopened for 36 hours at room temperature.

(Source: Sung-Yueh Wu)

(Source: Sung-Yueh Wu)

From there, the circuit sensed the changes in electrical signals that accompany increased levels of bacteria. These changes were monitored with a wireless radio-frequency probe at the start of the experiment and every 12 hours thereafter. Upon completion, the smart cap found that the peak vibration frequency of the room-temperature milk dropped by 4.3% after 36 hours. In comparison, a carton of milk kept at 4°C saw a relatively minor 0.12% shift in frequency over the same time period.

“This 3D-printing technology could eventually make electronic circuits cheap enough to be added to packaging to provide food safety alerts for consumers,” Lin added. “You could imagine a scenario where you can use your cellphone to check the freshness of food while it’s still on the store shelves.”

Looking ahead, the researchers are hoping to further develop this technology for use in health applications, such as implantable devices with embedded transducers that can monitor blood pressure, muscle strain and drug concentrations.

Interested? Read more about the study here.

These sensors can monitor breathing and detect presence through walls

Novelda introduces a pair of new sensor modules for detecting human presence and monitoring respiration.

Norwegian sensor developer Novelda has launched a pair of adaptive smart sensor modules that are capable of monitoring human presence, respiration and other vital information. Based on the company’s proprietary XeThru technology, the unobtrusive sensors can detect presence from chest movement, as well as rate and depth of breathing, allowing patterns to be tracked in real-time.


This is because XeThru technology uses radio waves rather than infrared, ultrasound or light, which enables the Atmel | SMART ATSAM4E16E based modules to ‘see through’ an assortment of objects, like lightweight building materials, duvets and blankets, to provide non-contact sensing at a range of up to nearly five meters. Impressively, each module consumes less than 400mW power and remains unaffected by dust, smoke, moisture, darkness or any other airborne debris it may encounter.

“A vast number of sensors and sensor technologies exist today, the most common being IR, capacitive, ultrasonic, and microwaves. Due to the strengths and weaknesses of different technologies, sensors are typically designed for only one task, such as detecting presence, motion, speed or distance. This is typically at one defined range or at very short range, or only on moving or static objects, and so forth,” the team explains. “In applications where you want to combine features from several sensor technologies and/or hide your sensor due to security or other design constraints, your options are limited. This is why we set out to develop our XeThru technology and gave it the abilities it has today.”


First, the XeThru X2M300 module is intended for smart home automation where its capability for detecting human presence while being integrated into a building’s structure enables hidden, tamper-proof sensing. Aside from security and comfort applications, such as the convenient actuation of lighting and environmental controls, this SoC can enhance safety throughout the house — especially for the elderly or those living alone, using the absence of normal activity to raise an alarm. To get started, users simply affix the sensor with its main sensitivity direction pointing toward the area to monitor.


Meanwhile, the X2M200 sensor module is designed for respiration monitoring of people of all ages for health and well-being purposes, especially for sleep improvement systems and spotting nighttime abnomralities. XeThru’s non-contact technology offers a reliable yet non-intrusive way to observe respiration and movement, capturing breathing patterns and frequency without being blocked by blankets or other obstacles during a slumber.

Novelda has also launched a XeThru Inspiration Kit — an easy-to-use, hardware and software platform that includes the pair of sensor modules and interface boards for PC connection. This provides developers with a simple way to devise working proof-of-concepts and carry out the prototyping process. The XTIK1 gives users all the necessary tools to evaluate the performance of the sensors using the supplied software that supports module configuration, visualization of sensor data and the ability to record data for further analysis.


Beyond that, the kit comes with XeThru’s Explorer software and a programmer unit should the firmware need to be updated. In which case, a JTAG programming interface available on the USB communication board is used to upgrade the program running in the module along with an Atmel-ICE programming probe. The probe connects to the PC via USB, while a ribbon cable connects from the Atmel ICE SAM port to the 10-pin connector on the USB communication board. As Novelda notes, the procedure requires the download and installation of Atmel Studio.

Intrigued? You can head over to its official page to make more ‘sense’ of the topic.

IAR Systems introduces static code analysis in Atmel AVR32 tools

The latest version of IAR Systems’ toolchain integrates C-STAT as well as stack usage analysis and parallel build.

IAR Systems, a leading provider of software tools for embedded systems, has revealed several major updates to its complete embedded development toolchain IAR Embedded Workbench for Atmel AVR32. The latest version, 4.30, introduces the add-on product C-STAT for completely integrated static code analysis, as well as stack usage analysis and shortened build times through parallel build.


Static analysis finds potential issues in code by delving deeper on the source code level, given that errors such as memory leaks, access violations, arithmetic errors and array and string overruns can cause security issues and affect the overall performance and quality of a product. By using static analysis, developers can identify these errors early on, and ultimately, minimize their impact on the finished product and the project timeline. Aside from improving the code quality, the analysis can assist in aligning with industry coding standards. C-STAT is a powerful static analysis tool that checks compliance with rules as defined by the coding standards MISRA C:2004, MISRA C++:2008 and MISRA C:2012, as well as hundreds of rules based on for example CWE (the Common Weakness Enumeration) and CERT C/C++. Users can easily select which rule-set and which individual rules to check the code against, and the analysis results are provided directly in the IAR Embedded Workbench IDE.


The new version also adds stack usage analysis. The stack is a fundamental property of an embedded system and a proper setup of the stack is essential to system stability and reliability. However, calculating the stack space is notoriously hard, making worst case maximum stack depth very useful information as it greatly simplifies estimates of how much stack an application will require. With stack usage analysis enabled in IAR Embedded Workbench, a stack usage section will be added to the linker map file with listings of the maximum stack depth for each call graph root. The analysis process can be customized to take into account such constructs as calls via function pointers and recursion. The output can optionally be generated in XML format for post processing.


In the compiler, parallel build has been introduced to help accelerate project times. The user can easily set the compiler to run in several parallel processes and make better use of the available processor cores in the PC. This feature can have a major impact on reducing the build times of the compiler.

As many of you are well aware, IAR Systems provides a plethora of powerful development tools for Atmel 8-bit and 32-bit families. And, IAR Embedded Workbench for AVR32 is a complete C/C++ compiler and debugger toolchain that creates the fastest, most compact code in the industry. Interested? Head over to its official page here to learn more.

Moscase wants to make your smartphone even smarter

Moscase enables users to customize their smartphones with modular backplates, adding new and exciting functions.

When it comes to iPhones, there are really only a couple of additional accessories users are interested in: decorative cases and companion health gadgets. And yes, you can shell out a hundred or so dollars for a standalone fitness tracker, but one South Florida-based startup is hoping for consumers to realize that they’re already schlepping around an even more powerful one, their phone case.


Not only can the aptly named Moscase protect your device from impending drops, but can track your health as well. This is accomplished through various integrated components, ranging from an optical sensor for heart rate and oxygen saturation to a heat sensor for temperature. Beyond that, there are also impedance sensors that can measure stress levels, body-fat percentage and bioresonance by sending electromagnetic currents through your body. This data is then collected and displayed by an accompanying mobile app along with some helpful tips.

“It is the most intuitive and comfortable way of tracking your health. By seamlessly becoming one with your phone, you never have to think about it,” the team writes.


Aside from its embedded sensors, the product packs a lightning connector port, a charger outlet, as well as an Atmel based MCU (still awaiting word as to which one). Moscase connects to the iPhone via the lightning connector for speed, reliability and energy efficiency. It doesn’t use Wi-Fi or Bluetooth for transferring data.

Its creators also designed interchangeable active backplates, which could provide iPhone 6 users with additional features like a breathalyzer, hi-fi speakers, a solar cell charger, extra battery and storage, as well as an e-paper reader.


“Every Moscase comes with a free passive backplate, which is an optional add-on that offers a bit of extra protection, or just completes the look for those of you who prefer to cover the back of your smartphones,” the team adds. “Each active backplate has its own distinct purpose that completely reimagines what smartphones are capable of.”

Ready to add a little oomph to your iPhone 6? Moscase is currently seeking $150,000 on Kickstarter and will be available in four colors for initial production. The final choices will be narrowed down from eight colors, including lack, silver, gold, blue, yellow, red, green and white. Shipment is set for October 2015.

Video: Taking a closer look at the Atmel | SMART SAM S70 and E70 MCUs

ARMDevices.net explores the “world’s fastest ARM Cortex-M.”

Earlier this year, Atmel expanded upon its Atmel | SMART ARM-based microcontroller family with the launch of four new series of Cortex-M7 based devices, including the SAM S70 and E70 MCUs.


The new devices enable users to scale-up performance and deliver SRAM and system functionality, while keeping the Cortex-M family ease-of-use and maximizing software reuse. The MCUs contain advanced memory architectures with up to 384KB of multi-port SRAM memory, out of which 256KB can be configured as tightly coupled memory delivering zero wait state access at 300MHz. With over four times the performance of current Atmel ARM Cortex-M based MCUs running up to 300MHz, larger configurable SRAM up to 384kB and higher bandwidth peripherals, the new processors give designers the right connectivity, SRAM and performance mix for their industrial, connectivity and automotive designs.

In particular, the SAM S70 series is based on the Cortex-M7 core plus a floating point unit (FPU) extending the general purpose product portfolio with maximum operating speeds up to 300MHz, up to 2MB of Flash, dual 16KB of cache memory and up to 384KB of SRAM with an extensive peripheral set including high-speed USB host and device plus high-speed PHY, up to 8 UARTs, I2S, SD/MMC interface, a CMOS camera interface, system control and analog interfaces.


Aside from the S70 series features, the recently-revealed SAM E70 also includes a 10/100 Ethernet MAC and Dual Bosch CAN-FD interfaces with advanced analog features making them ideal for connectivity applications. The SAM E70 is upwards compatible with Atmel’s SAM4E series.

“All the series offer two Advanced Analog Frontend (AFE) with dual sample and hold capability and Up to 16-bit resolution with hardware oversampling. They also have programmable gain for small signal input. All series offer real-time event management through direct connection between PWM, Timer and ADC for motor control application,” ARMDevices.net writes. “Both series are based on the same feature set, the only difference is coming from the Ethernet, CAN support (SAME70 integrates Ethernet and CAN). Atmel offers all series in BGA and QFP from 64 to 144 pins. Small 64-pin pin count option offers an entry level form factor high performance MCU. All series support the extended Industrial temperature range from -40 to 105°C.”

Watch below as ARMDevices.net catches up with Lionel Perdigon, Atmel Product Marketing Manager, to discuss the latest addition to the Atmel | SMART family.

Cross-board and cross-vendor embedded development with PlatformIO

Ivan Kravets, PhD, Researcher and Software Architect, explains how PlatformIO is a cross-platform code builder and the missing library manager.

We live in a time where the wall between the hobbyist and microcontroller (MCU) world has been completely broken. Just a few years ago, no one could have imagined that MCUs would go on to become popular with people who are not familiar with electronics. Nowadays, you don’t need to have deep knowledge in PCB design, assembly language or become buried under MCU application notes to get your first experience with embedded world.

Moreover, vendors have realized that there is a need to decrease entrance threshold and to propose alternatives to existing professional development kits. It was at this point when popular prototype boards (like the Atmel based Arduino) were conceived. Comfortable board form-factor, rich peripheral and huge community of enthusiasts gave rise to a new trend, which can be called “Embedded Boards for Everybody.”

Still, there is a problem related to programming instruments. It’s excellent that MCU vendors have spent quite a bit of efforts to create rich HDKs/SDKs and comfortable IDEs which allow the performing of hardware debugging and tracing. However, all of these features are of interest mostly for those who have already decided which specific MCU they will use for the project. So, at this point the market has generated another demand: to make cross-MCU development easy. This is where Arduino and its burgeoning community have played an important part: cross-platform processing-based Arduino IDE; simple and easy-to-use wiring-based framework with high-level API; incredible count of shields (sensors, actuators, etc.), and a lot of different libraries which cover significant part of hobbyist tasks. These have all made embedded development much easier. Yet, while Arduino enables development for varying MCUs, it is still a commercial product. As a result, it is inherently restricted to Arduino boards.

Saving time for the task in hand

It doesn’t come as a big surprise today when an interesting embedded project is invented by people who have not had any earlier professional experience with MCUs. I feel that this phenomenon can easily be explained with my motto: “Creativity comes from talent and never from knowledge.” Talented people and those with ideas are interested in quick prototype instruments which don’t require big efforts to use them. Many of these people prefer to concentrate on the task in hand, and don’t want to install too much of additional software, play with confused manual or get used to new additional IDE… So far so good, as many of vendor IDEs do address these issues.

However, what if for your next project, you need some board or MCU which aren’t supported by your favorite vendor? With devices becoming increasingly smaller, wireless and battery-powered, this is occurring more frequently. Then, all of a sudden, you have a problem: development platforms from the different vendors tend to recommend their own IDEs and approaches. Subsequently, you’re likely to have several IDEs installed, each with its own requirements (to make things worse, these requirements sometimes conflict with each other), and with an ongoing switching back and forth. Ouch! It’s not before long that this quickly becomes a major headache, and ironically, headache is exactly what these development platforms aim to avoid.

Developer, meet PlatformIO. PlatformIO, meet developer.

Here is where PlatformIO comes in, an open-source cross-platform code builder and library manager (available on GitHub). After many months of development, we have finally released PlatformIO 1.0 which has been recommended for production use.

I admit that, as one of the authors behind PlatformIO, I cannot be 100% objective when speaking about it, but I’ll try.

PlatformIO allows users to:

  • Decide which operation system they want to run development process on (You can even use one OS at home and another at work.)
  • Choose which editor to use for writing the code (It can be pretty simple editor or powerful favorite IDE.)
  • Focus on the code development, significantly simplifying support for the different development platforms, boards and MCUs.

Cross-platform code builder


PlatformIO is independent from the platform, in which it is running. In fact, the only requirement is Python, which exists pretty much everywhere. What this means is that PlatformIO projects can be easily moved from one computer to another, as well as that PlatformIO allows for the easy sharing of projects between team members, regardless of operating system they prefer to work with. Beyond that, PlatformIO can be run not only on commonly used desktops/laptops but also on the servers without X Window System. While PlatformIO itself is a console application, it can be used in combination with one’s favorite IDE or text editor such as Arduino IDE, Eclipse, Visual Studio, Vim or Sublime Text.

Alright, so PlatformIO can run on different operating systems. But more importantly, from development perspective at least, is a list of supported boards and MCUs. To keep things short: PlatformIO supports over 100 embedded boards (all boards which are supported by Arduino IDE) and all major development platforms including Atmel AVR and Atmel | SMART, among many others.

How it works

Without going too deep into PlatformIO implementation details, work cycle of the project developed using PlatformIO is as follows:

  • Users choose board(s) interested in project configuration file – “platformio.ini.”
  • Based on this list of boards, PlatformIO downloads required toolchains and installs them automatically.
  • Users develop code and PlatformIO makes sure that it is compiled, prepared and uploaded to all the boards of interest.

Cross-board code and continuous integration

As aforementioned, PlatformIO supports cross-board code development: multiple boards can be selected in a single project, and PlatformIO will apply all respective environments and will compile the code against each of boards within the project. And for the icing on the cake, this feature can be easily integrated with Continuous Integration System (such Jenkins, Travis CI and Circle CI). It should help to ensure that, at any point, a code at least compiles on all target boards, thereby eliminating costly, time-consuming and error-prone process of fixing these cross-platform issues at later stages, when your team members have already forgotten what the code was about.

The missing library manager


With an overall trend heading towards open-source, embedded development is no exception. Indeed, there are countless embedded libraries already available today, such as high-level communication with sensors, actuators or even full-fledged IoT implementations. Nevertheless, every time you need something like it, there is a big underlying question around where to finding this specific library, and how to make it work with your environment.

To address this problem, PlatformIO Library Manager provides an ecosystem for library writers and library users. Using library manifest file (library.json), writers have an ability to describe library. This manifest is not only about such things as authors, description, keywords, and version, but first and foremost about technical information, ranging from location of source code and examples to CVS repository and dependencies. This manifest file is generic enough to be used by other library managers (if somebody else wants to write them).

For the library users (aka developers), PlatformIO provides two ways for searching for libraries. The first way is via Command Line Interface, the other is Web 2.0 Library Search with functionality such as library categories, different framework and platform filters, and advanced search syntax with boolean operations.

PlatformIO Library Manager can be integrated into the most popular IDEs and is capable of extending their functionality, including all-important automated updates of installed libraries. For instance, Arduino IDE benefits of using PlatformIO Library Manager are summarized in the following table:



As noted above, as an author, I cannot be objective when speaking about PlatformIO. However, I am sure that for any kind of cross-board and cross-MCU development PlatformIO provides substantial benefits. PlatformIO takes the hassle out of installing all the tool chains you need, and allows you to build your code for many boards with a single command. PlatformIO Library Manager not only helps you to find and install libraries, but has an option to keep them up to date as well.

And as PlatformIO is an open-source project, you shouldn’t care about price or vendor lock-in. So, what are you waiting for? Give it a try (and if you don’t like it, you’ll get back that zero bucks you’ve paid for it, some restrictions apply, batteries not included).

UPDATE: PlatformIO 1.2.0 is now available. To explore the release history, you can head here.

Tessel 2 is a $35 development platform for the IoT

Tessel 2 is an affordable, accessible and robust dev platform that lets Makers build connected hardware devices.

Technical Machine recently announced their latest Wi-Fi dev platform for the burgeoning Internet of Things (IoT). The Tessel 2 packs a number of new features as its predecessor, including extremely reliable Wi-Fi, an Ethernet jack, a pair of USB ports, and a system that runs real Node.js/io.js. Beyond that, the team has added support to enable Makers to scale and streamline production.


“The Tessel platform was created to abstract away the initial hurdles of hardware development. Tessel opens up connected device development to people who want to build embedded devices, but don’t have the time to start with Ohm’s law and work their way up. Tessel 2 takes the promise of Tessel 1, adds features and a path to production, and cuts the cost in half,” the crew writes.

The original Tessel was designed to be an extremely expedited way to devise prototypes through high-level languages, plug-and-play extensibility and the use of a great package manager for installation. However, no matter how quickly you got started, it was a bit difficult to ever go beyond just a single mockup. Subsequently, its creators sought out the most reliable Wi-Fi chips on the market, before finally finding a solution in wireless router systems-on-chips.

The new dev platform employs a processor/coprocessor architecture, combining an Atmel | SMART SAM D21 Cortex M0+ MCU to control I/O and a Mediatek MT7260n Wi-Fi router SoC to run user code, host USB devices and handle the network connections. The two chips are connected by a SPI bridge that includes the on-board Flash. Other notable features entail 64 MB of DDR2 RAM, 32 MB of Flash storage, two high-speed USB 2.0 ports, a microUSB port, an Ethernet port, two module ports, a button, a bunch of LEDs, and of course, it is still programmable with JavaScript.


The SAM D21 acts as a coprocessor and handles real-time, low-level I/O through the module ports, USB communications, as well as programming the device altogether. Meanwhile, the entire system is powered by the single microUSB device port.

Tessel 2 is equipped with router-grade 802.11b/g/n Wi-Fi, 16 GPIO broken out as a pair of multi-purpose module ports, individual control over and protection for all outward-facing power buses (USB and module ports), and a form factor designed for abstraction and flexibility in the hardware, software, and mechanical worlds as you scale from prototype to production. Beyond that, Tesel 2 runs 20 times faster than its older sibling, offers full Node and io.js, and supports Rust and Python along with other languages in the near future.

“The board’s bill of materials and physical characteristics are only part of the picture. We spent a long time thinking about how we wanted to architect Tessel to push it beyond ‘another dev board’ and clear into ‘this platform is exactly what I needed’ territory,” Eric Kolker explains.

Still, the latest iteration of the board includes an expansive plug-and-play ecosystem, ranging from an accelerometer and infrared to BLE and distance modules.

“Tessel 2 supports USB modules, so a USB webcam, USB speakers, and a few other modules will move into this sphere. This will allow us to reduce the cost of these modules and get you a higher-quality experience. USB compatibility also lets us easily support new third-party plug-and-play hardware capabilities in a similar capacity to current Tessel modules,” Kelsey Breseman adds.

Tessel 2 is currently available for pre-order with an estimated delivery set for November 2015. Want to delve deeper? You can head over to its official page here.

NOTE: Since publishing this blog post, Tessel has gone open source. Ownership and direction of the project now belongs to a steering committee which exists independently of Technical Machine. This group exists as part of the Dojo Foundation.

IAR Systems updates development tools for ARM Cortex-M7 devices

IAR Systems shortens build times in leading development toolchain for ARM-based devices.

Version 7.40 of the incredibly-popular IAR Embedded Workbench for ARM has introduced support for ARM Cortex-M7 microcontrollers from Atmel. Beyond that, the tools now feature parallel build for shorter build times, as well as an integration of IAR Systems’ new tool C-STAT for powerful static code analysis.


As you know, the ARM Cortex-M7 processor is the most recent addition to the ARM Cortex-M family. Not only focused on energy efficiency and high-performance, the MCUs are intended for use in a wide-range of applications including automotive, industrial automation, medical devices, and of course, the burgeoning Internet of Things.

The new version of IAR Embedded Workbench adds support for ARM Cortex-M7 devices from Atmel, including support for the double precision floating point unit. This covers the recently-revealed Atmel | SMART SAM E70, SAM S70 and SAM V70. In addition to these MCUs, support for a number of ARM Cortex-based devices from several other vendors have also been added.

In order to speed up build times, version 7.40 introduces parallel build. Users can easily set the compiler to run in several parallel processes and make better use of the available processor cores in the PC. This feature can have a major impact on reducing the build times of the compiler.

The add-on product C-STAT for powerful, integrated static code analysis is now available. Static analysis finds potential issues in code on the source code level and can be used to prevent errors such as memory leaks, access violations, arithmetic errors and array and string overruns. The analysis performed by C-STAT improves code quality and aids alignment with industry coding standards. It checks compliance with rules as defined by MISRA C:2004, MISRA C++:2008 and MISRA C:2012, as well as hundreds of rules based on CWE (the Common Weakness Enumeration) and CERT C/C++, for example. Users can easily select the rule set or individual rules to check their code against, and the analysis results are provided directly in the IAR Embedded Workbench IDE.

Interested? Head over to IAR Systems’ official page to learn more. Also, as of late last year, over 1,400 new example projects could be found in IAR Embedded Workbench, which supports Atmel’s entire portfolio of MCUs and MPUs.

VIPER is a cross-platform Python IoT design suite

VIPER is a smart object development suite that brings cloud and IoT connectivity to your projects with just a click of the mouse.

New York City-based startup ThingsOnInternet has launched a Kickstarter campaign for their new easy-to-use development suite for interactive Internet of Things (IoT) designs. As its name implies, VIPER — or “Viper Is Python Embedded in Real-time” — makes it possible for Makers and embedded designers to create their next connected project in Python for Arduino, UDOO and Spark, all in in real-time. And, unlike other solutions that already exist today, this collection of products is platform-agnostic and compatible with all sensors and kits.


The idea was first conceived after conducting some detailed market analysis, where the company discovered that designers, Makers and programmers all faced a similar set of challenges. In hopes of simplifying how “things” are brought onto the Internet, VIPER converged a series of components to better streamline the process. This included an IDE to manage and program the boards, a Virtual Machine to serve as its operating system, a plug-and-play TOI Shield, an extensive library of ready-to-use functions, and a mobile app to act as the interface for smart objects. On top of that, it’s also cloud-ready. With just a little coding, users can develop a wide-range of IoT applications, ranging from interactive storefronts, to home and industrial automation systems, to art and museum installations, to smart farming.


“Designers aim to create behaviors that can co-exist at the same time and they are often frustrated by ‘anomalous’ and unexpected results on their projects. Makers, who have higher competences, invest a lot of time in understanding how to code multithreaded behaviors, how to manage interrupts in C++, etc. and sometimes their code become really hard to be maintained. Programmers are frustrated by executing ‘boring’ tasks for their customers, one of them is related (again) to multithread, interrupts, callbacks, timers and exceptions,” ThingsOnInternet writes.

Since millions of developers already know Python, VIPER decided to make the programming language readily accessible for commercial interactive products as well, therefore amplifying the potential for smart objects to be as pervasive as mobile devices in their ease of design interactivity. To do this, VIPER provides a browser-based, minimal-installation development environment where users can write code with extensive library support and have it executed on any Arduino-like board. What’s great for designers is that, with VIPER, it leaves them able to focus on the features and functionality, not the tediousness, along with a mobile app to control their creation for free.


“Devices like Arduino, UDOO, ST Nucleo, Spark Core, Photon and the last released Spark Electron are microcontroller boards that revolutionized the world of amateur and semiprofessional electronics. They allowed hundreds of thousands of people around the world to give objects a new life by making them interactive, able to communicate and interact with humans,” the team explains. “Unfortunately, programming them is quite easy for engineers and computer scientists, while most of the users are able to exploit only part of the huge potential of such incredible boards. Here comes the idea of TOI to extend the world of smart and interactive object design to everyone. VIPER allows in a few clicks to convert a common lamp in a smart assistant that reminds us to take the umbrella, turn on the air conditioning while monitoring the house for intrusions.”

In order to use the suite, Makers and developers simply download a one-time package from the company’s website onto either their PC or USB stick. Beyond that, VIPER includes an embedded, portable Python 3.0 engine to help make everything as easy as can be. Users can then launch the VIPER IDE and begin making. All that’s left from there is connecting its accompanying mobile app to serve as the UI for the project.


VIPER runs on an Arduino Due (SAM3X8E), and can even be ported onto the recently-revealed Atmel | SMART Cortex-M7 family. As its creators reveal, code developed on an Arduino Due can also be implemented onto these new MCUs in a matter of two clicks. Furthermore, the suite features an Arduino and Spark Proton-compatible, plug-and-play TOI shield. Simply attach either a Due or Photon to the shield and start playing with any of the VIPER examples found in its library. (This collection of modules includes CC3000 Wi-Fi for Spark Core and Adafruit Shield, Adafruit/Sparkfun Thermal Printer, Adafruit NeoPixel LED, RTTTL smart melody player, Streams library, as well as TCP and UDP network protocols.) Aux ports are even included, enabling the use of other sensors like Grove, ThinkerKit, Phidgets, and Adafruit NeoPixel LED strips.

Through its IDE, users can ‘viperize’ theirs boards by installing them using the VIPER Virtual Machine. Once completed, a board is no longer a simple Arduino Due, Spark Photon or UDOO; instead, it has a multi-threaded, real-time operating system running on it, and a virtual machine ready to execute compiled Python 3 scripts. Ready to design your next smart project? You can head over to its official website, or check out the team’s recent successfully-funded Kickstarter campaign here.