AVNET IoT Starter Kit - Review

Table of contents

RoadTest: AVNET IoT Starter Kit

Author: brianchilders

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: There are starting to be a large number of products similar to this one - a quick and easy link to use would be this: https://www.newark.com/webapp/wcs/stores/servlet/Search?categoryId=800000134029

What were the biggest problems encountered?: It wasn't a problem for me, as I was able to find the correct documentation after some hunting around, but for others who may not be familiar with AWS IoT and doing software development, the documentation is not in one cohesive place / format and is some what dated. Due to my experience with AWS, I had success with the IoT device. This is why I would rank "Support materials were available" as a "9". They were available, just had to hunt a bit for them. Had the documentation been updated, I would have given it a "10".

Detailed Review:

AVNET IoT Starter Kit - Review / Road Test

By Brian Childers - February 2020

 

  1. Summary Brief / Intended Audience
  2. About Me / RoadTest Interest
  3. History / Why Internet-of-Things (IoT)?
  4. What's in the box
  5. About the Avnet BCM4343W IoT Starter Board
  6. Initial Setup
  7. Development Environment
  8. Road Test Mini-Blog
  9. Observations and Closing Thoughts
  10. Thanks / Credits
  11. References

 

 

1. Summary Brief / Intended Audience

The RoadTests & Reviews of the Avnet BCM4343W IoT Starter Kit goal is intended to reach the entire element14 community at large, from someone new at this site and just getting started in IoT, all the way to a seasoned veteran who knows IoT inside-and-out and works with this type of technology in their sleep.  If you find this Road Test helpful, please Share, Bookmark, Like, or Comment on this review. Thank you!  If you need any clarifications, please comment and I'll be glad to expand / go into detail any questions you may have about this product.

 

Note: Making a personal observation here - in the element14 forums, I have recently noticed an uptick in confusion regarding the purpose of the element14 website.  element14 is not a company that sells products, but rather, a social community platform for hobbyists, electronic engineers, and nerds like me and so on to discuss electronics, projects, and other related topics.  element14 provides links to websites that are doing the actual selling and fulfillment - https://www.newark.com/ being one - (e.g. online storefront like Amazon).  The company that manufactured this starter board is Avnet.  Kits may also use Linux or other open source software which are not "officially" supported by device manufacturers.  This means you may need to search this community (as well as other online communities) to find out answers to your questions regarding Linux / open source software used in a kit.

 

2. About Me / Road Test Interest

Computers, technology and electronics have always piqued my curiosity, so it should come as no surprise then, that I work in Information Technology for my profession in the med-tech / healthcare sector.  I have worked with AWS for the past four years and am Associate-level certified as a Developer, Solutions Architect and Sysops Administrator.  Recently I have been exploring Machine Learning / AI / Big Data and IoT with AWS services and submitted an application for this Road Test / Review with the hope that this would be a good way to stay current and get some practical hands on experience with AWS IoT Core.  Please note that I will have an inherent bias favoring AWS as I've worked with AWS services.  However this IoT Starter kit may also be used with the IBM® Watson™ IoT Platform as well.

 

3. History / Why Internet-of-Things (IoT)?

IoT is actually not a new concept, rather it started in the 1980s with a Coke machine.[1][2]  While I wasn't at University when the first version of the CMU Coke machine came out, I do remember being able to use the 'finger' client to know what the status of the Coke machine was while I was at UW-Milwaukee.  Fast forward 37 years from now, and we no longer need a PDP-10 to maintain state, we have small micro-processor units that are able to be wired up to anything that generates data.  (Note: Some may say that the "Prancing Pony Cooperative" was the first IoT device [3] - while I agree that it was connected to the network and you could pay for the item against your account, the vending machine did not maintain "state", e.g. it was unknown if the machine was empty or full.)

 

In reflecting on the concept of Internet-of-Things (IoT), the collection, analyzing and use of data has always been a part of how we operate.  What has changed, is the speed of which we are able to collect, analyze and modify our behaviors with data, which is made possible in part, with IoT.

 

4. What's in the box

  • Avnet BCM4343W IoT Starter Board
  • Micro USB Cable
  • Quick Start Sheet

 

image

[Avnet BCM4343W IoT Starter Board]

 

5. About the Avnet BCM4343W IoT Starter Board

The Avnet BCM4343W IoT Starter Board uses an Arduino (Arduino UNO R3 [4]) form-factor baseboard and embeds the pre-certified Avnet BCM4343W SoC Module.

 

Note: If you are new to working with electronics, the purpose of using a starter board like this one, is that it provides the solutions designer a quick way to prototype a solution for a module (like the Avnet BCM4343W SoC Module or the Avnet Azure Sphere MT3620 Module) without having to go through the trouble of soldering / wiring up the module itself.  In addition to the ambient light sensor on board, user push button, 2 user LEDs, you can use the Arduino form-factor shield expansion connector and other ports to quickly wire up additional sensors and inputs.  Once the design is complete, you or your organization would then purchase and hard wire / solder the module for your production solution.

 

Features: [5]

- Arduino™ form-factor baseboard

- Pre-certified Avnet BCM4343W SoC Module

    - WiFi + BLE + MCU module

    - STM32F411 ARM® Cortex™ M4 MCU

    - 512KB Flash, 128KB SRAM, 8Mb SPI Serial Flash

    - Supports 802.11 b/g/n and Bluetooth 4.1 (with an upgrade path to Bluetooth 4.2)

    - Dual fractal PCB antennas supporting antenna diversity

- Arduino compatible shield expansion connectors

    - GPIO (4)

    - Analog inputs (3)

    - Two I2C ports (1 shared)

    - SPI port

    - Two UARTs (1 shared)

    - Supports 3.3V I/O only

- 2x6 Format peripheral expansion connector

    - I2C port (shared)

- USB-based JTAG debugger/programmer and serial UART port

- Reset push button switch

- User push button switch

- Two user LEDs - UART, JTAG and WLAN activity LEDs

- Ambient light sensor

- USB Powered (5V), onboard high capacity 3.3V regulated supply

 

To help me understand what hardware connection options are available in detail, I went to the Hardware Platform Guide.  In doing so, I learned about a new connector type called the PMOD-compatible connector, which is a standard way of connecting peripherals.  I did some quick research (Google) and discovered that Diligent came up with the Pmod Interface Specification. In investigating Diligent further, I saw that their store offers modules and splitter cables - which may be of interest, depending on the use case.  I ordered a splitter cable and some modules to test with this starter board if I have time beyond my initial project proposal.

 

6. Initial Setup

There is a basic setup document that one can walk through to do initial experimentation with the board without having to setup any electronics or SDKs.

 

tl;dr - Navigate to AWS IoT and create the Thing, Certificate, and Policy.  Note: Policy will need to be created in AWS IAM and not AWS IoT.  Connect to WICED_AWS (SSID of WICED Module), use default password of 12345678, use the same name as thing in AWS, upload certificate / private key, and then connect it to your network.

 

image

image

 

image

Upon completion of this, you'll be able to use the on-board button / lights to demonstrate basic state of the "thing" - as shown in the IoT Shadow.

 

7. Development Environment

 

Part 1 - Toolchain install, USB drivers and AWS ShadowPart 2 - Getting started with Broadcom SDK

 

Like with the Initial Setup section, there is also two user guides that go into detail to help you get your development environment setup:  Part 1 and Part 2.

 

Installing WICED Studio

I verified that I had a Java version more recent than version 6.0  I attempted to use the link in the documentation above to download the SDK tool (4.x), but found that the version was no longer there.  I did a search on WICED SDK and landed on the following url: https://www.cypress.com/products/wiced-software.  I ended up downloading version 6.4.

image

 

Note: You will want to download the WICED Studio or the WICED WiFi SDK (and not the WICED Smart SDK).  I downloaded the WICED Studio and was able to get it successfully installed.  You will need to set up an account with Cypress in order to download the SDK.

 

If applicable, make sure you have administrator rights to install the software and have a Java version greater than Java 6 prior to installing.

 

Setting up WICED Studio

There are some additional steps that you will need to do before you can start compiling the demo AWS IoT applications. Continuing to follow along in the instructions, you are directed to download the platform files from: https://github.com/CloudConnectKits/WICED-SDK-3.7.0-3_Platform_FilesDon't download these platform files.  I would recommend that you traverse up one folder, e.g. https://github.com/CloudConnectKits to look at all the repositories available.  In doing so, I found that there was an updated target platform files set available at: https://github.com/CloudConnectKits/WICED-STUDIO-6.x_Platform_Files.  I download these files and placed them into the SDK folder location that I specified when I installed WICED Studio, e.g. C:\tools\sdk\WICED-Studio-6.4\43xxx_Wi-Fi\platforms.

 

Modify the Makefiles for each demo AWS project as instructed, e.g. thing_shadow.mk.  The file paths have changed slightly as well, so you'll find yourself navigating a similar but different path.

image

The Make Target instructions also need to be slightly modified, using a period . instead of an underscore _ between aws and iot - e.g.

 

demo.aws.iot.shadow.thing_shadow-BCM94343W_AVN download download_apps run

 

Once you've successfully completed these steps, you should not get any build errors and it should install on your evaluation kit.

 

Reprogrammer Utility 2.0

Take the time to download the reprogrammer utility.  This can be downloaded here: https://github.com/CloudConnectKits/Default_AWS_IOT_Shadow_app_reprogrammer.

 

MQTT.fx

The MQTT.fx link described in the documentation is currently invalid, and the link to download the software is: https://mqttfx.jensd.de/.

 

8. Road Test Mini-Blog

[2019-NOV-22] Notified that I was a finalist and confirmed that I would be able to complete my review within 60 days of receiving the evaluation Avnet BCM4343W IoT Starter Board.

 

[2019-NOV-26] The ability to start creating this Road Test Review was enabled and I started organizing my thoughts into Sections 1-5, 11.

 

[2019-NOV-27] Started formatting the Road Test Review into a cohesive format and added project goal to Section 9. As I started setting up the SDK, I noticed that the documentation had old links and it is not quite clear if / where the latest version of the setup documentation is.  I added my own instructions to the setup documents for those that may wish to try using the SDK.

 

[2019-NOV-30] Received evaluation unit - packed in my backpack to look at while at AWS re:Invent

 

[2019-DEC] Prepared first draft

 

[2020-JAN] Final edits

 

[2020-FEB] Submission

 

9. Observations and Closing Thoughts

The documentation is somewhat clunky, however if you take the time to look / read through what's provided and utilize the updated links in this Road Test Review, you'll be able to successfully connect the IoT Starter Kit to AWS.  AWS does update their console screens and what you see in the documentation does not match what AWS shows today.

 

If you're planning on doing any coding / development, download the 6.4 version of Cypress WICED Studio IDE and the needed target files.  Otherwise you will not be able to compile and deploy successfully the sample programs that are made available in the IDE.  With modifications, the sample code does successfully build for the BCM4242W platform.  The documentation references 4.0 which is no longer available.

 

The target audience of this Avnet BCM4343W kit is for the home hobbyist / IT professional who is comfortable with AWS and the C++ programming language, or the experienced industrial IoT developer.  However the industrial IoT developer will then deploy this onto the Avnet BCM4343W SoC Module for the final product (e.g. hard wire the module to sensors - temperature, humidity, pressure, proximity, level, accelerometer, gyroscope, gas, infrared and optical).

 

This can be used for a home-based project.  In addition, I would recommend this product for prototyping an industrial IoT PoC (Proof of Concept) as the breakouts support both digital and analog sensor data, and using the Pmod interface, one can hook various sensors (which is where I'm going next with this board in my next project).

 

image

 

Overall I would recommend this product for anyone who wants to experiment with AWS IoT and pick up some basic knowledge of how IoT works.

 

10. Thanks / Credits

beacon_dave / BigG / / / / - for providing input and thoughts on my mini blog post of the start of the drink dispenser project

- Running the RoadTest program and giving opportunities to the community to evaluate hardware

- Pointers on JTAG

- Helping me realize where my "draft" RoadTest went

- For a timely reminder to cite sources as part of the content that gets shared here [6]

- Moving the Actions panel to an intuitive location, making it easier for me to edit the "draft" of the RoadTest

 

11. References

[1] https://www.cs.cmu.edu/~coke/history_long.txt

[2] http://cseweb.ucsd.edu/~bsy/coke.history.txt

[3] http://ifindkarma.com/attic/HUMOR/Archive1/cokes

[4] http://cloudconnectkits.org/sites/default/files/5304-UG-AES-EVB-BCM4343W-V2_0.pdf (page 12)

[5] http://cloudconnectkits.org/sites/default/files/AES-EVB-BCM4343W-G-Product%20Brief-v5.pdf

[6] https://www.element14.com/community/message/285783/l/get-a-gold-star-by-citing-your-sources

Anonymous

Top Comments