For the past month, we've looked at various evaluation kits cypress provides for its PSoC 6 microcontroller (MCU). We began with the PSoC 6 WiFi-BT Pioneer Kit, a peripheral rich workstation with an LCD screen. Since then, we've moved through more compact development boards before landing on the subject of today's maker board overview: The CY8CPROTO-063-BLE PSoC 6 BLE prototyping kit.
What is the Cypress CY8CPROTO-063-BLE Development Kit?
This board is the smallest out of the bunch, but it packs many punches for its size. The main draw is the CYBLE-416045-02 EZ-BLE Creator Module, an ultra-low-power module for Bluetooth connectivity featuring a 150-MHz Arm Cortex-M4F CPU alongside an Arm Cortex M0+ running at 100HMz. Much like the CY8CPROTO-062-4343W PSoC® 6 Wi-Fi BT Prototyping Kit we featured last week, the kit comes in a snappable form, this time just separating the included KitProg 2 module from the mainboard.
Alongside Bluetooth connectivity, the CY8CPROTO-063-BLE (hereafter 063-BLE) has up to 36 general-purpose input/output (GPIO) pins, capable of working with I2C, UART, and SPI. It features high precision signal conversion and dual pulse density modulation channels for PDM microphones. There is a user-programmable button and a couple of LEDs for feedback too.
To those coming from an Arduino background, this board will seem the most familiar. While the software workflow is very different, the 063-BLE has breadboard compatible pin headers, and those wanting to add a more professional MCU to their projects will find the $20 USD price tag an enticing prospect. In short, this board is the perfect, bare-bones way to design software and hardware Bluetooth Low Energy (BLE) applications with the PSoC 6 MCU.
Should You Buy the Cypress CY8CPROTO-063-BLE Dev Kit Board?
We'll list the specs and some hands-on experience of the CY8CPROTO-0630-BLE kit below, but in our opinion, should you buy one?
Yes, at this price and with these features this board is a steal. It's not as easy to get up and running with as say, an Arduino, but that's not the target audience here. This is a professional grade MCU in a simple but fully featured evaluation board. The software tools and examples provided are of a high standard and allow even noobs like myself to get things up and running quickly, and the prospect of adding Bluetooth Low Energy connectivity to homegrown projects is just one of the many reasons this MCU is compelling.
If you are looking for a step up from hobby hacking and Arduino coding, there are many MCUs to choose from as a next step, but the combination of features with good, easy to follow example code makes this a great way to dive deeper into embedded hardware programming.
CY8CPROTO-063-BLE Schematic and Specifications
The onboard BLE module for the 063-BLE kit has its own set of specs:
CYBLE-416045-02 Creator Module
- Cypress Semiconductor PSoC 63 BLE Microcontroller
- Up to 36 GPIOs with programmable drive modes, strengths, and slew rates
- 1MB Application Flash with 32KB EEPROM area and 32KB Secure Flash
- Integrated trace antenna and passive components
The rest of the dev kit features the debugger and some user feedback:
- PSoC 6 MCU I/O headers
- PSoC Creator Integrated Design Environment (IDE)
- Two LEDs to provide feedback
- A push-button for user input
- Footprint for external ECO (2.0mm x 1.6mm, 24MHz)
- External WCO (32.768kHz)
- KitProg2 onboard programmer/debugger with CMSIS-DAP mode and USB to UART/I2C bridge functionality
- Perforated snap-away board design
- 1.8V to 3.3V operation
Out Of The Box Experience - Hands-on with the Cypress CY8CPROTO-063-BLE PSoC 6 BLE Prototyping Kit
The 063-BLE comes simply with the board and a short USB-A to microUSB cable to connect it to a computer or other power source. Like all the other boards in this line, it comes pre-flashed with an example that works in conjunction with the CySmart iOS and Android app.
The pre-flashed example shows off BLE communication. When powered up, the board advertises as a BLE device, which you connect to via the mobile app. The sample program uses the Find Me Profile, designed for immediate communication between devices. Changing the state in the app switches the LED between being off for "No Alert," flashing for "Mid Alert," and on continuously for "High Alert."
As always, pre-flashed examples are a nice way to test everything is working without having to set up a development environment. However, they also give a good entry point for those wanting to look under the hood straight away. You can find the BLE Find Me project's code as one of the examples in ModusToolbox for Eclipse IDE - the preferred way to programming PSoC 6 MCUs.
ModusToolbox Toolset for the PSoC 6 CY8CKIT 062 BLE Kit
Modustoolbox is a toolchain that Cypress provides for working with PSoC 6 MCUs, among others. It's designed to make configuring and programming as easy as possible, though the workflow may be a little daunting for beginners to embedded programming. As with most MCUs, the 063-BLE kit is programmed in C and uses extensive libraries written to help get prototypes off the ground. After trying out the pre-flashed demo, I opened up Modus, opened the project, and looked at how it was implemented in code.
The ability to see something working in real-time then debug the code behind it is incredibly valuable. Stepping into each function as it is called shows just how much boilerplate Cypress provides. Modifying these projects to prototype new behavior would be a great way for intermediate programmers to get a feel for how the entire ecosystem works.
ModusToolbox for Eclipse IDE has some quality of life features that can help simplify setting up the 062-BLE evaluation board. The visual pin configurator and clock tree are similar to others and make setting up timers and GPIOs for different use cases a much easy process than the manual diving and endless config files of the past.
There is also a visual library manager for each project, for easy access to both the PSoC 6 Base libraries and those designed specifically for development boards.
Updating The KitProg Programmer
One notable thing about the 063-BLE kit is the KitProg 2 debugger and programmer. This can be snapped off and used elsewhere and comes with pin headers for attaching to measurement equipment and logic analyzers. At the time of writing, KitProg 2 is slowly getting depreciated, but this isn't too much of an issue as updating to KitProg 3 firmware is a simple process using Cypress' command line firmware updater.
The program automatically detects any KitProg device, and updating is a quick process.
ModusToolbox Command Line Tools
So far, we've taken a very high-level look at ModusToolbox for Eclipse IDE. for most users, this will make sense, as it's a great implementation of the toolset, and it's available for all platforms. ModusToolbox can also work as a command-line application, and Cypress provides an in-depth guide to using the toolchain without ever needing to go near a mouse. Vim users, rejoice!
Bluetooth Low Energy for Everyone - Cypress Semiconductor CY8CPROTO-063-BLE Final Thoughts
Evaluation boards featuring the PSoC 6 series of MCUs are hard to write about. This isn't because they are dull or lacking in features; it's actually the opposite problem. While the learning curve will be steep for some, the 063-BLE, and other eval boards featuring the PSoC 6 MCU family, are the perfect place to learn about professional level, secure, connected hardware programming. For $20 USD you will find yourself with a small development board to learn almost everything you'd need to know for a career in embedded hardware or take your hobby knowledge to the next level.