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 Jan Cumps 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/units | EFM32ZG222F32 (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:
Whatever the case, it is not an issue for us at our department because we have experience with any othe above methods.
Performance.
Encabezado 1 | Encabezado 2 | Encabezado 3 | |
---|---|---|---|
EFM32ZG22F32 | MAX32660GTP | ||
| 24 | 48-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 1 | Encabezado 2 | Encabezado 3 |
---|---|---|
Peripherals | EFM32ZG | MAX32660 |
UART (our most important one) | 2(One LEUART, up to 9600Bd) | 2(Both capable of up to 4000kBD) |
SPI | 1 (basically, multiplexed with the UART module) | 2 (Haven't tested them, as I haven't required it) |
I2C | 1 | 2 (Haven't tested them, but have plans to interface it with a gas sensor) |
AES | 1 (Haven't tested it) | 1 (Haven't tested it, but didn't see anything regarding it in the Examples |
I2S | 0 | 1 (Nice to have, unfortunately I don't have I2S periherals to test it) |
RTC | 1 | 1 (These will come in handy in our future development) |
Timers |
|
|
ADC |
| 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
EFM32ZG | MAX32660 | |
---|---|---|
|
|
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 1 | Encabezado 2 | Encabezado 3 |
---|---|---|
Software Tools | EFM32ZG | MAX32660 |
| 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
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 Jan Cumps for his earlier posts, without which I couldn't end this roadtesting on TIME,
Top Comments
You wont be able to find any example from IAR workbench information center instead use CMSIS manager.
instead open CMSIS manager and download MAX32660 pack
for that goto project menu and select CMSIS manager…
Thanks for a great review berkut3000 . I did checkout your website https://berkut3000.gitlab.io/max32660_roadtest/ and like its layout. Wondering has any new things been added lately?
Clem
There are already MAX32660 examples for both Keil and IAR.
MAX32660 Example in Keil MDK
MAX32660 Example in Keil MDK