element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Embedded and Microcontrollers
  • Technologies
  • More
Embedded and Microcontrollers
Blog Taiyo Yuden BLE EVK : Toggling GPIOs
  • Blog
  • Forum
  • Documents
  • Quiz
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Embedded and Microcontrollers to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: navadeepganeshu
  • Date Created: 20 Aug 2020 6:18 PM Date Created
  • Views 2152 views
  • Likes 3 likes
  • Comments 6 comments
  • ble
  • taiyo yuden
  • wireless
  • embedded system
  • bluetooth®
Related
Recommended

Taiyo Yuden BLE EVK : Toggling GPIOs

navadeepganeshu
navadeepganeshu
20 Aug 2020

Recently, I was selected for Taiyo Yuden BluetoothRegistered LE EVK  RoadTest which is my first experience! Beginning with big thanks to E14, Taiyo Yuden and all supporters.

 

From past few hours I have been on Taiyo Yuden BluetoothRegistered LE EVK with fresh hands and came across a lot of troubleshooting steps and debugs. With memory being fresh, I am putting up a day by day update and finally a RoadTest review based on full insights.

 

This blog will be full of basic getting started things which I followed, starting from 0 to toggling GPIO with, Taiyo Yuden BluetoothRegistered Low Energy EYSNSNZWW Evaluation Kit.

 

The EVAL KIT has :

  • Evaluation Board.
  • SEGGER J-link Lite Cortex-M.
  • SWD Cable.
  • USB Mini A-type Cable.

 

I downloaded the following software tools

  • Segger Embedded Studio V5.10.
  • Nordic Semi nRF52 SDK with Soft Devices.

image

 

Taiyo Yuden EYSNSNZWW comes with ARMRegistered Cortex M4 32bit processor and 192KB Flash + 24KB RAM having SPI, UART, I2C, PDM and 12bit ADC GPIO interphases. It is also integrated with Bluetooth 5.2 totally said to be Nordic nRF52811 / ARMRegistered CortexTm-M4 32-bit processor.


To control GPIO's of BLE module, its enough only to access the processor core layer. First, I connected debugger to BLE module with SWD cable. Then on, USB interphase to the computer running Segger Embedded IDE.

 

image

 

Open Segger Embedded IDE and go to "File" >> "Open Solution" to open sample project from nRF52 SDK. Yes, the sample project is needed to even blink an LED in Taiyo Yuden BLE EYSNSNZWW module. There is a truth behind this. Taiyo Yuden manufactures the smallest BLE modules based on  nRF52811 by Nordic Semiconductor. But, their architecture is not completely the same as Nordic's since there are some add ons and peripherals. Neither they have their own IDE nor they completely support nRF5 SDK. With some tradeoffs, this Taiyo Yuden module can be programmed with segger studio using nRF SDK examples. Several support files, libraries come together with nRF52 SDK which makes programming this kit handy. Of course, accessing GPIO's is much easy since no Soft Devices are needed which comes into picture while using BLE feature.

 

image

 

Install "CMSIS-CORE Support Package" and "nRF CPU Support Package" form "Tools" >> "Package manager" before continuing. To open sample project, navigate to "File" >> "Open Solution" and  Browse to the / examples / peripheral / blinky / pca10040e / blank / ses.

 

Again, only PCA10040e version (category of development board by Nordic) is compatible with Taiyo Yude BLE  EYSNSNZWW KIT since it is nRF52811 based. There are several examples in nRF5 SDK which won't support  PCA10040e version but of course, those can be ported to make supportable with Taiyo Yude BLE  EYSNSNZWW by deep exploration and hacking on drivers and libraries.

 

After opening the above file, a sample project will pop up with blinky code for Nordic PCA10040 development board as selected. But.......wait! I am not having that board.

The ready opened code will get successfully debugged and even loaded to Taiyo Yuden EYSNSNZWW but nothing works. Its because that code has declarations made as for  Nordic PCA10040 and its respective files. (I wondered at this point "am I not even able to blink an LED with this?"). But, thankfully realised and went through nRF52811 documentation and libraries to come up with following code which successfully enters into the MCU core and toggles GPIO. (suggest better idea if any)

 

 

#include <stdbool.h>          //standard headers
#include <stdint.h>
#include "nrf_delay.h"
#include "nrf_gpio.h"

#define led 14                // GPIO subjeced to change as per

int main(void)                     

{
 nrf_gpio_cfg_output(led);    //configure LED as output

   while(1)

  {
    nrf_gpio_pin_set(led);    //Turn on
    nrf_delay_ms(500);

    nrf_gpio_pin_clear(led);  //Turn off
    nrf_delay_ms(500);
  }
}

 

image

 

image

 

Build, Verify, Upload.........and........there it goes!

 

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

 

And, GPIO input functionality with a pulled down Pushbutton attached to PIN 17 and LED at PIN 14 like this.

 

#include <stdbool.h>                              //standard headers
#include <stdint.h>
#include "nrf_delay.h"
#include "nrf_gpio.h"

#define LED 14                                    //     LED atached to Pin 14 
#define Button 17                                 //     Pushbutton (pulled down) at Pin 17

int main(void)

{
 nrf_gpio_cfg_output(LED);
 nrf_gpio_cfg_input(Button, NRF_GPIO_PIN_PULLUP);
 nrf_gpio_pin_clear(LED);

 while(true)

  {
    if(nrf_gpio_pin_read(Button)==1)            //Checking for 1(pressed) in Pin 17 and open the loop if found
    {
      nrf_gpio_pin_set(LED);                   //Turn on LED
      while(nrf_gpio_pin_read(Button)==1);     //Hold in the loop while pressed
      nrf_gpio_pin_clear(LED);                 //Turn off LED when pushbtton is left
    } 
  }
}

 

 

Yes, it's not very surprising to see an LED blink or some GPIO actions with this but, this is the way how it's done. This module is capable of doing much more and in the next part, I am going to unleash the real power of Taiyo Yuden BLE EYSNSNZWW BLE KIT (better to say nRF52811 because it is what is in it) by using Soft Device S13 layer over this and communicate with the real-world entity.

 

P.S: This post is subjected to change and have a timely update. Do let me know for improvements and suggestions in the comments.

 

Cheers!!!

Happy Making.

// subjeted to change as per

  • Sign in to reply

Top Comments

  • BigG
    BigG over 5 years ago +1
    That's a great start. I noticed an error in the quick start manual. It starts off by referring to pca10040e (pg10) but then changes to pca10056e. If you look at the diagram on pg11 it says pca10056e too…
  • BigG
    BigG over 5 years ago in reply to navadeepganeshu +1
    Yes I got the PCA10056e working once all the ram/flash memory configured correctly as per manual's instructions. The only issue I've had so far was in another example where the debugging serial port was…
Parents
  • BigG
    BigG over 5 years ago

    That's a great start.

     

    I noticed an error in the quick start manual.

     

    It starts off by referring to pca10040e (pg10) but then changes to pca10056e. If you look at the diagram on pg11 it says pca10056e too.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • navadeepganeshu
    navadeepganeshu over 5 years ago in reply to BigG

    Oh, yes. I noticed it now.

    But only PCA10040e versions support nRF52811, i.e, Taiyo Yuden BluetoothRegistered LE EVK because, PCA10040e boards use nRF528xx.

    This documentation gives better insight : https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_nrf5_v16.0.0%2Fsdk_for_custom_boards.html&cp=7_1_1_5

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • BigG
    BigG over 5 years ago in reply to navadeepganeshu

    Not quite.

     

    If you check the specs you will find that the nRF52811 is a trimmed down version of the nRF52840, so it is PCA10056e (and nRF52840 is PCA10056).

    The PCA10040 is for nRF52832 and thus the PCA10040e will be for the nRF52810 (which is a trimmed down version of the nRF52832).

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • navadeepganeshu
    navadeepganeshu over 5 years ago in reply to BigG

    Ohk.

    Did you find PCA10056e working with this?

    I literally tried both of the board  versions and only PCA1004e worked for me.(also , documentation says to use it)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • navadeepganeshu
    navadeepganeshu over 5 years ago in reply to BigG

    Ohk.

    Did you find PCA10056e working with this?

    I literally tried both of the board  versions and only PCA1004e worked for me.(also , documentation says to use it)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • BigG
    BigG over 5 years ago in reply to navadeepganeshu

    Yes I got the PCA10056e working once all the ram/flash memory configured correctly as per manual's instructions.

     

    image

     

     

    The only issue I've had so far was in another example where the debugging serial port was not working. You had to change one of the settings in the sdk_config.h file.

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube