顯示具有 NRF52832 標籤的文章。 顯示所有文章
顯示具有 NRF52832 標籤的文章。 顯示所有文章

2020年2月10日 星期一

[MEMO] How to install nrfutil for the nRF52 platform

1. Download and install python 2.7.15.


2. Open cmd.
3. Go to C:\Python27\Scripts\
4. Type command in console.
    pip install nrfutil==3.4.0

5. Done.


2018年7月8日 星期日

[nRF52840] ble app uart test

    本篇主要是仿照之前在nRF52832上面的ble app uart範例將其實做在nRF52840上面.

    nRF52832 Link: nRF52832_ble_app_uart

1. Test Video:
    

2018年6月18日 星期一

2018年4月14日 星期六

[nRF52840] 2018 Nordic Tech Tour (Taipei)

    4月9日去台北國際會議中心參加了2018 Nordic Tech Tour, 這次的研討會堪稱是目前最硬的一次, 中午用餐時間只有30分鐘, 且課程間距皆差不多只有15分鐘, 就這樣一路從早上9點操到下午3點......TAT

   上課的內容就集中在Bluetooth 5.0 / Bluetooth mesh / Thread等內容, 還有針對這次贈送的Thingy 52 開發工具來介紹, 相信上完課的大家應該都很累...A_A

2018年1月5日 星期五

[nRF52832] Unboxing Nordic POWER PROFILER KIT


1. 最近拿到一張從來都沒用過的板子, 主要是用來量測板子上的動態功耗.

2. 官網的描述連結: Nordic Power Profiler

3. 開箱照片:


2017年9月9日 星期六

[nRF52832] Unboxing Nordic Thingy 52 IoT Sensor Kit

    最近去參加研討會, 送了一片Thingy 52 IoT Sensor Kit的板子, 看起來還挺不錯的, 直接整合了許多sensor在同一塊板子上, 也有現成的app可以進行測試, 算是練習IoT相當方便的一塊開發板.



2017年4月1日 星期六

[nRF52840] Unboxing nRF52840 Preview Development Kit

1. 最近收到了nRF52840 DK Board, 52840和52832除了在RAM/ROM升級外, 有個很厲害的地方在於Output Power可以輸出+8dbm, 且52840內建了USB, 這對於Gaming Mouse/Keyboard來說很有幫助.

2. nRF52840 DK Board正反面, 比上一代的52832的長度長了不少.

2017年3月26日 星期日

[Life] Unboxing The RF Explorer

1. 最近購入了一台rf explorer, 主要的目的是用來觀察rf protocol的跳頻是否跟程式所寫的方式相同.


2016年8月16日 星期二

[nRF52832] [Taobao-Version] nRF52832 BLE Uart + MPU6050 Test

1. 主要是在底下這2篇的基礎下, 將兩個範例合在一起, 透過I2C去抓取MPU6050 Acc x/y/z軸數值, 並透過BLE Uart將所抓到的Acc x軸數值透過BLE丟出來.

2. Test Video:


3. Test Code link: (IDE: Keil-MDK v5.20)


4. softdevice link:

    s132_nrf52_2.0.1_softdevice.hex 

5. To be continued........




2016年8月3日 星期三

[nRF52832] [Taobao-Version] nRF52832 BLE Uart Test

1. 前陣子在淘寶上買了一片小型化的nRF52832開發板, 昨天終於稍微有空測試一下硬體, 好險測試後看起來目前是正常的.

2. Test Video:



3. Test Code link: (IDE:  Keil-MDK v5.20)
   
    nRF5_SDK_11.0.0_89a8197

4. softdevice link:

    s132_nrf52_2.0.1_softdevice.hex

5. To be continued........

2016年7月20日 星期三

[nRF52832] small evaluation board

最近在淘寶上購買了nRF52832的最小化開發板, 希望跟官方版本的一樣好用啊~~~~~~






2016年5月12日 星期四

nRF52832 I2C Master Driver

1. 最近才知道原來Nordic有新版的i2c driver, 簡單地做個備份, 才知道以後要怎樣用.

2. 需先include nrf_drv_twi.c & nrf_drv_twi.h, 路徑在\components\drivers_nrf\twi_master\.

3. 需記得打開Define: TWIM_IN_USE.


4. 本範例使用TWI1, 所以記得需至nrf_drv_config.h打開相關的設定及設定I2C GPIO和I2C Frequency.


5. 接下來就是I2C.h & I2C.c的簡易程式碼.

I2C.h
#ifndef __I2C_H__
#define __I2C_H__

#include "nrf_drv_twi.h"

bool i2c_write( uint8_t device_address, uint8_t register_address, uint8_t *value, uint8_t number_of_bytes );
bool i2c_read( uint8_t device_address, uint8_t register_address, uint8_t *destination, uint8_t number_of_bytes );

#endif /* __I2C_H__ */

I2C.c
#include "I2C.h"

bool i2c_write(uint8_t device_address, uint8_t register_address, uint8_t *value, uint8_t number_of_bytes )
{  
 #define i2c_write_data_len 6
 uint8_t w2_data[i2c_write_data_len+1], i;
 
 const nrf_drv_twi_t twi = NRF_DRV_TWI_INSTANCE(1);
 nrf_drv_twi_init(&twi, NULL, NULL, NULL);
    
 w2_data[0] = register_address;
 for ( i = 0 ; i < number_of_bytes ; i++ ) {
  w2_data[i +1] = value[i];  
 }
 
 nrf_drv_twi_enable(&twi);
 nrf_drv_twi_tx(&twi, (device_address)>>1, w2_data, number_of_bytes+1, false);
 
 return true;
}

bool i2c_read(uint8_t device_address, uint8_t register_address, uint8_t * destination, uint8_t number_of_bytes)
{  
 const nrf_drv_twi_t twi = NRF_DRV_TWI_INSTANCE(1);
 nrf_drv_twi_init(&twi, NULL, NULL, NULL);
 nrf_drv_twi_enable(&twi);
  
 nrf_drv_twi_tx(&twi, (device_address)>>1, &register_address, 1, true);
 nrf_drv_twi_rx(&twi, (device_address)>>1, destination, number_of_bytes);
   
 return true;  
}


2016年4月18日 星期一

nRF52 DK v1.1.0 vs. nRF52 DK v0.9.0

1. 最近收到了最新版本的nRF52 DK Board v1.1.0, 馬上來跟nRF52 DK Board v0.9.0來比較
    看看吧.

2. 外包裝比較, 左邊是v1.1.0, 右邊是v0.9.0.


3. 板子正面比較, 上面是v1.10, 下面是v0.9.0.


4. 板子背面比較, 左邊是v1.1.0, 右邊是v0.9.0.


5. nRF52 DK Board v1.1.0包裝全內容物.


2015年11月25日 星期三

nRF52832 BLE Mouse Test(IAR EWARM Version)

1. 跟之前提供的nRF52832 BLE Mouse Test範例功能完全相同, 只差在一個是Keil-MDK, 一個是
    IAR EWARM的版本而已.

2. IAR EWARM Version完整範例下載連結:
    ble_app_hids_mouse_iar_ewarm

3. 預設是使用DK(PCA10040)板子, 若需要改用Preview DK, 請將底下設定改為PCA10036.



4. 測試影片如之前所示:


2015年11月24日 星期二

nRF52832 Errata Document

1. 最近在nRF52832上面檢測一些問題, 發現怎麼樣都解不掉, 或是程式跑到一些function時, 一
    定會有飛掉的情況發生, 經詢問了代理商之後, 原來發現是IC本身的問題造成的.

2. 目前拿在手上的板子有兩塊, 分別是Preview DK & DK這兩塊板子, 經上官網查詢才知道原來
    是這兩塊板子上面的都是工程樣品, 只是DK解掉了一些Preview DK的問題, 可以透過板子上
    的IC編號來得知自己手上拿到的是哪一個版本, 目前我手上Preview DK上面的是Engineering
    A(QFAA-AA), 而DK上面的是Engineering B(QFAA-BA).



3. 現在看起來最新版本的IC是Rev 1, 不過不知道會上在哪一塊板子上, 或許是DK上面吧, 只是
    我手上拿到的剛好都是工程樣品, 若是發現有解不掉的問題或是遇到怎樣都無法啟動的功能,
    建議可以先上官網查一下是不是剛好是IC的問題, 以免浪費許多時間Debug.

4. 官網查詢Link:  Errata v1.1 & v1.0

2015年11月20日 星期五

nRF52832 BLE Mouse Test

1. 最近使用nRF52832做了airmouse相關的demo, 因此對於ble_app_hids_mouse這個example code
    有一些初步的了解.

2. 本範例的執行結果是當藍芽滑鼠與PC配對成功後, 會不停地劃方, 且按下Button3會等同於按
    下滑鼠左鍵.

3. 完整範例下載連結:
    nRF52_SDK_0.9.2_bt_mouse 

4. 由於現在nRF52有Preview DK & DK兩塊板子, 因此在不同的開發板上要執行此程式, 須記得
    要修改define, 如使用Preview DK的話, 請修改為BOARD_PCA10036.
 


5. 原先的範例如要傳送mouse button的資訊到PC的話, 需使用與mouse dx dy不同的id, 這樣會浪
    費BLE頻寬, 因此我有修改BLE Profile, 讓dx dy與button可以同時傳送給PC.

6. main loop flow:

  • 程式一開始會先設定一個10msec的Timer, 利用這個Timer每次送一個Flag給main loop判斷何時要傳送dx dy & button給PC.
  • main loop則是不停地檢查mousetimerIsReady flag, 當發現為1時, 則去執行key scan & send dx dy.  



  • 劃方程式如下所示, 只是不斷地送出固定的dx dy座標給PC, 並配合key scan一同將結果送出去.

7. Test Flow:

  • 當程式燒入DK Board後, 此時會看到LED1約間隔1秒的頻率在閃爍著.
  • 此時可以使用藍芽新增裝置來新增Nordic_Mouse.






  • 當新增完畢後, 便可以開始測試, 底下是使用Mouse Test2這個Tool進行測試的影片.

2015年11月17日 星期二

nRF52 Preview DK vs. nRF52 DK

1. 今天上班才發現昨天上課拿到的是nRF52 DK, 跟之前拿到的nRF52 Preview DK有些微不同.

2. 看起來變動比較大的是NFC的部份, 板子的質感也有向上提升一些.



2015年11月16日 星期一

Nordic Global Tech Tour 2015 (Taipei)

1. 今天一早去台大參加Nordic的研討會.

2. 參加者可以得到一塊免費的開發板.

3. 會後寄出了今天上課的投影片檔案.












2015年11月6日 星期五

How to run ble_app_uart project with IAR Debugging Mode?

1.     最近發現有時候在使用IAR EWARM Debug Mode進行Nordic Ble相關開發的時候, 會有程
    式跑不起來或是跑飛的情況發生, 但如果將build出來的檔案透過mergehex or nRFgo studio直
    接燒錄進去又可以正常執行.最後查了一下原來主要是需要在IAR的Option下需要新增一項
    Extra Option才會正常.

2.    This can be worked around by adding this line under "Options > Debugger > Extra Options > Command line options": --drv_vector_table_base=0x0


3. Linker configuration: