RoadTest: Enroll to Review the ADI Bluetooth®︎ 5 MCU Board with a 6-axis accel/gyro
Author: Unknown
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?: ADI MAX32665, ADI MAX32667, ADI MAX32668,TI, Renesas, Microchip, Arduino,ST, NXP,Infineon
What were the biggest problems encountered?: None
Detailed Review:
Note : This is repost of the review performed by me, for this product and posted dated 19 May 2024.
Thanks for choosing me to review and evaluate the Analog Devices MAX32666FTHR, which I had received on 26th March 2024.
What this evaluation Kit is or what Analog Devices MAX32666FTHR is ?
The MAX32666FTHR is an evaluation boards and kits by Analog Devices (ADI) for the development of rapid and fast prototypes. There is also another similar kind evaluation board with suffix 'EVKIT' and thus, ADI offers MAX32666 in two variants - FTHR and EVKIT, with respectively sold as MAX32666FTHR and MAX32666EVKIT. And to add little confusion, ADI has MAX32666GWP+ but it is only a microcontroller not an evaluation board.
With this entry level development board of Analog Devices MAX32666FTHR, one can develop prototypes related to
As RTOS can be implemented, one can develop even prototypes which can incorportatd in airplanes/helicopters/choppers/warfare/military or even the prototypes which can be implemented ICU or patient related devices.
The Analog Devices MAX32666FTHR has IC MAX1555 on its PCB board, which charges a single-cell Li+ battery from a USB source, so it can be used as battery charger in
The Analog Devices MAX32666FTHR has MicroSD card, which can be used for storage of data by sensors and can be used as data acquisition. The Analog Devices MAX32666FTHR has inbuilt accelerometer and gyrometer BMI160. This ADI MAX32666FTHR has also inbuilt bluetooth antenna which helps in developing medical IoT devices and the inbuilt suport of libraries can be used to get heart rate, steps, acceleration etc, though this will need more coding (which might not be easy for all) but ADI has developed libraries which looks like 80% work accomplished but to make it fully work and data transfer using Rx/Tx or SPI or I2C is not an easy task (unless the fundamentals of ADI microcontroller are clear). The inbuilt features of bluetooth, RTOS and lithium battery charger are specially impressive as with the support of libraries, it was easy to put add on in projects but to achieve more proper outcome, coding is not straightforward.
In the following demonstrations, I am not showing circuit as it is very elementary and the interfacing is similar to any microcontroller, which can be searched on internet; though I have shown the experimental setup.
Note : None of the videos have any audio except those which use buzzer.
1. Unboxing
| {gallery}Unboxing ADI MAX32666FTHR |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
Following contents and items are given in the kit
1. MAX32666FTHR Board (this is evaluation board) with pin-outs description in small visiting card size
2. MAX32625PICO (this is a debugger) with pin-outs description in small visiting card size
3. Two header pins - 12 pin and 16 pin
4. Two cables USB cables of different sizes but both are USB-A to Micro-B cable
5. One cable, 10- pin 2x5, 1.27mm IDC (insulation-displacement contact), this is a Flat Ribbon Cable
2. Understanding Evaluation Boards
There are two boards in the box, one is MAX32666FTHR and the other is MAX32625PICO. The MAX32625PICO board will be connected with ribbon cable as it is needed to program the evaluation board MAX32666FTHR.
Note : MAX32666FTHR has no on-board programmer.
2.1 MAX32666FTHR
1) MAX32666FTHR Board
| {gallery}max32666fth |
|---|
MAX32666FTHR Top Side Components Source: MAX32666FTHR Application Platform (319-100525; Rev 0; 3/20) |
MAX32666FTHR Pinout Diagram |
MAX32666FTHR Bottom Side Components |
2) MAX32666FTHR Schematic
| {gallery}MAX32666FTHR Schematic |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
3) MAX32666FTHR Gerber
| {gallery}MAX32666FTHRGerber |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
4) MAX32666FTHR Board Voltages

5) MAX32666FTHR Lithium Ion Battery charger
2.2 MAX32625PICO
1) MAX32625PICO Board Pinout

Source : MAX32625PICO Application Platform
2) MAX32625PICO Pin Descriptions
Following tables are all from datasheet
| {gallery}MAX32625PICO Application Platform |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
3) MAX32625PICO Schematic
| {gallery}MAX32625PICO Schematic |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
4) MAX32625PICO Footprints
| {gallery}MAX32625PICO Footprints |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
5) MAX32625PICO Board Voltages
3. Installation SDK
3.1 Downloading the Software
To download software, pls click and go here, and then scroll to 'Tools & Simulations', and choose correct sofware 'Maxim Micros SDK (Windows), 1.0.1', according to operating system
It will ask login/registration as in the image gallery
| {gallery}ADI sw Installation |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
3.2 Installation of the Software on Ubuntu
| {gallery} Installation of the Software on Ubuntu |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
|
|
3.3 Opening The Eclipse MaximSDK
sudo chmod a+x eclipse.sh
sudo ./eclipse.sh

This, I have upgraded to

3.4 I have updated Linux Kernel from 6.2(generic) to 6.5 (Low latency)

4. Preparation of Board for Projects and Basic Test
Lets start playing and see the output of the simple plug and play connections
1) Firstly, the headers pins are soldered on MAX32666FTHR. Both the header pins 12 pin and 16 pin are soldered on MAX32666FTHR as below

2) The two cables USB-A to Micro-B has one side flat and one side round, the flat side is to be above
| {gallery}USBa |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
3) Connect the ribbon cable, The is 10- pin 2x5, 1.27mm IDC (insulation-displacement contact), also known as insulation-piercing contact (IPC) Socket-Socket flat ribbon cable.
Note : The cable has more pins than needed by board. Also insert it properly with the cable hood into socket hole as in the image gallery.
| {gallery}ribbon |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
4) Now, insert SD card in MAX32666FTHR
| {gallery}sd |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
5) Now connect the USB cable from MAX32666FTHR to Ubuntu.It shows blue light blinking but the USB do not gets detected !
6) Now connect the ribbon IDC cable from MAX32666FTHR to MAX32625PICO and the USB cable from MAX32625PICO to Ubuntu.
7) Also, when MAX32625PICO is connected with USB to PC or laptop, whether standalone or with MAX32666FTHR, it gets detected and following is the content from 'DETAILS.TXT'
Here, I have masked Unique ID, HIC ID and Git SHA
# DAPLink Firmware - see https://mbed.com/daplink
Unique ID: 0409XXXXXXXXXXXXXXa000000000000000000000000XXXXX
HIC ID: 97969906
Auto Reset: 1
Automation allowed: 1
Overflow detection: 1
Page erasing: 1
Daplink Mode: Interface
Interface Version: 0256
Git SHA: aab4d91774dc53be80xxxxxxxxx38b247ecec
Local Mods: 0
USB Interfaces: MSD, CDC, HID, WebUSB
Interface CRC: 0x773b8887
Remount count: 0
URL: https://mbed.org/device/?code=@U?version=@V?target_id=@T
8) This MAX32625PICO, also gets detected by PC or laptop as below in the gallery
| {gallery}maxoico |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
9) Lets also see the output of bluetooth
WIth just plug in of USB cable, bluetooth gets detected on Android Mobile but it does not get paired unless programmed or the board is open in IDE
| {gallery}blue |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
The pairing and file transfer demo is shown in Project No. 8.
10) The Analog Devices MAX32666FTHR has MicroSD card, which can be used for storage of data. With just plug in of USB cable and MicroSD inserted in the socket, you cannot access the card unless programmed which is shown in Project No. 12.
5. Project 1
Project Title : Welcome Message with LED toggling to RBG ON and OFF after 20 seconds with count
Description: Welcome Message and the LED on MAX32666 switches ON after 20 seconds to RED and a messages is displayed on console, then this RED LED switches OFF after 20 seconds and second message is displayed on console, then after 20 seconds BLUE LED switches ON and a messages is displayed on console, then this BLUE LED switches OFF after 20 seconds and fourth message is displayed on console, then after 20 seconds GREEN LED switches ON and a messages is displayed on console, then this GREEN LED switches OFF after 20 seconds and sixth message gets displayed on console,
Experimental Set Up:

Snippet :
//Author : Mr. Abhishek Bansal
//Company: New Era Consultancy Services
1000023c: movs r0, #1
1000023e: bl 0x100003d0 <LED_On>
10000242: ldr r0, [pc, #116] ; (0x100002b8 <main+188>)
10000244: bl 0x1000177c <puts>
10000248: mov r0, r4
1000024a: bl 0x100009d4 <MXC_Delay>
1000024e: movs r1, #2
10000250: mov r0, r5
10000252: bl 0x100016b8 <printf>
10000256: movs r0, #1
10000258: bl 0x10000414 <LED_Off>
1000025c: ldr r0, [pc, #92] ; (0x100002bc <main+192>)
1000025e: bl 0x1000177c <puts>
10000262: mov r0, r4
10000264: bl 0x100009d4 <MXC_Delay>
10000268: movs r1, #3
1000026a: mov r0, r5
1000026c: bl 0x100016b8 <printf>
10000270: movs r0, #2
10000272: bl 0x100003d0 <LED_On>
10000276: ldr r0, [pc, #72] ; (0x100002c0 <main+196>)
10000278: bl 0x1000177c <puts>
1000027c: mov r0, r4
1000027e: bl 0x100009d4 <MXC_Delay>
10000282: movs r1, #4
10000284: mov r0, r5
10000286: bl 0x100016b8 <printf>
1000028a: movs r0, #2
1000028c: bl 0x10000414 <LED_Off>
10000290: ldr r0, [pc, #48] ; (0x100002c4 <main+200>)
10000292: bl 0x1000177c <puts>
10000296: mov r0, r4
10000298: bl 0x100009d4 <MXC_Delay>
1000029c: movs r1, #5
1000029e: mov r0, r5
100002a0: bl 0x100016b8 <printf>
100002a4: movs r0, #0
100002a6: pop {r3, r4, r5, pc}
100002a8: cmp r5, #0
100002aa: lsls r1, r6, #4
100002ac: strh r0, [r5, #38] ; 0x26
100002ae: asrs r0, r0, #32
100002b0: strh r0, [r7, #38] ; 0x26
100002b2: asrs r0, r0, #32
100002b4: strh r4, [r0, #40] ; 0x28
100002b6: asrs r0, r0, #32
100002b8: strh r0, [r7, #40] ; 0x28
100002ba: asrs r0, r0, #32
100002bc: strh r0, [r3, #42] ; 0x2a
100002be: asrs r0, r0, #32
100002c0: strh r4, [r5, #42] ; 0x2a
100002c2: asrs r0, r0, #32
100002c4: strh r4, [r3, #44] ; 0x2c
100002c6: asrs r0, r0, #32
Output on MAX32666FTHR :
Output on Console, GTK Terminal :

6. Project 2
Project Title : Warning Flashing LED ALARM on ADI MAX32666FTHR
Description: The on-board LED is used as LED alarm which flashes at two frequencies and three colors- red, blue, purple(psychadelic purple). The time at which the button is pressed gets displayed on the console. If button is pressed twice, time resets to ZERO and if a button is presssed once, time continues; both these times are also displayed on the console.
Experimental Set Up :

Output on MAX32666FTHR Board:
Output on Console, GTK Terminal :
On the console ,it can be seen times
7. Project 3
Project Title : Big O Computation Timing Analysis of Algorithm
Description: Testing of computation time of algorithm on Analog Devices MAX32666FTHR - (a) Testing (Big O, T(n)) of Bansal ß DC-DC Algorithm (b) Testing (Big O, T(n)) of Bansal ß Clinical Heart and Lungs Treatment Algorithm
Experimental Set Up:

Output on Console, GTK Terminal :

1) Dummy Algorithm 1 : Testing of Bansal ß DC-DC Algorithm
Time Elapsed: 199.24396 Seconds = 3 minutes 3207326667 seconds
Video : 00:00 - 03:21
2) Dummy Algorithm 2 :Testing of Bansal ß Clinical Heart and Lungs Treatment Algorithm
Time Elapsed: 761.779872 Seconds = 12 minutes 6963312 Seconds
Video : 03:22- 16:12
8. Project 4
Project Title : Implementing Real-Time Operating System on Analog Devices MAX32666FTHR
Description: This project implements FreeRTOS (https://www.freertos.org/) on Analog Devices MAX32666
Experimental Set Up:

Snippet :
//Author : Mr. Abhishek Bansal
//Company: New Era Consultancy Services
#include "FreeRTOS.h"
#include "FreeRTOSConfig.h"
void vRegisterCLICommands(void);
SemaphoreHandle_t xGPIOmutex;
TaskHandle_t cmd_task_id;
unsigned int disable_tickless = 1;
mxc_gpio_cfg_t uart_cts = { MXC_GPIO0, MXC_GPIO_PIN_8, MXC_GPIO_FUNC_IN, MXC_GPIO_PAD_WEAK_PULL_UP,
MXC_GPIO_VSSEL_VDDIOH };
mxc_gpio_cfg_t uart_rts = { MXC_GPIO0, MXC_GPIO_PIN_11, MXC_GPIO_FUNC_OUT, MXC_GPIO_PAD_NONE,
MXC_GPIO_VSSEL_VDDIOH };
void vAssertCalled(const char *const pcFileName, uint32_t ulLine)
void vTask0(void *pvParameters)
{
TickType_t xLastWakeTime;
unsigned int x = LED_OFF;
xLastWakeTime = xTaskGetTickCount();
while (1) {
if (xSemaphoreTake(xGPIOmutex, portMAX_DELAY) == pdTRUE) {
if (x == LED_OFF) {
x = LED_ON;
} else {
x = LED_OFF;
}
xSemaphoreGive(xGPIOmutex);
}
vTaskDelayUntil(&xLastWakeTime, configTICK_RATE_HZ);
}
}
async_read_req.uart = ConsoleUART;
async_read_req.rxData = &tmp;
async_read_req.rxLen = 1;
async_read_req.txData = NULL;
async_read_req.txLen = 0;
async_read_req.callback = vCmdLineTask_cb;
void WUT_IRQHandler(void)
{
MXC_WUT_IntClear();
NVIC_ClearPendingIRQ(WUT_IRQn);
}
volatile int i;
for (i = 0; i < 0xFFFFFF; i++) {}
MXC_GPIO_Config(&uart_cts);
MXC_GPIO_Config(&uart_rts);
MXC_GPIO_OutClr(uart_rts.port, uart_rts.mask);
turnOffUnused();
MXC_WUT_Init(MXC_WUT_PRES_1);
mxc_wut_cfg_t wut_cfg;
wut_cfg.mode = MXC_WUT_MODE_COMPARE;
wut_cfg.cmp_cnt = 0xFFFFFFFF;
MXC_GPIO_OutSet(uart_rts.port, uart_rts.mask);
MXC_WUT_Edge();
pre_capture = MXC_WUT_GetCount();
MXC_WUT_SetCompare(pre_capture + wut_ticks);
MXC_WUT_Edge();
LED_Off(SLEEP_LED);
deepSleep();
LED_On(SLEEP_LED);
post_capture = MXC_WUT_GetCount();
actual_ticks = post_capture - pre_capture;
LED_On(1);
portENTER_CRITICAL();
vTaskStepTick((actual_ticks / WUT_RATIO));
Output on MAX32666FTHR Board :
Output on Console, GTK Terminal :

9. Project 5
Project Title and Description : Testing Semaphore on ADI MAX32666FTHR
Output on Console, GTK Terminal :

10. Project 6
Project Title : Implementing 16-bit and 32-bit Cyclic Redundancy Check
Snippet :
for (i = 0; i < len; ++i) {
temp = (data[i] & 0xFF);
for (j = 0; j < 8; ++j) {
if ((temp ^ crcval) & 1) {
crcval >>= 1;
crcval ^= polynomial;
} else { crcval >>= 1; }
temp >>= 1;}}
Output on Console, GTK Terminal :

11. Project 7
Project Title : Testing Codes for Temperature Sensor TMP36 with ADI MAX32666FTHR
Description: The temperature sensor TMP36 is interfaced with Analog Devices MAX32666FTHR at analog input of 10-bit ADC.
Experimental Set Up:

Comparison by Thermometer and MAX32666 ADC Console, GTK Terminal :
1) Output of Code 1
A)


B)


2) Output of Code 2
A)

B)


12. Project 8
Project Title : Testing Codes On Inbuilt Bluetooth Surface Mount Antenna of ADI MAX32666FTHR
Description: Testing different codes available on Internet (from Analog Devices) and seeing the output.
Experimental Set Up:

Output on Console, GTK Terminal :
1) Output of Code 1

2) Output of Code 2

3) Output of Code 3, after Implementation of RTOS

4) Output of Code 4
Here the Bluetooth name is not MAX32666FTHR but DAT, which can be seen in the screenshot - Adv local name
Detected but FAILED and not paired on Mobile Android
| {gallery}BLUMAX32666 |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
5) Output of Code 5
| {gallery}blue5out |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
6) Output of Code 6
| {gallery}b6ma |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
7) Output of Code 7
Here the Bluetooth name is not MAX32666FTHR but Fit, which can be seen in the screenshot - Adv local name
| {gallery}B7BLU |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
SUCCESSFULLY PAIRED WITH ANDROID
Here the Bluetooth name is not MAX32666FTHR but Fit
| {gallery}Bluetoothfit |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
8) Output of Code 8
Here the Bluetooth name is not MAX32666FTHR but MCS, which can be seen in the screenshot - Adv local name
Code Snippet :
#define PLATFORM_UART_TERMINAL_BUFFER_SIZE 2048U
#define DEFAULT_TX_POWER 0
#define BTN_SHORT_MS 200
#define BTN_MED_MS 500
#define BTN_LONG_MS 1000
#define BTN_1_TMR MXC_TMR2
#define BTN_2_TMR MXC_TMR3
enum { MCS_APP_GATT_SC_CCC_IDX,
MCS_APP_BT_CCC_IDX,
MCS_APP_NUM_CCC_IDX};
typedef union {
wsfMsgHdr_t hdr;
dmEvt_t dm;
attsCccEvt_t ccc;
attEvt_t att;
} mcsMsg_t;
static wsfBufPoolDesc_t mainPoolDesc[] = { { 16, 8 }, { 32, 4 }, { 192, 8 }, { 256, 8 } };
static void mainWsfInit(void)
{const uint8_t numPools = sizeof(mainPoolDesc) / sizeof(mainPoolDesc[0]);
uint16_t memUsed;
WsfCsEnter();
memUsed = WsfBufInit(numPools, mainPoolDesc);
WsfHeapAlloc(memUsed);
WsfCsExit();
WsfOsInit();
WsfTimerInit();}
| {gallery}MCS |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
SUCCESSFULLY PAIRED WITH ANDROID
Here the Bluetooth name is not MAX32666FTHR but MCS
| {gallery}mcsconncted |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
9) Output of Code 9
Here the Bluetooth name is not MAX32666FTHR but Periph, which can be seen in the screenshot - Adv local name
| {gallery}peirph2 |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
Detected but FAILED and not paired on Mobile Android
| {gallery}perih2 |
|---|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
13. Project 9
Project Title : Different Buzzer Sounds using ADI MAX32666FTHR
Experimental Set Up:

Output on Console, GTK Terminal :
1) Output of Code 1
The sound can be heard at 0:06, 0:09 and 0:15.
2) Output of Code 2
3) Output of Code 3
4) Output of Code 4
5) Output of Code 5
6) Output of Code 6
7) Output of Code 7
8) Output of Code 8
9) Output of Code 9
10) Output of Code 10
11) Output of Code 11
12) Output of Code 12
13) Output of Code 13
14) Output of Code 14
15) Output of Code 15
16) Output of Code 16
14. Project 10
Project Title : Testing Bootloader to update application code provided by host microcontroller ADI MAX32666FTHR
Description: Testing Bootloader code available on Internet (from Analog Devices) and seeing the output. As there is no hardware connected using I2C or SPI, and as there is no firmware update, it shows FAILURE, and thats why I have even printed on screen FAKE.
Output on Console, GTK Terminal :
15. Project 11
Project Title : 16x2 LCD on Analog Devices MAX32666
Experimental Set Up:

16x2 LCD setup on Analog Devices MAX32666
Output on Console, GTK Terminal :
1) Output of Code 1

2) Output of Code 2

16. Project 12
Project Title : Testing Inbuilt SD Card of ADI MAX32666FTHR
Description: Testing code available on Internet (from Analog Devices) and seeing the output.

Output
1) Output 1
2) Output 2
3) Output 3
17. Project 13
Project Title : Voltmeter with ADI MAX32666FTHR vs DMM Voltmeter
Experimental Set Up:

Output on Console, GTK Terminal :

Voltage using DMM(Digital Multimeter)

The error of 0. 93 Volts is due to voltage divider.
18. Project 14
Project Title : Soil Moisture Percentage and Level in Four Soil Samples Using ADI MAX32666FTHR
Experimental Set Up:
| {gallery}soilexp |
|---|
|
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
IMAGE TITLE: THEN IMAGE DESCRIPTION |
Output on Console, GTK Terminal :

19. Project 15
Project Title : Interfacing HC-SR04 with ADI MAX32666FTHR
Experimental Set Up:

Output on Console, GTK Terminal :
1) Output 1

2) Output 2

The distances are not correct !
20. Conclusion
The Analog Devices (ADI) has brought up a development board which can be even used for critical applications at an economical price. Even though this board MAX32666FTHR is said as entry level board but this board features bluetooth, Micro SD card and a single-cell lithium-ion (Li+) charger; these features generally entry level boards do not have. The board is as good as any other board of other competitor/vendor but the real competition of this board is with different chipsets from ADI only.
There is one Con, the programming is not similar as in other microcontrollers but I enjoyed it as it helped me in going through 'C' coding on which I was lazy to brush but the errors made me get back on the track. And probably after 1-4 months, I would be at advanced/expert level in it. But otherwise, there is as such no Con.
The beginners will find some difficulty in understanding as it is little complicated in understanding how to use. For instance, MAX32666FTHR do not get detected when the USB cable is plugged as plug/play with USB. It needs MAX32625PICO to get programmed and this MAX32625PICO gets detected. This MAX32625PICO is like any other programmer but due to very small size can be mistaken as board. But once this basic confusion (which happens due to very small size) gets cleared, its same as any other programmer and board.
Those who are experienced in microcontrollers, and who know basic coding will find this development board a fun and as I have demonstrated above.
Those who are very beginners and don't know any programming and those who do only copy and paste codes, wont be able to handle this particular board, as except very basic examples, rest codes are not copy paste and need modification, where even modification may not be easy for some! but this board helps in learning, and then its lot to learn.
I am able to achieve 100% success in not so basic projects or complex project (for some it may be elementary) where I have used combination of interrupt lines, cache controllers, power controller, FREERTOS,RTC, ADC, I2C,SPI,bluetooth etc in achieving the same which is usually achieved without the use of interrupt, DMA etc.
I have demonstrated successful implementation of FREERTOS and development of same simple projects but using FREERTOS. I have demonstrated successful connection and pairing of inbuilt bluetooth antenna which is surface mounted to Android Mobile, thus, data of heart rate, battery level, electricity meter, accelormeter or, Thus, the Analog Devices MAX32666FTHR has proved a rapid prototype development board.
This product is best comparable to its successor/predecessor chips -ADI MAX32665, ADI MAX32667,ADI MAX32668 as all these have nearly the same block-diagram.
In the future, I can develop sophisticated applications using the same board but I need 2-6 months for it as involved in other works, and this would be part-time development.
