DEVZONE BLOG FEED

When designing a PCB with nRF51, nRF51822 or nRF51422, there are some rules that should be followed in order to get a good working radio/system, with a maximized range.General rule The RF part of the schematic and layout should be a copy of our reference design. It means that not only the component values, but also the geometry, relative placement of the components with respect to each other, and the lengths of the transmission lines should be the same as in our reference design. The reference design for ...

When using nRF8001 with an Arduino board, Atmel Studio is a good free tool to use for development of your firmware. The following video shows a procedure in Atmel Studio in order to enable debugging of Arduino code. It was created with Atmel Studio 6.1 and Visual Micro (Arduino plugin for Atmel Studio)...

Hi, guys. nRF51 IoT SDK is needed Raspberry Pi, so I make the VMware Player Image for Ubuntu 14.04.1 LTS 64bit(linux kernel update to 3.18.3). Even if don’t have Raspberry Pi, can use the 6lowpan!! And it’s easy to develop the linux 6lowpan kernel module by using the VM linux.VM Linux image and "How to" is my website, http://www.hirotakaster.com/weblog/6lowpan-ubuntu-vm-image/Glad I could be of someone help. ...

DEVZONE FORUM

27.02.2015

NRF_ERROR_NO_MEM

Hi,I have created up to 5 custom services with several characteristics (4 at maximum) each one. They all use the same base UUID.The problem I'm facing now is that when I execute 'services_init' function, the function 'sd_ble_gatts_service_add' gives error 0x000004 (NRF_ERROR_NO_MEM). I have changed services ordes inside 'services_init' function and then the same error is given but now by the 'sd_ble_gatts_characteristic_add' function. (This is maybe due to the fact that not all the services have the same ...

Hi,I have a similar problem as described inhttps://devzone.nordicsemi.com/question/16515/sd_app_evt_wait/I have eliminated my program to be: int main(void) { setupLEDPins(); BluetoothPeripheral::instance().initialize(); int counter = 0; while (1) { delayMs(100); pinToggle(LED_GREEN); if (counter == 10) { pinSet(LED_ORANGE); sd_app_evt_wait(); } counter++; } }As you see this code basically toggles a LED 10 times and then lits an orange LED and put the cpu to sleep with sd_app_evt_wait which should stop the...

Why is it a standard in nordic-supplied code to initialize structs with memset like so? An example would be: ble_gatts_char_md_t char_md; memset(&char_md, 0, sizeof(char_md));Instead of a cleaner way: ble_gatts_char_md_t char_md = {0};I understand that using memset also clears padding bits, but don't understand the reason for doing so....