Tag Archives: Software

3 simple filtering techniques to eliminate noise

via Arduino Blog

plant-data

Increasing accuracy in the collection of data coming from sensors is a need that, sooner or later, Makers need to face. Paul Martinsen from MegunoLink created a tutorial to eliminate noise from sensor readings on Arduino with three simple filtering techniques.

The Averaging and Running Average techniques are easy to implement as they work by adding a number of measurements together, then dividing the total by the number of measurements. In both cases, the downside is that it can use a lot of memory.

The Exponential filter is a better solution for several reasons: it doesn’t require much memory, you can control how much filtering is applied with a single parameter, and it saves battery power because you don’t need to make many measurements at once. For this solution, they developed an Arduino filter library so you don’t need to go mad with math!

Filtering

Interested? You can find the tutorial and explore the code on MegunoLing’s blog post here.

Software, the unsung hero

via Raspberry Pi

This column is from The MagPi issue 48. You can download a PDF of the full issue for free or subscribe to receive the print edition in your mailbox or the digital edition on your tablet. All proceeds from the print and digital editions help the Raspberry Pi Foundation achieve its charitable goals. The MagPi 48

As Raspberry Pi enthusiasts, we tend to focus a lot on hardware. When a new or updated board is released, it garners a lot of attention and excitement. On one hand, that’s sensible because Raspberry Pi is a leader in pushing the boundaries of affordable hardware. On the other hand, it tends to overshadow the fact that strong software support makes an enormous contribution to Raspberry Pi’s success in education, hobby, and industrial markets.

Because of that, I want to take the opportunity this month to highlight how important software is for Raspberry Pi. Whether you’re using our computer as a desktop replacement, a project platform, or a learning tool, you depend on an enormous amount of software built on top of the hardware. From the foundation of the Linux kernel, all the way up to the graphical user interface of the application you’re using, you rely on the work of many people who have spent countless hours designing, developing, and testing software.

clean_desktop

The look and feel of the desktop environment in Raspbian serves as a good signal of the progress being made to the software made specifically for Raspberry Pi. I encourage you to compare the early versions of Raspbian’s desktop environment to what you get when you download Raspbian today. Many little tweaks are made with each release, and they’ve really built up to make a huge difference in the user experience.

Skin deep

And keep in mind that’s only considering the desktop interface of Raspbian. The improvements to the operating system under the hood go well beyond what you might notice on screen. For Raspberry Pi, there’s been updates for firmware, more functionality, and improved hardware drivers. All of this is in addition to the ongoing improvements to the Linux kernel for all supported platforms.

For those of us who are hobbyists, we have access to so many code libraries contributed by developers, so that we can create things easily with Raspberry Pi in a ton of different programming languages. As you probably know, the power of Raspberry Pi lies in its GPIO pins which make it perfect for physical computing projects, much like the ones you find in the pages of The MagPi. New Python libraries like GPIO Zero make it even easier than ever to explore physical computing. What used to take four lines of code is boiled down to just LED.blink(), for example.

etcher-500pxwide

Not all software that helps us was made to run on Raspberry Pi directly. Take, for instance, Etcher, a wonderful program from the team at Resin.io. Etcher is the easiest SD card flasher I have ever used, and takes a lot of guesswork out of flashing SD cards with Raspbian or any other operating system. Those of us who write tutorials are especially happy about this; since Etcher is cross-platform, you don’t need to have a separate set of instructions for people running Windows, Mac, and Linux. In addition, its well-designed graphical interface is a sight for sore eyes, especially for those of us who have been using command line tools for SD card flashing.

The list of amazing software that supports Raspberry Pi could go on for pages, but I only have limited space here. So I’ll leave you with my favourite point about Raspberry Pi’s strong software support. When you get a Raspberry Pi today and download Raspbian, you can rest assured that, because of the rapidly improving software support, it will only get better with age. You certainly can’t say that about everything you buy.

The post Software, the unsung hero appeared first on Raspberry Pi.

IDE 1.6.9 just released with Yún Shield support and more!

via Arduino Blog

downloadIDE_blogpost_1-6-9
Today, we’re releasing a shiny new version of the Arduino IDE, with the usual plethora of features and bug fixes.

The new Yún Shield allows you to upload a sketch over the air on any supported board so, as you can guess, our official cores were updated to support this feature. 

Simply select the YunShield entry from the Network port menu, the base board from the Board menu, press upload and voilà!

3

You can update the cores via Board Manager to get the latest version (1.6.11 for AVR, 1.6.8 for SAM and 1.6.6 for SAMD) but don’t miss the chance to update the IDE itself. ;-)

This release fixes a bunch of long-standing issues:

  • the update popup is no longer always on top, error reporting on multitab sketches now works correctly, and compiling/uploading flows have been revisited
  • the problem with FTDI serial ports on Windows introduced with IDE 1.6.8 has been fixed as well
  • the AVR core now recognizes if a new bootloader is present and uses a safe RAM location to trigger programming (this is particularly important for large sketches, like the ones produced by our friends at Arduboy)
  • the builder has been patched, and is now faster and easier to hack

Release after release the community effort continues to get stronger and that makes us extremely happy! As usual, be sure to check the whole changelog for a complete list of changes and credits.

Don’t forget to report any issue you may find, either on GitHub or on the Arduino forum: your help is very much appreciated — even if you’re not a tech specialist. And please consider supporting the Arduino Software by contributing to its development!

Download IDE 1.6.9 now and happy coding! (You can also read all about the new Yún Shield here.)

Machine learning for the maker community

via Arduino Blog

mellis-aday

At Arduino Day, I talked about a project I and my collaborators have been working on to bring machine learning to the maker community. Machine learning is a technique for teaching software to recognize patterns using data, e.g. for recognizing spam emails or recommending related products. Our ESP (Example-based Sensor Predictions) software recognizes patterns in real-time sensor data, like gestures made with an accelerometer or sounds recorded by a microphone. The machine learning algorithms that power this pattern recognition are specified in Arduino-like code, while the recording and tuning of example sensor data is done in an interactive graphical interface. We’re working on building up a library of code examples for different applications so that Arduino users can easily apply machine learning to a broad range of problems.

The project is a part of my research at the University of California, Berkeley and is being done in collaboration with Ben Zhang, Audrey Leung, and my advisor Björn Hartmann. We’re building on the Gesture Recognition Toolkit (GRT) and openFrameworks. The software is still rough (and Mac only for now) but we’d welcome your feedback. Installations instructions are on our GitHub project page. Please report issues on GitHub.

Our project is part of a broader wave of projects aimed at helping electronics hobbyists make more sophisticated use of sensors in their interactive projects. Also building on the GRT is ml-lib, a machine learning toolkit for Max and Pure Data. Another project in a similar vein is the Wekinator, which is featured in a free online course on machine learning for musicians and artists. Rebecca Fiebrink, the creator of Wekinator, recently participated in a panel on machine learning in the arts and taught a workshop (with Phoenix Perry) at Resonate ’16. For non-real time applications, many people use scikit-learn, a set of Python tools. There’s also a wide range of related research from the academic community, which we survey on our project wiki.

For a high-level overview, check out this visual introduction to machine learning. For a thorough introduction, there are courses on machine learning from coursera and from udacity, among others. If you’re interested in a more arts- and design-focused approach, check out alt-AI, happening in NYC next month.

If you’d like to start experimenting with machine learning and sensors, an excellent place to get started is the built-in accelerometer and gyroscope on the Arduino or Genuino 101. With our ESP system, you can use these sensors to detect gestures and incorporate them into your interactive projects!

New Energia 17 release brings SensorTag, Red Bear CC3200 And F28069M support

via Dangerous Prototypes

energia

The Energia team announces the availability of version 0101E0017.  We wrote about it previously:

A new version of Energia has been released. This version fixes alot of bugs from the previous version and also adds support for the following:

  • Support for three new boards have been added added:

– CC2650 based SensorTag (MT)
– CC3200 based RedBearLab WiFi micro (MT and Standard)
– LAUNCHXL-F28069M (Standard)

  • CC3200prog has been enhanced to automatically reset the RedBearLab boards after upload
  • I2C has been moved to the new BoosterPack standard (pins 9 and 10). This allows I2C and SPI to operate concurrently
  • DSLite has been updated to the latest version. MSP432 and CC2650 use DSLite for upload. Other boards will follow in the next release
  • Mac OS X Energia package is now signed and no special action is needed for Mac Gatekeeper

Downloads are available for Linux, Mac OSX and Windows.

More details at 43oh.

You Can Build Arduino multi-device Networks with Temboo

via Arduino Blog

tembooM2M

Is there a cool Internet of Things idea that you’ve wanted to try out with your Arduino, but just haven’t had time for?  Building a network that integrates multiple sensors and boards into one cohesive application can be time-consuming and difficult.  To make it a bit easier, Temboo just introduced new Machine-to-Machine programming that lets you connect Arduino and Genuino boards running locally in a multi-device network to the Internet.  Now, you can bring all the power and flexibility of Internet connectivity to Arduino applications without giving up the benefits of using low power, local devices.

temboo-line

Our friends at Temboo now support three M2M communication protocols for Arduino boards: MQTT, CoAP, and HTTP. You can choose which to use based on the needs of your application and, once you’ve made your choice, automatically generate all the code you need to connect your Arduinos to any web service. You can also save the network configurations that you specify, making it easy to add and subtract devices or update their behavior remotely.

With Temboo M2M, you can program flexible distributed device applications in minutes. From monitoring air quality and noise levels in cities to controlling water usage in agricultural settings, networked sensors and devices enable all sorts of powerful IoT applications. You can see it all in action in the video below, which shows how they built an M2M network that monitors and controls different machines working together on a production line.