zilluss / open-nuki-fob Goto Github PK
View Code? Open in Web Editor NEWOpen Source Nuki Fob based on the the NRF52832 SoC
License: GNU General Public License v3.0
Open Source Nuki Fob based on the the NRF52832 SoC
License: GNU General Public License v3.0
I have now bought two NRF52832 ibeacons. I am trying to flash them using a STLinkV2.
I used the tagged v.0.3 branch. I have downloaded the build files and the nRF5 SDK.
My openocd directory looks like this:
Then I use the following commands to flash the data:
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; nrf5 mass_erase; reset; exit'
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; program s132_nrf52_7.2.0_softdevice.hex verify; reset; exit'
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; program nrf52832_xxaa.hex verify; reset; exit'
This is the output:
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; nrf5 mass_erase; reset; exit'
xPack OpenOCD x86_64 Open On-Chip Debugger 0.11.0+dev (2021-10-16-21:19)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 2
WARNING: interface/stlink-v2.cfg is deprecated, please switch to interface/stlink.cfg
Info : The selected transport took over low-level target control. The results might differ compared to plain JTAG/SWD
nRF52 device has a CTRL-AP dedicated to recover the device from AP lock.
A high level adapter (like a ST-Link) you are currently using cannot access
the CTRL-AP so 'nrf52_recover' command will not work.
Do not enable UICR APPROTECT.
Info : clock speed 1000 kHz
Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.146009
Info : nrf52.cpu: Cortex-M4 r0p1 processor detected
Info : nrf52.cpu: target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for nrf52.cpu on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Handler SVCall
xPSR: 0x6100000b pc: 0x00025278 msp: 0x2000fef0
Info : nRF52832-QFAA(build code: E1) 512kB Flash, 64kB RAM
Info : Mass erase completed.
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; program s132_nrf52_7.2.0_softdevice.hex verify; reset; exit'
[...]
Info : clock speed 1000 kHz
Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.161583
Info : nrf52.cpu: Cortex-M4 r0p1 processor detected
Info : nrf52.cpu: target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for nrf52.cpu on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Handler HardFault
xPSR: 0x01000003 pc: 0xfffffffe msp: 0xffffffd8
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0xfffffffe msp: 0xfffffffc
** Programming Started **
Info : nRF52832-QFAA(build code: E1) 512kB Flash, 64kB RAM
Info : Padding image section 0 at 0x00000b00 with 1280 bytes
Warn : Adding extra erase range, 0x0002596c .. 0x00025fff
** Programming Finished **
** Verify Started **
** Verified OK **
.\openocd.exe -d2 -f openocd.cfg -c 'init_reset halt; init; halt; program nrf52832_xxaa.hex verify; reset; exit'
[...]
Info : clock speed 1000 kHz
Info : STLINK V2J37S7 (API v2) VID:PID 0483:3748
Info : Target voltage: 3.144452
Info : nrf52.cpu: Cortex-M4 r0p1 processor detected
Info : nrf52.cpu: target has 6 breakpoints, 4 watchpoints
Info : starting gdb server for nrf52.cpu on 3333
Info : Listening on port 3333 for gdb connections
target halted due to debug-request, current mode: Thread
xPSR: 0x61000000 pc: 0x00025316 msp: 0x200013b8
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x00000a80 msp: 0x20000400
** Programming Started **
Info : nRF52832-QFAA(build code: E1) 512kB Flash, 64kB RAM
Warn : Adding extra erase range, 0x00039df0 .. 0x00039fff
** Programming Finished **
** Verify Started **
** Verified OK **
So it seems that everything has been flashed fine. But the ibeacon stays dead, the led does not light up after holding the button. Any idea what I could try? I also tried to change to order of flashing operations, unfortunately it did not help.
Thanks.
Hi zilluss,
thank you for this great project which I recently found.
I successfully flashed my NRF52832 beacon and I can confirm that it works with a Nuki V3 (original hex file in build folder). I saw your new hex file here (#3) #3 (comment)_ and this version does not work for me, but the original one in the build folder.
So I assume my PCB matches your PCB. Could you please push the mentioned changes to GH? ("it supports up to 50 locks and unlocks much faster")
That would be awesome!
Cheers, Max
Hi Zilluss, I need help, I would like to create Fobs like you did, but I need a step by step guide, can you help me, I don't even know where to start. Thank you
Francis
Does this support the Nuki smart lock 2.0? I have flashed the fob as per your instructions but no luck with it adding a new user. Once the fob is in pairing mode should it's Bluetooth be discoverable on phones etc? I'm not seeing it show up as a Bluetooth device anywhere unfortunately but would be good to know if it should work still work the 2.0 lock so that I can find out if there is another reason why device is not working.
Hi, great project! Any chance to get this running with a NRF51822 beacon? I tried to flash the prebuilt image. Flashing works, but unfortunately the beacon stays dead. Would be fantastic if you could push an image that works with NRF51822 or give me any hints on how to get this working.
Hi @zilluss,
What an intriguing project you have created here. It's things like this, and the open nature of the Nuki API that makes me want to buy a Nuki Smart Lock. I'm still in the discovery phase though, so please excuse my inability to test things out at the moment.
Based on the link below, do you think that the NRF52810 chip is a viable alternative to use for this project?
It seems to be a cheaper, more readily available chip, but of course it is also more limited, regarding flash/ram sizes, and features, but still in the nRF52 family, so it should not have the same MTU problems as the nRF51.
https://devzone.nordicsemi.com/f/nordic-q-a/29071/main-differences-between-52810-and-52832
Do you see any showstoppers in that comparison?
Cheers ;)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.