Tuesday, August 5, 2014

#9 Jeremy Blum Arduino Wireless Tutorial & MCU Group Mtg August 7

Tonight's post is a bit of a preview of Jeremy's #9 Arduino video tutorial about wireless, along with a couple related comments and alternatives regarding microcontroller (MCU) wireless tutorials for future use by the Humboldt Microcontrollers Group.

But before I get into the Arduino wireless tutorial, there are two 'special deal' items for people who buy MCU-related electronic components. I found out about these from SparkFun and Jameco emails.
  1. SparkFun Retrosparktive:  "SparkFun will be vacating its offices at 6175 Longbow and moving on up to Dry Creek Parkway...As part of the Retrosparktive, each week we are offering up a selection of classic products at “historically low prices” (sorry, couldn’t help myself). We’re calling this first selection the “Bare Necessities” - great things to have around your workspace or office. This selection of items is only on sale from 8/4/2014 at 12:01 a.m. MT until 8/10/14 at 11:59 p.m. MT - so get ‘em while you can! BUT WAIT, THERE’S MORE! We’re also offering a promo code good for $10 off any orders over $40. Just put the code “RETROSPARK” into the box at checkout to get your discount. This code is good until August 31, 2014."
  2. Jameco Free Friday Electronic Components Giveaway:  "Jameco's team of component buyers hunts for special buys and every Friday we will highlight one of these great buys by making a limited supply of one product available for free at www.Jameco.com/Free. We'll
    post new inventory every Friday at 10 a.m. Pacific Time and it will be available on a first come, first serve basis
    ."
The next Humboldt Microcontrollers Group meeting is this Thursday, August 7. The main topic of the meeting will be to discuss Jeremy Blum's #9 video tutorial, so tonight's post takes a look at that tutorial. The topic is wireless communications with Arduino, and the #9 video exercise uses XBee radios. Wikipedia's entry on this type of wireless communication equipment says:
"XBee is the brand name from Digi International for a family of form factor compatible radio modules. The first XBee radios were introduced under the MaxStream brand in 2005 and were based on the 802.15.4-2003 standard..."
The XBee brand has a wide range of models, with 2.4 GHz and 900Hz options, and the XBee-PRO 900HP is listed as having a 28 mile range. Having an Arduino communicate wirelessly 20+ miles away without cellular or Internet service seems like it could be handy for some things.

XBee is a brand name, and generally speaking, follows the ZigBee protocol for wireless personal area networks (WPAN). However, not all XBee technology is compatible with everything in the Zigbee world. For different views of what XBee is and how compatible it is, see the Digi International page about this, the SparkFun XBee Buying Guide or the StackExchange thread on the topic, which says:
"ZigBee / ZigBee Pro are mesh communication protocols that sits on top of IEEE 802.15.4 PHY. XBee / XBee Pro are product names for radio communications modules made by Digi. The modules can be loaded with various firmwares to support ZigBee / ZigBee Pro / DigiMesh and come in several frequency bands. DigiMesh is an alternative to ZigBee that changes a few things, and adds some features to make it generally better to work with. But, you sacrifice compatibility with ZigBee devices. For example DigiMesh allows routers to sleep, has lower overhead, has 1 node type vs zigbee's 3 leading to a more robust mesh, can run at higher data rates, etc."
Boards for the #9 video tutorial
The moral of the story for MCU beginners like me is, if you want to do wireless communications with MCUs, use all the same brand and model of wireless radios. No need to try and figure out if your circuit doesn't work because the two or more radios aren't compatible -- you'll have enough fun just figuring out if the circuit is hooked up incorrectly or if your code has errors or poor design.

The exercise in Jeremy's #9 video uses these boards -- two Arduino Unos, two XBee transceiver modules, two XBee shields, and a SparkFun USB to XBee adapter. In addition, you'll need a stepper motor, a mini-B USB cable and a few other parts you probably have from other Arduino projects or tutorial exercises. Jeremy shows how to program the Xbee units' ID numbers and how to hook up the Arduinos and other components. Then he walks the video viewer through the steps to write the program which allow the potentiometer connected to one Arduino to wirelessly control the position of the stepper motor which is connected to the other Arduino.
#9 exercise wired to breadboard

Excluding the two Arduinos and the miscellaneous parts you probably have, you can spend over $100 just on parts for the exercise in the #9 video. Ed Smith didn't have all the parts lying around to do this exercise and figured out an alternative exercise with a couple radios and other parts he did have around. He said he'll explain on August 7th what he put together for an MCU wireless exercise.

The Humboldt Microcontrollers Group should consider discussing cost-effective options for a useful training session on MCU wireless technology.There are lots of options, but a couple starter ideas are:
  1. Have people work in groups of two or three to do essentially the same exercise Jeremy demonstrates. The people can buy different parts that they want to keep after the exercise, or one person can buy all the parts and keep them when the training is finished.
  2. Do essentially the same exercise as the #9 video, but identify less expensive components than the Arduino and XBee parts spec'd by Jeremy.
  3. Use one wireless radio instead of two and find or write a tutorial involving one radio.
Others in the MCU group will know or think of additional options for MCU wireless training sessions. A couple specific training sessions I found in a quick search were:
CC3000
  1. Wireless Gardening with Arduino + CC3000 WiFi Modules by Adafruit. I like this one because of the Humboldt MCU Garden project. The garden project would make the investment seem more useful than it would for a generic training exercise. Here's the CC3000 module from Adafruit, and here's a post about the CC3000 by ladyada.
  2. SparkFun has two MCU wireless tutorials; Arduino Wireless Communication via the Electric Imp and Wireless Arduino Programming with Electric Imp.
  3. Arduino Wireless SD Shield Tutorial from Instructables is one of the many Arduino Wi-Fi tutorials.
CC3200 LaunchPad
We could also find or develop a training session around one of the newer MCUs with built-in WiFi, such as the SimpleLink products from Texas Instruments (e.g. the CC3200 LaunchPad) or one of the other MCU manufacturer's MCU with integrated Wi-Fi. Identifying some of those other integrated wireless / Wi-Fi components will likely be the subject of future research and blog posts.

In addition to discussing MCU wireless on Thursday, the MCU group will likely talk about upgrades to the Humboldt Laser Harp (HLH). After it's debut performance in Eureka on August 2, we've got several improvements in mind. I'm hopeful the HLH will make an appearance at the MCU group meeting on Thursday so everyone at the meeting can play with it and get excited about improving it, about making additional laser harps, and about designing and building other electronic music-light instruments which will help create the Humboldt Electronic Light Orchestra.

If you haven't watched the #9 video, check it out. If you don't have time to watch it between now and Thursday but are interested in MCU wireless, come to the MCU group meeting anyway. We're looking forward to seeing you from 6 to 8 PM on Thursday, August 7, at 1385 8th Street, Arcata, CA.

**********

No comments:

Post a Comment