RoadTest: Enroll to Review the ADI Bluetooth®︎ 5 MCU Board with a 6-axis accel/gyro
Author: taifur
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?: MAX32666EVKIT
What were the biggest problems encountered?: The only problem I faced was debugging the board in Eclipse IDE.
Detailed Review:
Introduction
Before starting the review I would like to thank Element14 and Analog Device Authority for selecting me as one of the RoadTester for the ADI Bluetooth 5 MCU Board. The MAX32666FTHR board is a rapid development platform to help engineers quickly implement battery optimized Bluetooth® 5 solutions with the MAX32666 Arm® Cortex®-M4 processor with FPU. The board also includes the MAX1555 1-Cell Li+ battery charger for battery management. In this blog post, I will share my experience with this board as a new user. I never used the MAX32666FTHR before.
Before starting my practical experiment I want to share some unboxing photos with you.
Unboxing
The module came inside a 16.5 X 10 X 5.5 cardboard box with several accessories. It seems the box is at perfect size with a white outlook.
After opening the box you will get the following things as shown in the image below. I got a cool white tin box with a printed logo of Maxim integrated on top of it, a card with the MAX32666FTHR pinout, the MAX32666FTHR board inside an electrostatic bag, and a USB cable. The tin box is really cool and I wish to use it as a housing for any of my future projects. The pinout card also includes a QR code that will guide you to the product page from where you can download the user guide and reference design files.
Inside the tin box, I got another micro USB cable, a MAX32625PICO board, and a pin diagram card. The MAX32625PICO is a microcontroller board that can also be used as a programmer and debugger. The board
includes a 10-pin ARM Cortex debug connector so that the board can be used as a DAPLink adapter. It supports drag-and-drop programming.
Inside the electrostatic box with the MAX32666FTHR board, I also got a few pin headers and an Adafruit 10-pin IDC (SWD) ribbon cable. The cable is used to connect the MAX32666FTHR to the MAX32625PICO board using SWD programming connectors during programming and debugging.
The size of the board is close to Raspberry Pi PICO. By length, it is almost similar to PICO.
The board is slightly wider than PICO.
The top and bottom view of the board is shown in the following image. On the top side, it has a battery connector and a 10 PIC micro SWD connector. On the bottom side, the board has a micro SD card socket.
An official unboxing video is available on YouTube.
Out-of-Box experience
My habit is reading the getting started guide of any microcontroller board first before doing anything practically with it. After reading the getting started guide of the MAX32666FTHR board I got confirmed that the board came with a preloaded example program (nowadays, many microcontroller development boards have) for BLE Beacon. I have some previous experience working with BLE. So, I know for testing the Beacon, I need to install a BLE scanner app on my smartphone. The user guide does not recommend any specific BLE scanner. Fortunately, I already have nRF Connect from the Nordic semiconductor installed on my phone. So, I was reluctant to install another app instead of using the previously installed nRF Connect. According to the user manual, I powered up the MAX32666FTHR board. The D4 LED was blinking with the color blue.
After that, I opened my phone app and scanned for any BLE advertising device. Immediately I discovered the MAX32666FTHR Beacon device. The screenshot of the search result from nRF Connect is as follows:
The Beacon was transmitting packets at regular intervals. As it was connectable, I touched the Connect button and the Beacon was connected automatically.
| {gallery}BLE Packets |
|---|
|
|
Battery Charging
For connecting any single cell Li+ battery the MAX32666FTHR board has a 2mm spaced 2pin right angle connector. As per the user manual when the board is connected through a USB the maximum charging current is 100mA. Above 110 degree Celsius the charging current is reduced by 17mA with 1 degree Celsius of temperature increase. The user guide does not mention any capacity limit for the Li cell. I was very curious to test the battery charging functionality. So, I managed a 2-pin connector and an 1800mAh Li-ion battery. I have a Nordic Power Profiler Kit II (PPK2) in my bucket. I used that PPK2 for measuring the charging current. The connection among PPK2, MAX32666FTHR, and the battery is shown in the following image.

The following image was taken when recording the current after powering the circuit.
The recorded graph of the charging current is attached below. The average charging current is around 90mA and the maximum recorded current is around 95mA which is very close to the mentioned current in the user guide.


Preparing Development Environment: how easy is it?
After testing the preloaded application, the next step is to develop your own application/firmware. We need a development environment for developing (writing code, compiling, testing, debugging, burning to MCU) firmware for any microcontroller. I never used a Maxim microcontroller before, so I was looking for the required tools for Maxim microcontrollers. After searching Google I discovered that Analog Devices has a Cross Platform SDK that can be used with popular Eclipse IDE for code development. After another search, I got a link for the SDK installer for Windows (https://www.analog.com/en/resources/evaluation-hardware-and-software/software/software-download.html?swpart=SFW0010820B#). It required login to download the installer. I launched the installer and the installation was just a matter of a few clicks. To be honest, finding the installer to download was not easy for me. The download link is not mentioned in any user guide.

The MAXIM Micros SDK also works with Visual Studio Code. After finishing the installation a GitHub README.md link was automatically opened that guided me to configure my VS Code for Analog Devices MSDK. I was curious to setup VS Code and I clicked on Getting Started with Visual Studio Code but unfortunately, the link was dead.

Then from the link of the beginning of the page, I went VSCode-Maxim GitHub and found a way to configure the SDK path.

The instructions were easy to follow and worked successfully.

Writing the Code
The development environment is ready. Its the time to write the code. I have two options. I can use Eclipse or VS Code. Let's try Eclipse first. Before starting I wanted to have a look at the MSDK user guide.

The user guide is very user-friendly. Everything is illustrated with figures and is easy to follow by users of any level.

By following the guide and the video guided me through the HelloWorld example:
I was able to successfully build the HelloWorld application using the Eclipse IDE.

But unfortunately, I was getting the following error while trying to debug the application. I showed the error message in the following image.

I Googled the problem but did not find any solution regarding this. I need to do some research later on it.
Let's try in VS Code. MSDK user guide (https://analogdevicesinc.github.io/msdk//USERGUIDE) is really helpful and easy to follow. By following the guide I already set the SDK path as I mentioned earlier. Now, I want to open an example program and run it to the development board.

I followed the guide to configure the build option and finally ran the program without any problem.

For flashing the MAX32666FTHR board I arranged the following connections between two boards.
For watching the serial message from the MAX32666FTHR board I used the Arduino serial terminal as shown in the following screenshot.

At this stage, I can say everything is working perfectly. I built and flashed the BLE_LR_Peripheral example and it was working as expected in the serial monitor.

But using the BLE scanner from my iPhone I could not see the device and for this reason, I could not test the range.
Conclusion
MAX32666FTHR board is a low-priced price powerful ARM microcontroll board that includes BLE, an SD Card slot, 6-Axis Accelerometer/Gyro sensor, and Li+ battery management functionality. The board can be a perfect choice for any IoT project that needs BLE, a data logger, and a wearable medical device. Though beginners may face some difficulties in understanding the user guide, it is perfectly okay for people who have some previous experience working with ARM microcontrollers.
Top Comments
> Actually, the cable was attached previously to my desktop PC and I was too lazy to replace the cable
Yikes. In future when you're selected to RoadTest hardware, please do ask for parts like this. We…