Skip navigation
Home > All Places > ModusToolbox BT SDK > Blog

I just spotted that Alan Hawse posted up all the supporting content from the Bluetooth Mesh workshop video he did with Mouser on his site. The video is well worth a watch and the material he just posted is tremendous.

Alan can be sneaky like that. He never tells me that he has posted some really useful stuff on his site. So I don't let people know about it in my blog. He says it has something to do with him being my boss, not the other way around, but I'm not sure I see his point. Anyway, here are the links to the good Bluetooth Mesh knowledge.

0 - introduction

1 - developer resources

2a - building a mesh network using the mesh lighting app

2b - building a mesh network using the mesh client

3 - making a light switch using the example code

4 - integrating the modus toolbox code examples

5 - bluetooth mesh fundamentals

6 - the dimmable light code

7 - modifying the dimmable light code to add another light element

The Cypress Bluetooth SoC device can either be used in controller mode or embedded mode.


In controller mode, the Cypress Bluetooth SoC device runs the Bluetooth controller stack and the Bluetooth host stack is run on an external host MCU. The Cypress Bluetooth SoC device uses the Host Controller Interface (HCI) to communicate with the host controller.


In embedded mode, both the Bluetooth host stack and the controller stack are run on the Cypress Bluetooth SoC device. All the components of the controller stack and most of the components in the host stack reside in the device ROM. The user application, which can call APIs to access the ROM code, is programmed into the flash. If no code is programmed into the flash and the device is powered ON, it behaves like a Bluetooth controller that is controlled by HCI.


The Cypress Bluetooth SoC device uses “patches” to ROM code to modify the behavior and fix bugs. These patches can be built into a core patch file (called general patch in the remaining part of this document) that is included in all ModusToolbox builds, or they can be built into optional patch libraries (called patch libraries in the remaining part of this document) that are application-specific, such as patches that pertain to audio or mesh network applications only. This approach optimizes the use of patch RAM by using only the patch libraries that are needed for a given application.


Cypress BT devices support Over-The-Air (OTA) updates of the application code. More details on OTA can be found at Cypress WICED CYW20719: Main Page in WICED User Guides section.


Programming the device does more than just copy the patch and application code to flash. It also uses commands to configure the structured data, cause the CPU to make function calls, configure hardware registers, etc. The default way to download firmware is through boot loading over the HCI UART. The device ROM contains a piece of code which can accept data through HCI commands from an external device (PC or MCU) and store it in flash. When the application code is downloaded, the host MCU (or PC) first transfers a piece of code called minidriver to SRAM; the minidriver then accepts further data through HCI commands and stores it to on-chip flash (OCF). More details about the minidriver can be found in Programming Guide.


Figure 3. Cypress Bluetooth SoC Firmware Download Flow

Firmware Block Diagram.JPG


Bluetooth Mesh FAQ

Posted by MarkS_11 Jun 9, 2019

I collected all the questions that you asked us at Alan's video workshop the other day, made sure the answers made sense, reordered them into a somewhat sensible arrangement, and put them into an FAQ. It is attached, below, in the downloadable file "Bluetooth Mesh Video Workshop FAQ.pdf". Hope you find it useful!


We had a really successful workshop on Wednesday this week. Plenty of people attended and Alan kept them all engaged with his knowledge, humor, and famous dancing skills. He programmed a bunch of Cypress CYBT-213043-MESH kits to be lights and switches, created networks and rooms (aka groups), then controlled LEDs via buttons on the (switch) kit, the Cypress mobile app, and our desktop MeshClient tool. He even showed how to set up sensors like accelerometers and motion detectors, and integrate that functionality into the network (for example, by automatically turning on the lights in a room when someone enters).

Alan Hawse Electronic Design Mouser Bluetooth Mesh

What???? You missed it! Shame on you... actually, don't worry because we recorded it all and it you can watch it in our community site.

In the middle of the craziness, Alan manages to methodically explain how the network operates, what happens in the 7 layers of the stack, the roles of the nodes, the difference between provisioning and configuration, how security is implemented, and how the definitions of generic models enables devices from different vendors, with different capabilities (e.g. simple OnOff lights and complex devices supporting independent control of hue, saturation and lightness), to coexist seamlessly in a network without compromising functionality or user experience.

It was a pretty intense event but we had a lot of fun doing it! Here is the team from Cypress and Mouser who pulled it all together. I tried to pick a photo where no-one was being goofy... this was as good as it got.

Bluetooth Mesh video workshop team from Cypress and Mouser

From left to right there's Kevin Palmer from Mouser, yours truly, Alan, Christina Wang, Gehrig Castles, also from Mouser, and Matthew Salmanpour (who was very happy because, unlike his Embedded World experience, his feet weren't hurting).

Missing from the picture, partly because they were holding the cameras, are the production team at ON24, who did a stellar job of hosting the event and getting the video online within a day. Thank you guys!

I am setting off to a local studio today to dry-run a new video workshop with our resident IoT expert, Alan Hawse. The event is going to be hosted by Electronic Design and is co-sponsored by Mouser Electronics. We get to iron out the kinks today and the live show is tomorrow at 8am Pacific Daylight Time.

How to Design with Bluetooth Mesh - Cypress, Mouser, Electronic Design

If you have never attended one of these events before, or have not been lucky enough to enjoy "The Alan Hawse Show" at the Embedded World or Electronica shows in Germany, then do yourself a favor. Sign up! It's free, educational, and Alan will definitely drop in some funnies along the way to keep you engaged. Here are the details:


Date: Wednesday, May 29, 2019

Time: 11:00 AM Eastern Daylight Time

Sponsor: Mouser Electronics and Cypress

Webinar Type: Live Broadcast Webinar

Duration: 2 Hours


Even if you do not have an immediate need to use Mesh, this is an exciting new technology that you really need to know a little about. At the very least it might help you figure out why the bathroom light always goes on when you turn on your new dishwasher...

Registration is easy and only takes about a minute. Did I mention that it is free? Go on! Get signed up now!