Tag Archives: embedded design

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-embedded-development

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

platformio-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:

Table

Conclusion

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.

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.

template-screenschot-b-trace-timeline-crun-micrum

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.

Leadership in IoT connectivity with Bluetooth Smart


Kaivan Karimi, Atmel VP and GM of Wireless Solutions, provides insight into the Internet of Things and the role of BLE connectivity. 


It has been a year since my last blog at my old gig, and what a year it has been. I am now at Atmel managing the wireless MCUs business unit, and with my team busy building the best in class portfolio of cloud-ready wireless MCUs and MPUs. Last year was a great ride, and things will only get better from here onward, as we now have established a solid IP base, a best-in-class execution engine, and a great ecosystem of partners to collectively offer cost-optimized Internet of Things (IoT) edge-node system solutions.

Six years ago when a few of us in the industry were evangelizing what in those days we called “Industrial Wireless” (and now dubbed IoT), we always talked about role of hierarchical gateways, connecting the “edge nodes” or “things” to the “cloud.” Some of those “things” use your smartphone as their gateway of choice to connect to the cloud, while others will use a new generation of “smart gateways” to manage cloud-based services. Even in the case of the new smart gateways, some of the things connected to them may get “provisioned” using your smartphone. With smartphones almost ubiquitously having integrated Bluetooth Smart Ready, one can see how BLE (Bluetooth Low Energy – aka Bluetooth Smart) plays an important role in the connectivity infrastructure of IoT.

Communication

This year’s CES was as amazing as ever with even more attendees, exhibits and technology than in 2014. As usual, a sea of tech gadgets shouting at you while you walking through the halls, “Look at me and remember me because I am the next best things since slice bread and I am here to stay!” And, sometimes that actually happens (HD Television – CES 1998) and sometimes it doesn’t (3D Television- CES 2009).

CES 2015 was a special one for me, and served as a sort of coming out party for our new wireless lineup. There, we announced a pair of products: a standalone Bluetooth Smart SoC and a dual-mode Wi-Fi/Bluetooth platform. (I will spend more time on our combo chip in the near future, but wanted to focus this blog on our BLE chip.)

It started when we met with our engineering team and discussed our target spec for our new BLE SoC. It was simple; last year the small German mixed signal company had the best-in-class BLE solution in the market. Based on the marketing material they had readily available on the web, their solution had the best peak transmit and receive current (less than 5mA), it had the best leakage current of 600 nA (in certain mode), and it was the smallest SoC out there 2.5×2.5mm WLCSP. Furthermore, the solution also listed the usual suspect key applications as smartphone accessories, PC and tablet peripherals, sport and fitness tracking, health monitoring, self-tracking, watches, remote controls, 3D glasses, etc.

As it turned out, by mid-last year the engineering team of the German company forced their marketing team to match their peak active current numbers to the reality of the chip, as well as adjust their leakage current to reality for adequate memory retention. The leakage current listing is related to the amount of memory you need to retain for the modem to go back to the original state after coming back to active mode, and best in class BLE modems need minimum 8K of memory space to retain their state, and anything less than that would require reestablishing the link, which burns a lot more power. Listing your leakage current for anything less than 8K of memory retention is misleading. Needless to say, the spec being advertised for that chip are now different than their original product brief.

In any business best-in-class doesn’t come easy, and is as it is said to be the result of a lot of sweat and tears… So when we told our team that we wanted them to beat those spec by 30%, with samples for March 2015, you can imagine the looks we got in return. The team however took it upon themselves to beat our targets. The result: BTLC1000. Announced at CES, notable features from the press release included:

  • Bluetooth Smart solutions set new low-power standards with at least 30% power savings compared to existing solutions on the market in dynamic mode
  • Packaged in extremely small 2.1mm x 2.1mm WLCSP package to enable design flexibility for all devices
  • Solution can be combined with any Atmel MCU for a complete IoT platform

In the body of the announcement we also mentioned “sub-1µA in standby mode, while delivering the industry’s best dynamic power consumption, increasing battery life by as much as one year for certain applications.” Since this blog is not under NDA, I cannot get into more details on exact numbers, only that they are real, and they do indeed beat the relevant best-in-class BLE product specifications out there by >30%. Like true IoT products, this product is built from the ground up for IoT applications and battery operations, and not a generic modem repurposed and rebranded as an IoT product.

BTLC

Small footprint such as 2.1mmx2.1mm facilitates innovative form factors for a variety of classes of products, while also enables adding BLE functionality to your existing products using other types of wireless connectivity for provisioning only.

A common misconception for the Internet of Things is that everyone calls IoT the era of “always on” connectivity. However, in reality most of the “things” in IoT spend most of their life in “off” mode, and only based on an event, or predetermined policy at certain intervals of time they wake up, hence leakage current is extremely important. A lot of the BLE-related products use lithium coin cells which are made to work with standard current draws of 1 to 5 mA. There are many factors such as the discharge rate, the discharge profile (constant vs. periodic burst such as burst peak current), operating temperature, humidity, the associated DC/DC converter, etc. that effect the battery life. According to one of our Japanese customers who also was in battery manufacturing business, while these batteries can tolerate peak currents of much higher than 5mA (e.g. the BLE chip from the company in Scandinavia, the one from the Cambridge based company that just changed hands, the one from the company from Texas, etc.), every time that you cross the 5mA threshold, you reduce the life of the battery. That is why less than 5mA peak current matters.

SmartConnect

Our BLE solution will be offered using our SmartConnect framework and methodology, which black boxes the complexities associated with using wireless connectivity, and let the MCU programmers focus on their application development, not needing to become wireless connectivity experts to participate in the IoT market.

At Atmel, we are also known for our activities within the Maker community, particularly Arduino users. As a result, we have already started giving access to the Maker community to our wireless products using our Arduino Wi-Fi shield, which was released back in September 2014. Just imagine what kind of innovations can come from tinkerers, hobbyists and developers if you give them access to our BLE Arduino shield. Some of the IoT categories such as wearables, health and fitness, and portable medical electronics, among others, have already chosen BLE as their wireless connectivity of choice to communicate with the smartphones at their gateway of choice. I am sure the Maker community will come up with additional categories.

Tutorial: Building cool projects with MCUs (Part 3)

As we proceed onto the third portion of this microcontroller tutorial, let’s first revisit what we have accomplished thus far.

In Part 1, we defined what a microcontroller actually was. I wanted to get everybody on-board (no pun intended) for this, so I started from scratch. Feel free to jump back there if you need a refresher.

Then in Part 2, we looked at the various types of MCUs. And, it turns out that there were a lot! However, by using Atmel’s selection tool, we managed to narrow it down to a few different ones, before choosing a winner — an ATmega32U2. Why? Mainly because it can be programmed through the USB interface without any extra components or tools, and since it did not have too many pins – so we should be able to solder it at home.

Now, the time has come for us to design the circuit diagram. We’ll start with outlining what we need, then we’ll dive into the datasheet to figure out exactly how we can do this.

Microcontroller in a circuit

What Components Do We Need?

If you’ve never done it before, putting all the necessary components onto the circuit diagram is not a super easy task. Well, the process is not that hard; but until you know how to do it, it will seem a bit difficult. So, let me take you through my thought process:

We need to power the chip somehow. There are some pins on the microcontroller that need power. We have to figure out which pins that need power, and what voltage they need.

We also want to program the chip trough USB, so we need a USB connector and learn how to connect it to the chip.

Then, there is extra stuff. Like maybe an LED to play around with, and definitely some connection pins that we can connect other stuff to later when we want to experiment.

So, we need to figure out:

  • How to power the circuit
  • How to connect the USB part
  • How to connect pins to the chip

Using the Datasheet to Find the Details of Our Circuit

The datasheet for the ATmega32U2 is a must when we are designing our circuit. Here, we can find all the necessary technical details.

We don’t have to read it from beginning to end; instead, we simply look up the parts we are curious about, and study them in more depth. We can find a table of contents at the end of the document.

For instance, if we wanted to use the timer of the MCU, we’d look up the part about timers. If we wanted to use the SPI communication part, we would look that up.

Connecting Power and USB

As you probably know, USB devices can be powered through, well, USB. By doing this, we simplify our circuit and require less components. So, let’s do this.

To figure out exactly HOW we can do this, we’re going to read the datasheet. By going to the table of contents, we find that the section that describes the USB part of the microcontroller is on page 186.

Here, there are different images showing how to connect the USB connector to the microcontroller to make it a USB powered device. For our circuit, we’ll use the bus-powered 5V version:

How to setup the MCU as a USB-powered device

Under Design Guidelines on page 189, we find the exact values we need for the resistors. It’s also there that we learn it’s highly recommended to use a 10µF capacitor on the VBUS, so let’s add that too.

Adding a Crystal

Another interesting thing to note from the image of how to connect the USB, is that there is also a crystal and a couple of capacitors connected to the XTAL1 and XTAL2 pins. This gives us the idea that we probably need a crystal too. But why?

Microcontrollers rely on clock signals to work. Every time the clock signal gives a pulse, something will happen in the processor. Most MCUs come with an internal RC-oscillator that can create this clock signal; however, the USB part of the microcontroller cannot operate from this internal clock — it needs a crystal oscillator to work.

To create a crystal oscillator, we need to connect a crystal and two capacitors to XTAL1 and XTAL2. By looking up “Crystal Oscillator” in the datasheet on page 36, we can also identify exactly what crystal and which capacitors are required.

Connecting an LED And Some Pins

By now, we have everything we need for the microcontroller circuit to work. But, we won’t be able to have much fun with it if we don’t add some connections to the input and output pins. And, it’s also good to add an LED. Everything gets better with an LED!

The LED needs to be connected through a resistor. We call this a current limiting resistor — this is to control the amount of current going through it.

From there, we will need a few physical pins that we can use to connect other stuff to our circuit. There are 22 I/O pins on the ATmega32U2, yet some of the pins are used for other purposes (like XTAL2), so we can’t use them all. For this circuit, we’ll add 16 I/O pins, as it’s a nice and round number.

What Else Do We Need?

On MCU circuits, it’s very common to include a RESET button. This makes it possible to reset the MCU without removing the power connection. This will add a couple of more components to our circuit and isn’t necessary to make it work, but it’s very handy, so let’s add it.

In the datasheet, we can see that pin 24 on the chip is the reset signal. It has a line over itself, which means that it’s activated when pulled low.

To make the reset signal stay in a high-state when the button is not pushed, we’ll add a pull-up resistor. This is a resistor up to VCC. And, we connect the button so that it will pull the reset-pin to ground when pushed.

The pull-up resistor should have a value of around 10k Ohm. For reference, SparkFun has a good article on how to choose a pull-up value.

Our Microcontroller Circuit Diagram

Now that we have figured out the different pieces of the circuit, it’s time to put them all into one circuit diagram. By adding everything into one circuit diagram, we end up with this:

Complete microcontroller circuit

Next, we need to create a circuit board out of this. Creating a circuit board does not have to be very complicated. In the subsequent part of the microcontroller tutorial series, we’ll design and make the circuit board.

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

Video: Vegard Wollan reflects on life and innovation

In the final segment of my interview with AVR microcontroller creator Vegard Wollan, I asked about his background and innovation at Atmel.

In response to my question of how he views his expertise, Vegard noted that he started out as a computer architect and digital designer. It’s simple to see the ease-of-use DNA in the AVR product line when Vegard then noted that he soon saw himself as someone that could make life easy for embedded designers. I think this focus on the customer pervades all of Atmel to this day.

Vegard-Wollen_innovation-at-Atmel

Vegard Wollan reflects on his history of innovation at Atmel.

I went on to ask Vegard what he does in his spare time. His response? Exercising and boating off the beautiful, dramatic Norwegian coastline. I think physical activity is a key thing. In fact, I wish someone had warned me as a young man that engineering has an occupational hazard. You can make a good living sitting at a desk. This was less true when I was an automotive engineer, as I had to go the experimental garage and walk around Ford’s giant complex in Dearborn, Michigan. Nowadays, we all seem chained to a computer, and stuck in a chair all daylong. So, exercise and boating sounds like a great way to stay active and balance our lives a little bit!

As I pictured Vegard sailing around Norway looking at beautiful sunsets, I wondered if that was inspired him to be so innovative. He responded that the primary source of innovation at Atmel is working with a team of creative innovative people. I think this is true in most human endeavors. When I asked my dad why some restaurants had really good service, he noted that good people like to work with other good people. That is why Vegard is spot-on, and quite humble in noting that innovation comes from a team, not any single person.

Want to learn more about the backstory of AVR? You can tune-in to the entire 14-part series here.

Video: Vegard Wollan addresses Internet of Things security

In this video segment from my interview with Vegard Wollan, the co-inventor of the AVR microcontroller, we explore in detail the security problems you need to address as an embedded designer.

Let’s face it, it is obvious that security is a way of thinking. You have to assume bad people are going to try and hack your products. With the oncoming revolution in the Internet of Things, it is important you design the security within, rather than try to tack something on after an exploit.

Vegard-Wollen_security-at-Atmel

The co-inventor of the AVR architecture notes that security is essential in embedded systems.

The key thing you have to know is that nothing beats hardware security. This is where the security system is implemented in silicon, storing a secret key, hash algorithms and random-number generator (RNG). Atmel makes both standalone security chips and incorporates the security circuits into some of our microcontrollers including Atmel | SMART ARM-based chips used for smart energy meters. The chips are more sophisticated than a simple IP block. In fact, there are extra layers of metal in the die so that hackers cannot probe the chip without ruining it. Many of the chips also dither the supply current, so a hacker cannot infer the code it is running by observing the tiny variations in supply current as it runs.

Atmel makes symmetrical security chips, where both the chip and the microcontroller code know the secret key, and also asymmetrical security chips, which work like that public and private keys systems you might be familiar with such as PGP and RSA security. And, note that you can uses Atmel’s tiny inexpensive security chips with any microcontroller, 8-bit, 16-bit or 32-bit, including all the micros made by Atmel’s honored competitors.

Interested in more? You can watch the entire 1:1 interview with Vegard here.

ToT drives the IoT to RIT

Writing for the Democrat & ChronicleBennett J. Loudon shared his recent experience onboard the Atmel Tech on Tour mobile trailer, which stopped by Rochester Institute of Technology on October 9th. Jam-packed with the latest solutions powering the Internet of Things (IoT), Maker Movement and more, the 40’ x 85’ tractor-trailer drew quite the crowd in Upstate New York, comprised of partners, students and professionals.

1236994_953513151332522_1170297080177640585_n

“Can you hear it? It’s the faint sound of all your electronic devices talking to each other,” Loudon jokingly writes about the budding Internet of Things. “As we purchase new products, they are likely to include more sensors and computer chips that will let users and service companies monitor and control things remotely as part of what has become known as the IoT.”

10471514_953509321332905_508965969389381872_n

Throughout the day, students and professors from RIT joined fellow Makers, tech enthusiasts and engineers to explore next-gen wireless systems, wearable devices, 3D printers and touchscreen sensors. As Loudon noted, hands-on demonstrations included how embedded systems are being used in automotive and transportation applications, robotics, electronic devices and gaming systems, and alternative energy, then integrated into the growing Internet of Things.

“Anything that’s electronic these days, whether it’s in the home, or the car, or the office, is just chock full of microcontrollers,” explained Bruce Muff, Atmel Regional Sales Manager. “We make chips. We’re a chip company. Our primary focus is microcontroller chips. Anything that’s electronic these days has a microcontroller in it at its simplest level to control lights or sensors or communication with things.”

1922406_953508964666274_9195328254645028937_n

Similar to most corporations throughout the industry, we attend most trade shows, like CES, Electronica and Embedded World.

“However, instead of having people go to Las Vegas to see our trade show booth, we bring it out on the road to the customers, the community and schools, like RIT, to showcase Atmel technology and some of the things that our customers do with our technology,” Muff added. “We wanted to both target the local customer base that we have in upstate New York, companies that develop electronic products that might use our chips, and we also wanted to reach out and make it available to the school here.”

1972253_953509217999582_5202535767920610375_n

After tirelessly crisscrossing the globe for several years offering hands-on technical training, the Atmel team kicked off a new Tech on Tour era this past January with the tricked-out mobile trailer seen above. Designed to literally drive the Internet of Things (and other next-gen technologies), the big rig brings hands-on training, hackathons, key technology demonstrations and other gatherings based around Atmel MCUsMPUswirelesstouch solutions and easy-to-use software tools. With more than 100 stops spanning across 30 states and 4 Canadian provinces, Tech on Tour is estimated to reach nearly 4,000 engineers this year alone.

Al Converse, an engineer for Atlanta-based Trenton Systems, stopped by the ToT truck to discover the latest bits and pieces from Atmel. Converse tells the Democrat & Chronicle“I came here to stay on top, see what’s applicable to the work I’m currently doing. You have to do this constantly. Technology shifts every time I do a design, and a design typically takes a year to get out the door.”

10471514_953509321332905_508965969389381872_n

Loudon notes that when he started out in the 1970s and ’80s, Converse was able to use the same processor for two or three consecutive design projects; however, “Nowadays you can’t do that any more. You’re halfway through the design and the companies have already released a new, faster more powerful product.”

Atmel’s Tech on Tour is making it easier for engineers and designers, like Al, to stay ahead of the game and keep up-to-date with the newest, fastest and most powerful solutions.

Interested in exploring the trailer yourself? You can find an entire schedule — or request a future stop — here.

 

 

SKULLY AR-1 is the world’s smartest motorcycle helmet

Well, if hoverbikes are going to be hitting the streets in the near future, riders are going to need a space-age headgear to go with their new vehicle. In comes the SKULLY AR-1, the world’s smartest motorcycle helmet. In a show of support, riders across the globe have responded with unprecedented funding. In fact, the Indiegogo campaign skyrocketed past its original goal of $250,000 in just eight minutes on August 11th, and by midday had nearly tripled that goal with 340 preorders. The Skully AR-1 is the fastest IndieGoGo hardware campaign to reach $1 million to date.

skully-ar-1-a-smart-motorcycle-h

What more could a motorcycle helmet do than protect your precious brain? The AR-1 boasts enough technology to make even most savvy engineer look twice… even our very own Paul Rako! The one-of-a-kind helmet combines a 180-degree rear-view camera, heads-up display, a rear-facing camera, turn-by-turn GPS, electro-chromic face shield, voice control, Bluetooth connectivity and smartphone pairing — all while DOT and ECE-certified for safety!

Just last month, SKULLY Founder and CEO Marcus Weller announced, “We are beyond excited to begin production on what has become the most anticipated motorcycle helmet in history. We are doing something so few companies have the opportunity to do… we are changing an industry and forcing the world to adapt.”

jfoxh2oouqey83vkghm5

The lightweight polycarbonate helmet features all the regular expectations of a top-of-the-line helmet, such as an anti-fog and anti-scratch visor and a customizable (albeit 3D laser cutting!) fit. To go with these high-end features, the AR-1 does utilize technology in a way never before imagined in this field.

The rear-facing camera provides a 180-degree view on the HUD, along with select vehicle telemetry statistics. The helmet will also come equipped with onboard GPS technology, so even if a rider finds himself or herself outside of cell coverage, they can find their way back home. An embedded high-speed microprocessor aids the device in analyzing and displaying all of the collected data. In the spirit of the open source movement, the company will be releasing an SDK in the coming months so that the riding community can help improve the onboard software applications.

“The AR-1 is our little dent in the universe. The AR-1 will introduce a new era in intelligent transportation by combining optics, intelligent vehicle systems and connectivity to deliver unprecedented levels of safety,” its founder adds.

The AR-1 currently costs $1,399 when pre-ordered with an international price of $1,499, or $25,000 for one of four original prototypes. Interested? More details can be found on SKULLY’s official page here.

SKULLY’s dynamic helmet is just one of many of the latest wearable innovations making an impact. Smart helmets call for smarter designs which call for the smartest MCUs.

1:1 Interview with Michael Koster


Three-part Interview Series (Part 2)


Series 2 – IoT Toolkit and Roadmap

Tom Vu (TV):  What is in the roadmap for IoT Toolkit?

Michael Koster (MK):

The IoT Toolkit is an Open Source project to develop a set of tools for building multi-protocol Internet of Things Gateways and Service gateways that enable horizontal co-operation between multiple different protocols and cloud services. The project consists of the Smart Object API, gateway service, and related tools.

IoT Smart Object Structure

IoT Smart Object Structure

The foundation of the platform is purely bottom up, based on applying best practices and standards in modern web architecture to the problem of interoperability of IoT data models. I believe that the practice of rough consensus and running code results in better solutions than a top-down standard, once you know the basic architecture of the system you’re building.

To that end, I created a public github and started building the framework of the data model encapsulations and service layer, and mapped out some resourceful access methods via a REST interface. The idea was to make a small server that could run in a gateway or cloud instance so I could start playing with the code and build some demos.

The next step is to start building a community consensus around, and participation in, the data models and the platform. The IoT Toolkit is a platform to connect applications and a mixture of devices using various connected protocols.  It’s real power lies in its broader use, where it can span across all of our connected resources in industry, ranging from commerce, education, transportation, environment, and us. It’s a horizontal platform intended to drive Internet of Things more widely as an eventual de facto standard, built for the people who are interested in building out Internet of Things products and services based on broad interoperability.

IoT Sensor Nets Toolkit

IoT Applications Run on Cloud or On Gateway

We intend to create a Request For Comment (RFC), initiate a formal process for the wider Internet of Things platform and standards.  An community agreed upon process similar to the world wide web that we use today, based on rough consensus and running code, with RFCs serving as working documents and de facto standards that people can obtain reference code, run in their system to test against their needs, and improve and modify if necessary, feeding back into the RFC for community review and possible incorporation of the modifications.

The Internet of Things interoperability platform stands as an ideal candidate, leveraging the power of the open source community’s development process.  In turn, community involvement is taken to a new level, across many fields of discipline, and in many directions. Here is where we can get the most benefit of an agile community.  Crowdsource the development process based on principles of open communication and free of the need for participants to protect interests toward proprietary intellectual property.

We need to build the platform together meshed around the community of Makers, DIY, Designers, Entrepreneurs, Futurist, Hackers, and Architects to enable prototyping in an open ecosystem.  Proliferation then occurs; a diverse background of developers, designers, architects, and entrepreneurs have many avenues of participation. They can create a new landscape of IoT systems and products.

This broad participation extends to industry, academia and the public sector.  We are aiming for broad participation from these folks, build a global platform based on common needs. As a member of the steering committee, when I participated in the IoT World Forum, I heard from the technical leaders of enterprise companies (Cisco and others), research departments, and IoT service providers. They believe an open horizontal platform would be needed to enable applications that span across their existing vertical markets and M2M platforms.

Instead of a top-down approach, where people from corporations and institutions get together in a big meeting and put all their wish lists together to make a standard, we’re taking an overall bottom-up approach, bringing together a diverse community ranging from makers to open source developers, and entrepreneurs. Together with corporations, academia, and public sector, we all will participate in a very broad open source project to develop a platform that can be ubiquitous that everyone can use.

In many ways, this is modeled after the Internet and World Wide Web itself.  As we need to create a more formal standard, it will likely engage with the IETF and W3C. A good example is the semantic sensor network incubator project, which is an SSN ontology that describes everything about sensors and sensing. This enables broad interoperability between different sensor systems and platforms, based on common data models and descriptions. What we want to do is something similar to that, only on a more comprehensive scale and intended for the Internet of Things.

Tom Vu (TV):  Can you take us through a tour of the Data Object model importance and how it yields significance for simple and sophisticated connected devices?

Michael Koster (MK):

The Internet of Things today consists of many different sensor networks and protocols, connected to dedicated cloud services, providing access through smartphone and browser apps. It is rare for these separate “silos” to cooperate or interact with each other.

We abstract the complexity of sensor nets connecting devices and hardware by adding a layer of semantic discovery and linkage. This enables the sensors and actuators on disparate sensor nets to be easily combined to build integrated applications.

The way this works is using a few techniques. First, the different sensor nets are integrated through a common abstraction layer. This works a lot like device drivers in an operating system, adapting different devices and protocols to a common system interface. Only in this case, they are adapted to a common data model.

The common data model for sensor nets is based on the new IETF CoRE application protocol and sensor descriptions. This provides standard ways for common types of sensors to be discovered by their attributes, and standard ways for the data to be linked into applications, by providing descriptions of the JSON or BSON data structure the sensor provides as it’s output.

We use the W3C Linked Data standard to provide web representations of data models for sensor data and other IoT data streams. Linked data representations of IETF CoRE sensor descriptions are web-facing equivalents of CoRE sensor net resources. Linked data provides capabilities beyond what CoRE provides, so we can add functions like graph-based access control, database-like queries, and big data analysis.

Internet Smart Objects

Internet Smart Object

Internet of Things Applications are essentially graph-structured applications. By using Linked data descriptions of JSON structures and the meaning of the data behind the representation, we can create applications that link together data from different disparate sources into single application graphs.

Then we enable the platform with an event-action programming model and distributed software components. The common semantic language enables the data sources and software components to easily be assembled and make data flow connections. The result is an event-driven architecture of self-describing granular scale software objects. The objects represent sensors, actuators, software components, and user interaction endpoints.

FOAT Control Graph

Interent of Things with FOAT Control Graph


Tom Vu (TV):  Who and what companies should be involved?

Michael Koster (MK):

Whoever wants to participate in the building out of the Internet of Things. The people that use the infrastructure should build it out; the people who want to provide products and services based on interoperability, along with those who provide the backplane of thinking low power microcontrollers / microprocessors, connected sensors, and importantly the network infrastructure.

We want to enable all avenues of participation to allow corporations, academia, policy and standards makers, entrepreneurs and platform developers, makers, and DIY hackers all to be involved in building the platform as a community.

For corporations, we will provide an important role, to build a vendor-neutral platform for data sharing and exchange, an open horizontal platform that will allow the integration of what were traditionally vertical markets into new horizontal markets.

Anyone participating or expecting to participate in the emerging Internet of Things, Internet of Everything, Industrial Internet, Connected World, or similar IoT ecosystems initiatives, could benefit by participating in creating this platform. Companies that provide network infrastructure and want to build in value add can adopt this standard platform and provide it as infrastructure. Companies that want to provide new services and new connected devices that can use the IoT Toolkit to easily deploy and connect with existing resources could benefit.

All companies, organizations, and people that can benefit from an open Internet of Things are welcome to participate in the creation of a platform that everyone can use.

Tom Vu (TV):  How important is Open Source to Internet of Things evolution?

Michael Koster (MK):

I don’t see how the Internet of Things can evolve into what everyone expects it to without a large open source component. We need to go back to Conway’s law and look at it from both the system we’re trying to create and the organization that creates it. Interoperability and sharing are key in the system we want to create. It’s only natural that we create an open development organization where we all participate in both the decisions and the work.

Removing the attachment of intellectual property, changes the dynamics of the development team, keeps things engaged and moving forward solving problems. It’s important for software infrastructure projects like this to remove the barrier to cooperation that arises from the self-protection instinct around proprietary Intellectual Property, or even egoism associated with soft intellectual property, “my” code.

Instead, we turn the whole project into a merit-based system as opposed to being ego driven.  Rather than worry about guarding our property, we are motivated to solve the problems and contribute more to the deliverable. The limits to participation are removed and there is a more rapid exposure of intentions and goals. Engagement and innovation can rule in this environment of deep collaboration.

Tim Berners-Lee said that he was able to achieve the creation of the World Wide Web system because he didn’t have to ask permission or worry about violating someone’s copyright. We are creating the same environment for people who want to build our platform, and even for those who want to build their services and applications on top of the platform.

We are going to create the service enabled layer as open source as well so that any one of the companies can help proliferate the idea and everyone has influence and access to the development of the underlying IoT platform.  If it’s open source infrastructure and platform software, you can make a service on top of that software that can contain proprietary code. With our license, you can even customize and extend the platform for your own needs as a separate project.

Tom Vu (TV):  Describe your work with the EU IoT organization and how you are involved as a voice for the Internet of Things?

Michael Koster (MK):

I work with the IoT Architecture group within the overall EU Internet of Things project. The IoT-A group is closely related to the Future Internet project. They have an Architecture Reference Model describing different features one might build in an IoT platform, a sort of Architecture for Architectures. Since their process mirrors my own design process to a large extent, I found their reference model to be compatible with my own architecture modeling process.

They are conducting a Top-Down activity, stewarding the participation in the architecture and standardization model.  One of the ways I work with IoT-A is to use the Smart Object API as a validation case for the Architecture Reference Model. They are building the reference model top down, and we’re building the architecture bottom-up, based on a common expression of architecture relationships and descriptions.

I am also involved in advocating open source of IoT and building of local IoT demonstrator projects, educating around IoT, open data, etc. as well as user controlled resource access and privacy.  I am providing a voice for open source and open standards, into the standards movement going forward.

Here in the USA, there is not anything like what they have in Europe. Here the process will be to engage corporations and institutions and create a participatory structure that enables fair and open opportunity for influence and access to both the development process and the final products.

Tom Vu (TV):  How important is an open standard – building of an RFC in which all industries can agree upon ultimately serving to a wider scale factors of adoption and proliferation?

Michael Koster (MK):

To simply put it, the construction of a formal RFC is something that describes part of system.  A Request for Comments (RFC) is a memorandum published by the Internet Engineering Task Force (IETF) describing methods, behaviors, research, or innovations applicable to the working of the Internet and Internet-connected systems.  It is a process or evolution in achieving a more widely adopted standard.  The founders of the Internet created this process, and http, etc are all built using original RFC process from many years ago.

Through the Internet Engineering Task Force, engineers and computer scientists may publish discourse in the form of an RFC, either for peer review or simply to convey new concepts, information, or (occasionally) engineering humor. The IETF adopts some of the proposals published as RFCs as Internet standards.

If the IoT Toolkit platform becomes adopted, it may eventually be as many as 10-12 different RFCs, but it’s important to get people to agree on common first set.  This is the initial phase into a more pervasively used universal standard.  In fact, it’s sort of like a strawman platform.  It’s intent is to describe and collaborate, but also invoke and seek out broader participation…  We are at the stage of putting proposals together over the next few weeks and setting up meetings to talk to many people around collaboration and participation in building an Internet of Things platform.

We believe that an open standard platform for horizontal interoperability is key to achieving the promise of the Internet of Things. Everyone needs to be able to present and process machine information in machine understandable formats on the IoT, just as we humans enjoy commonly understandable web data formats and standardized browsers on today’s WWW. It’s important that developers be able to focus on solving problems for their clients and not waste resources on communication and translation.

Read Part Three to Learn More about Why IoT (Internet of Things) Matters?

Here are Part 1 and Part 2 of the Interview Series.

Diversified Key with Random Challenge Response

By: Gunter Fuchs

Previously, in this space, we briefly discussed the four different authentication models that one can employ in an embedded design. Now, we’d like to take a deeper dive into the nuances of combining a diversified key model with the random challenge response model and the steps it takes in authenticating.

The following are the unique characteristics of this model:

  • Each client has a unique serial number and a diversified key that are related by some cryptographic function
  • A root key for the cryptographic function is stored on the host
  • The hash algorithm is implemented on both the host and client
  • A random number generator is required on the host

And the following outlines what is  going on inside the chips during the authentication process:

  • The host reads the unique serial number from the client
  • The host calculates the diversified key internally using the cryptographic function
  • The host generates a random number for use internally and also sends it to the client as the challenge
  • Both host and client perform the hash function using the diversified keys
  • Host requests the calculated MAC from the client

Host compares the two calculated MACs to authenticate the client. Although complexity of implementing this “hybrid” increases, the benefit that comes with it is the added level of security.  Please stay tuned on this blog to learn more about tips and tricks on how you can secure your design or check out these useful resources on security.