Ultra-Low Power Arm Cortex-M4 Darwin MCU EVM - Review

Table of contents

RoadTest: Ultra-Low Power Arm Cortex-M4 Darwin MCU EVM

Author: berkut3000

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?: In our current implementations, we have been using the EFM32ZG222F32. So this is a good alternative as it uses less space in the board, and has more memory for out IoT aplications.

What were the biggest problems encountered?: Mainly, software compatibility issues and time. Windows 8 had compatibility issues; and since I'm using my Workplace laptop, I had to upgrade from Windows 8 to 10, but this requires placing an issue ticket to my TI department and WAIT until they are available. On another personal note, my schedule has been a problem, because I have been assigned the the task of setting up an IoT server (which I'm gonna use with this product) and I had to travel, so I was absent for a whole bi-week. Furthermore, the people that were supossed to help me were assigned other tasks which resulted in their absence, too. Also, I was looking for hosting my review-tutorial site, which in the end was Gitlab Pages. Check it out!

Detailed Review:

Ok, firstly I want to point out that I didn't know that we could post here in element14, so by the time I had half my website, I noticed entry here.

So far, I have written this, and it is currently in development.

 

My beautiful website: berkut3000.gitlab.io/max32660_roadtest/

 

In there is my step-by-step adventure. which is Half tutorial, half  review, as I point some personal toughts on it.

 

A little introduction about myself, I'm a hardware (Firmware-oriented) engineer in CIDESI, located in Queretaro, Mexico. Our Department (Microelectronics) performs as the technical branch of the Local (and maybe in the future, national) Goverment, developing a variety of projects.

 

Among these is the Fetal Monitor Fetal Monitor which uses Mobile network to transmit and report fetuses status.

 

Currently, one such project is the implementation of technology to develop a Smart City. I'm currently in the IoT team, whose task is to give IoT connectivity to the city. We are currently working with SigFox and LoRaWAN, geared a bit more towards LoRaWAN, as you can control the networks scalability directly, of course at the expense of incurring in the operating costs.

 

As such, we have also developed the nodes required to connect to the network, in the future I'll post links in the website directing to them, They are not much, but at least are pioneering devices in the IoT scene in our City, and area. Currently, we have been working with Texas Instruments MSP430G2553, TI's TM4C123 Tiva Series MCU's, TI's CC3200 WiFi module, Silicon Lab's EFM32ZG222F32 (ZeroGecko), SL's EFM32WG(I don't remmeber the other numbers because I have not been so involved in these) and even Atmel's ATSAM4C16C for Smart Metering devices. (Actually my biggest delay in writing this review, was this project; because I had to travel to deliver it in Merida, Yucatan, Mexico, and was absent for 2 weeks. Very beautiful city by the way, ideal for hosting an event, ans such).

 

One such node, currently in development is an Emergency Button, which is  EFm32ZG22F32 that communicates to one of our LPWAN radios: Microchip's LoRaWAN RN2903 module or Wisol's  SigFox WSSFM10R2

 

Working with this MCU, the first aplication that came to my mind was the aforementioned one. Because is small, simple and half the job was already done. As this application is developed around the EFM32ZG, my main comparison will be against this one.

 

Price (which is one of our priorities when selecting board hardware)

Currently at Mouser:

Price/unitsEFM32ZG222F32 (TQFP-48)

MAX32660GTP (TQFN-20)

1$2.38$2.33
10$2.25$2.33
25$2.18$1.86
50$2.12$1.86
100$1.99$1.86

 

I chose the TQFP packages, because sometimes we reflow our boards or solder them by hand. So having access to these pins are a must. As you can see, already with just the price, the MAX32660 already offers an advantage regarding scalable production. So it is quite feasible for IoT fleet's creation. Also, I chose Mouser, because the Newark page didn't show up results for the TQFN package.

 

Packaging.

Well, EFM32ZG22F32 has TQFP-48 package, which allow for an easier handling when soldering, so in this regard while using the MAX32660 you will either have to:

  • Be very careful
  • Reflow by oven
  • Apply a hell lot of Flux, like Louis Rossmann reworking MacBooks
  • Or use one of these

Whatever the case, it is not an issue for us at our department because we have experience with any othe above methods.

 

Performance.

Encabezado 1Encabezado 2Encabezado 3
EFM32ZG22F32MAX32660GTP
MHZ
2448-96

I don't think anything else to be said is needed. And yeah, for our IoT applications it may be Overkill, but it's still nice to see so much power in a tiny package.

 

Consumption.

To be honest, I haven't been able to properly test both consumptions. In our application, there is a GPS module, which draws power like a pig (compared to this level of power consumption. Of course, it's just 40mA; but for what we try to acheive and the battery included, it's significant). The MCU alone draws ~24mA, depending the passives installed and the power mode. Also the energy profiler software, combined with the current meter inside Silicon Labs STK3200 Evaluation Board, makes it easier to measure. And I think Maxim could have included a similar tool. Anyway, for what we have measured, the MAX very little power draw, even in Active mode, considering the Size and its capacbilities.

 

On the other hand, (and maybe it's my fault that I haven't read enough the documentation) one issue that I had when testing the Low Power Modes Example (LP project) inside the examples, was that I couldn't wake up from the DeepSleep (well It could just wake up one cycle, and the other one stuck) and the BackUp (In this one, it just outright stuck) power modes. I must mention that I didn't test the RTC wake, just the GPIO one (so maybe that's the issue, I don't know).

 

Still, one of the remarkable features of this MCU, is the possibility to modularily "sleep" the ram banks and even control the stack of it; giving you many levels of low-power comsumption for when the application requires it.

 

Peripherals

Encabezado 1Encabezado 2Encabezado 3
PeripheralsEFM32ZGMAX32660
UART (our most important one)2(One LEUART, up to 9600Bd)2(Both capable of up to 4000kBD)
SPI1 (basically, multiplexed with the UART module)2 (Haven't tested them, as I haven't required it)
I2C12 (Haven't tested them, but have plans to interface it with a gas sensor)
AES1 (Haven't tested it)1 (Haven't tested it, but didn't see anything regarding it in the Examples
I2S01 (Nice to have, unfortunately I don't have I2S periherals to test it)
RTC11 (These will come in handy in our future development)
Timers
  • 2× 16-bit Timer/Counter
  • 2×3 Compare/Capture/PWM channels
  • 1× 24-bit Real-Time Counter
  • 1× 16-bit Pulse Counter
  • Watchdog Timer with dedicated RC oscillator @ 50 nA
  • Three 32-Bit Timers
  • Watchdog Timer
  • CMOS-Level 32.768kHz RTC Output
  • (in this regard, the EFM32ZG seems better featured, but the MAX32660 Timers have better resolution) (Again, apart from the Hello World and SysTick examples, not yet deeply tested)
ADC
  • 12-bit 1 Msamples/s Analog-to-Digital Converter
    • 4 single-ended channels/2 differential channels
    • On-chip temperature sensor
  • Current Digital-to-Analog Converter
    • Selectable current range between 0.05 and 64 µA
  • 1× Analog Comparator
    • Capacitive sensing with up to 5 inputs
  • Supply Voltage Comparator
  • (From the datasheet, apart from the Capacitive sensing, which is very nice, let me say, not fully tested)
0 (which is a shame, but again, we don't use it a lot for these, generally we use a higher end like the TM4C123 or the ATSAM4C16)

 

In ours, the most used peripheral is the UART, as the aforementioned radios operate with it. The EFM32ZG has a Low power UART, which is the one we use when communicating with the radios, as it helps saving some power. Nevertheless, the MAX32660 features 2 UART's operating at a maximum of 4000kb. That's quite impressive for the size of it. Unfortunately, we don't have an application for such Baudrates, but it's ok have it in hand.

 

Memory

EFM32ZGMAX32660
  • 32kB Flash
  • 4/2 kB RAM
  • 256KB Flash Memory
  • 96KB SRAM, Optionally Preserved in Lowest Power Backup Mode
  • (As can be seen, the MAX32660 holds much more memory, I wonder if this could mean better IoT data handling in the stack.)

Our emergency application, parses the data from a GPS module and processes it to send to the IoT network, through the radio, the conversion process involves turning a string into numbers, then into fractional numbers, then again into integers and finally into String, because that's what the radio requires (and the server too). This tasks require a LOT of memory (at least, unitl we optimize them, which I highly doubt considering our busy schedules),  so the most memory we could have to handle the process, the better.

 

Software Tools

Encabezado 1Encabezado 2Encabezado 3
Software ToolsEFM32ZGMAX32660
  • IAR
  • Silicon Labs (Eclipse)

Eclipse(Neon) (default)

On the software, I expect to receive news (haven't contacted them but will) from Maxim, regarding example projects that easily integrate into IAR 8.32 or 8.30, as our department heavily develops in this software (unless our client explicitly says he wants an open source project). I can say some advantages regarding the use of IAR, as the compiler is faster, the integration and communication with J-Link debugger is faster as well, and you can program ANY ARM, provided that you have the example project/template of course.

 

Conclusion

  • The MAX32660 offers a better alternative to our IoT projects, which include Low-Power Nodes for SigFox and LoRaWan applications, geared towards making Queretaro, Mexico an smart city.
  • The power consumption is comparable with our current implementations, and stand as great candidates for substituting our furture applications,
  • More research regarding the LowPower Modes is required, as DeepSleep mode is partially usable and BackUp mode doesn't wake-up, at least using the integrated button.
  • We expect demand the Example projects for the MAX32660 for IAR 8.30 / IAR 8.32 as these are main.

 

Expect to know more from me in the website, Thanks a lot.

 

P.S. Attached is a preliminary version of our PCB for Radios testing. It's an Altium Project.

 

Thanks for his earlier posts, without which I couldn't end this roadtesting on TIME,

Anonymous

Top Comments