New EVB platform: DEVKIT-ZVL128 Review.

Document created by Radek Sestak Employee on Oct 31, 2016Last modified by Radek Sestak Employee on Jun 30, 2017
Version 4Show Document
  • View in full screen mode

The DEVKIT platform

The NXP released new board platform for automotive products – DEVKIT.

The DEVKIT is a low-cost development platform with Arduino UNO/Mega pin compatibility. In my review, I will focus mainly on DEVKIT-ZVL128 board.


The DEVKIT boards are similar to FRDM boards, but they are slightly wider (58mm versus 53mm) due to moving MCU specific pins to external rows of Arduino pin compatible connectors. So, we should be able to access MCU specific pins even when we connect any Arduino shield on top of this board.


The DEVKIT and FRDM board sizes comparism


The other currently or soon available DEVKIT boards are:











DEVKIT-COMM - 6 LIN and 4 CAN transceivers shield

DEVKIT-MOTORGD – three-phase motor control shield with GD3000 N-channel MOSFETs driver and power stage

Note: The FRDM-KEA boards belongs also into the DEVKIT platform despite on the “FRDM” in the board name.



The Content

What you will get for US$35 (current price on NXP web pages):

  • Antistatic paper box
  • DEVKIT-ZVL128 board
  • short micro-USB cable


The DEVKIT box content 


The sticker on the box points to the NXP web pages for downloading more documents such as the quick start guide, schematic, PCB BOM and design files, code examples or buy the same board again ;-).

Unfortunately, the board User Guide is not available yet.


This web page is also offering “Getting Started” tab with the interactive quick start guide – quite useless feature since the page forgets on necessary 12V power supply for MCU powering and it proposes old CW5.1 (Classic IDE) for S12(X) instead of CW10 (Eclipse IDE).


What else you will need:

  • The IDE – for example, the NXP CodeWarrior or Cosmic ZAP
  • 12V DC power supply (3.8V~40V) with barrel connector (6mm outside diameter x 2mm inside diameter)
  • MCU code


The Board

DEVKIT-ZVL128 board is assembled by:

  • S12ZVLA128 MCU (Big Knox) in 48-pin LQFP package
  • 8MHz crystal
  • Standard 2mm DC power jack connector for 12V power supply
  • On-board OSBDM debugger trough micro-USB connector
  • Standard BDM connector
  • Arduino UNO pin compatible connectors with extended connectivity (the internal rows of the connectors are arranged to fulfill Arduino™ shields compatibility)
  • RGB LED and 2 x push button switches
  • LIN and CAN connectors
  • CAN transceiver MC33901
  • 5k potentiometer and RESET switch
  • 3V/150mA and 5V/150mA LDO voltage regulators



The great thing is that the board has connector pins named from the bottom side of the PCB = less tracking on schematic.


DEVKIT-ZVL128 board from bottom side


On another side, some of the MCU pins may be routed to Arduino connectors trough zero Ohm resistors. Since these resistors are very small (size 0402), the potential re-routing will need a solid hand.


The Zero Ohm resistors


It is great that loop type test points arrived finally also on low-cost development boards – now in surface mount version. The small loops may be simply locked by test hooks and measured by laboratory equipment.


Connected test hook

The test loop




The S12ZVLA128 is one of MagniV family MCUs using the 180nm NVM + UHV technology that offers the capability to integrate 40V analog components. It integrates S12Z core, features from the existing S12 portfolio together with “high-voltage” analog modules, including the voltage regulator (VREG) and a Local Interconnect Network (LIN) physical layer (LIN PHY).

The S12ZVL(A)128/96/64 derivatives introduces several unique enhancements in comparison with older S12ZVL32/S12ZVL16 derivatives:

  • Significantly bigger memories (64/96/128kB flash, 1/2kB EEPROM, and 4/8kB RAM)
  • The VDDX voltage regulator is capable of providing 5V or 3.3V
  • MsCAN module
  • The S12ZVLA derivatives additional features/improvements:
  • 2% VDDX regulator tolerance improvements
  • 10/6 channel 12bit ADC
  • 8bit DAC module
  • the rail-to-rail analog comparator (ACMP)
  • the Programmable Gain Amplifier (PGA)

I am going to use the PGA for thermocouple measurement in the near future.



The Software Integration Guide guides us through CW 10.6.4 installation and creating a new project with Processor Expert (PE) tool. Unfortunately, while following that guide, I discovered that the CW10.6.4 does not offer PE as an option (only project without PE) when I tried to create an S12ZVL128 project. But this option is available in newer CW10.7 version.

Note: If S12ZVL(A)128 derivative is missing in your CW10.6.4 IDE, please update your CW IDE via menu-Help-Install New Software-FSL MCU Eclipse Update Site and focus mainly on “S12Z Support” and “MCU 10.6.4 Updates” folders.


The code examples contains three primitive example projects:

DEVKIT-ZVL128_Lab1GPIO – configure GPIO pins

DEVKIT-ZVL128_Lab2ADC – initialize and measure ADC value

DEVKIT-ZVL128_Lab3PWM – configure voltage regulator, initialize CLOCK, initialize and measure ADC value, generate PWM


Note: The zip file contains already built projects. The loading it into MCU does not work due to different paths. We have to clean it and build again in our workspace prior loading into the MCU.


These projects are really simple, but they omit some specific potential issues.

For example:

  • I would like to recommend to configure CPMUVREGCTL_VREG5VEN bit also in GPIO example since this bit influences output pin voltage levels. The value of the CPMUVREGCTL_VREG5VEN bit is not influenced by any MCU reset. So, we have to be careful especially when we are starting a new project with new peripherals connected to the S12ZVL128 GPIO pins.
  • The ADC command lists (adc0_cmdlist) and ADC result lists (adc0_results) are not aligned in these example codes. It may be fixed by simple modification:
    volatile unsigned char adc0_cmdlist[1][4] __attribute__ ((aligned (4))) = {0xC0,0xD0,0xA0,0x00};
    volatile unsigned short adc0_results[1] __attribute__ ((aligned (4)));

The NXP offers for this MCU also LIN2.x and SAE J2602 Stack and S12Z NVM Standard Software Driver (Flash/EEPROM driver).


There are also well-documented example codes at Community from Technical support team which may be used for an inspiration. For example:

S12ZVM clock module and PLL configuration - SW examples

S12Z Interrupt catcher for unexpected interrupts

S12Z voltage measurement

A Library of Functions for HD44780 Based LCD Modules (no R/W) for S12Z devices


S12Z Flash example code

S12Z EEPROM example code


The next source of information may be NXP application notes. For example:

AN4723 S12Z MagniV Bootloader with SW,

AN4731 Understanding Injection Current on Freescale Automotive Microcontrollers,

AN4841 S12ZVL LIN Enabled Ultrasonic Distance Measurement with SW,

AN4842 S12ZVL LIN Enabled RGB LED Lighting Application with SW,

AN5084 Hardware Design Guidelines for S12ZVL Microcontrollers,

AN5122 Using Freescale’s LIN Driver with the MagniV Family with SW



One of the best advantages of DEVKIT platform is the price. When we compare DEVKIT board prices with alternative evaluation boards (if any exist), we may save between 40 and 95 % EVB price depending on target MCU family. For example, the older TRK-S12ZVL board (assembled by S12ZVL32) is bigger, additionally offers 9 user switches, buzzer, HVI potentiometer, switchable LIN_OUT connector and header ring with all MCU pins. But the price is also almost three times higher than the price of DEVKIT-ZVL128.

Also, the connectors with standard 100mils pitch are definitely plus in comparison with previously used TWRPI/PCI EXPRESS connectors and the board allows using plenty of available Arduino shields without complex hardware interconnections. You may look for it for example at Arduino pages,, Adafruit, …


From my side - thumbs up .

9 people found this helpful