-
-
-
Thanks everyone for having look on my watch face.
@Gordon, thanks for your suggestion, I have reduced the image size and it is now much lower.As a next step I am trying to animate mario jump. My code is available as APP here .
When you press BTN1, mario will jump. But I am not happy with the jump animation performance on actual clock. It is bit flickering.
An in othr example, like Flappy Bird, Horse Race, or in Trex, animation is smooth.
Any suggestions to make it better?
-
-
-
-
Just wanted to publish my work.
Source code is available
https://abhigkar.github.io/BangleAppsDev/index.htmlCheck on emulator:
https://www.espruino.com/ide/emulator.html?codeurl=https://raw.githubusercontent.com/abhigkar/banglejs-pacman-clock/master/supermario.js&uploadYouTube Demo: https://www.youtube.com/watch?v=RHXvka_Jxj0
-
Hi @Gordon,
Would it be possible if you can create a short video on how to open the watch and dissemble and re-assemble all the internal parts.
This will help to give a pro idea before someone opens his watch.
I just noticed in my watch that screen/glass from inside is not cleaned and some unwanted debris is showing. I understand that factory might not able to perform a full quality control before shipping it, but that is ok since this is a hackable watch and easy to open.
-
Buzzer is not working for me also, seems a missing piezo. As a maker and fixer, I would like to fix the issue by my own rather then sending back and waiting for another fixed one. Another reason of avoid is corona, of course.
I see that installing a piezo is not that difficult provided the specification and dimension are given with a nice how to documentation and images
-
-
-
-
@PiOfThings
Your answer is hereBecause this experimental API is a powerful new feature added to the Web, Google Chrome aims to make it available only to secure contexts. This means you'll need to build with TLS in mind.
During development you'll be able to interact with Web Bluetooth through http://localhost by using tools like the Chrome Dev Editor or the handy python -m SimpleHTTPServer, but to deploy it on a site you'll need to have HTTPS set up on your server.
-
@Gordon make clean did work.
But now I am facing another issue.
targets/nrf5x/bluetooth.c:940:3: error: 'for' loop initial declarations are only allowed in C99 mode
I am getting the same issue in latest code from git and V84 release.
It seems that this is something related to environment or GCC ....
-
@Gordon, Sure I will try clean. But the code is just taken from git release and does not have a single line change. I am assuming that it should compile straightforward.
BTW, you said s110 is not harder to add in current Esprunio? What is the procedure?
Definitely I would need the latest one, but just trying to do simple poc before flashing latest one. Considering that my nrf51822 is having only 256 kb of flash and 32 kB of ram.
-
Hi,
I am trying to build a very old Espruino release 1_V84. I know this is a very very old release and may not work fully but I wanted to do some experiment as this is the last official release which supports S110 softdevice for nrf51.
I am getting lots of error. see attached file. I have installed gcc-arm-none-eabi fom scripts/provision.sh file (just executed the commands manually and export the path)
Can someone help me to install this specific version , Please!!!
I want to build a minimalistic esprunio from this release (1_V84) to save some space and add Flash module so that I can use require("flash") from the script.
I am using Ubuntu 18.04.4 LTS and this command for build.
NRF51822DK=1 BLE_INTERFACE=1 RELEASE=1 make
Thanks!!!
-
Hi,
I just wanted to know if there is a possibility to that I can enable OTA DFU using just a Javascript?
My scenario is that o do not have GPIO reach to enable DFU via hardware. So looking a softwares way to upgrade firmware using BLE.
I am using nrf51822 based fitness tracker, which has very old SDK 9/10 maybe with softdevice S110. I am planning to upgrade softdevice, bootloader to S130, as Esprunio supports S130 onwards.
Abhinav
-
So here I come back to one point, if I can flash Espruino (older version) to nRF 51822 based fitness band.
In my previous attempt to perform RE on tracker I destroyed SWD CLK test pad because of over heated soldering iron. No no more hardware hacking. So I started looking H Band Android application.
I found very interesting things from the android app .
It uses battery service and characteristics to communicate with firmware for most of the commands like setting alarms, entering in DFU mode. Yes it enters in the DFU mode by issuing codes to firmware and FW starts the DFU services. I successfully entered in DFU mode and exits after timeout using nodeJS code.
I also observed in android app how app is sending dfu packets to device. The code using Nordic android library for DFU and seems does not use the secure dfu classes, although library does have the secure dfu class. More analysis will confirm this.
So the questions are.
1- Does it means that Bootloader is not a Nordic one and customised?
2- assuming that original firmware is built using SDK 11 and not encrypted /no secure dfu, can I flash Espruino (version???) via OTA DFU? I can create flashing tool on android by taking help of existing hband app and D6 flasher app.3- Since I cannot do flash dump and only have original firmware, is there anything that can be to to get useful information?
Abhinav
-
I have installed OpenOCD. running but with error
pi@raspberrypi:~/opencd $ sudo openocd -f interface/raspberrypi-native.cfg -c "transport select swd; set WORKAREASIZE 0" -f target/nrf51.cfg Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html BCM2835 GPIO nums: swclk = 25, swdio = 24 0 cortex_m reset_config sysresetreq adapter speed: 1000 kHz Info : BCM2835 GPIO JTAG/SWD bitbang driver Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode) Info : clock speed 1006 kHz Info : SWD DPIDR 0x013f9150 Error: Could not initialize the debug port
Another attempt:
pi@raspberrypi:~/opencd $ sudo openocd -f r1.cfg Open On-Chip Debugger 0.10.0 Licensed under GNU GPL v2 For bug reports, read http://openocd.org/doc/doxygen/bugs.html BCM2835 GPIO nums: swclk = 25, swdio = 24 BCM2835 GPIO nums: swclk = 25, swdio = 24 cortex_m reset_config sysresetreq adapter speed: 1000 kHz none separate adapter_nsrst_delay: 100 adapter_nsrst_assert_width: 100 Info : BCM2835 GPIO JTAG/SWD bitbang driver Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode) Info : clock speed 1006 kHz Info : SWD DPIDR 0x00bdc150 Error: Could not initialize the debug port TargetName Type Endian TapName State -- ------------------ ---------- ------ ------------------ ------------ 0* nrf51.cpu cortex_m little nrf51.cpu unknown Info : SWD DPIDR 0x00000007 Error: Could not initialize the debug port Error: Target not examined, reset NOT asserted! in procedure 'reset' called at file "r1.cfg", line 17 in procedure 'ocd_bouncer'
My config file is [r1.cfg]
source [find interface/raspberrypi-native.cfg] transport select swd bcm2835gpio_swd_nums 25 24 [#bcm2835gpio_srst_num](http://forum.espruino.com/search/?q=%23bcm2835gpio_srst_num) 18 set CHIPNAME nrf51 source [find target/nrf51.cfg] reset_config srst_nogate adapter_nsrst_delay 100 adapter_nsrst_assert_width 100 init targets reset reset halt poll
Any advice?
-
@Robin, Thanks for your suggestion, but i tries that also.
Unfortunately this repo has the same .gitmodules files to load the sub modules from the repo.or.cz.
Sadly this site is still down and google web cache gave me that it was last cached on 30 Jan 2020.
:(
-
Hi @fanoush
The recent update is I tried to decompile the bin file from the zip using Ghidra for ARM Cortex setting.
All the output is complete puzzle for me and I don’t know what should I look for.
I am waiting for my amazon order for usb microscope so that I can take high res images for pin tracing as a backup options.
I faced some issue while installing OpenOCD as few of the sub modules are not getting installed. Flaky repo.or.cz is not responding.
So I directly install the package in my Pi.
Will try to make a dump and halt-reset.
if the device is not protected you may even try to let it run default firmware and pause it in the middle of something and see various HW registers to see how it is configured (i2c,spi, GPIO pin configuration)
So you have any suggestions what specific think I should look for?
Worth to mention that I will try very first time this.
-
Does anybody knows why I am getting error while installing OpenOCD?
[submodule "tools/git2cl"] path = tools/git2cl url = http://repo.or.cz/r/git2cl.git [submodule "jimtcl"] path = jimtcl url = http://repo.or.cz/r/jimtcl.git [submodule "src/jtag/drivers/libjaylink"] path = src/jtag/drivers/libjaylink url = http://repo.or.cz/r/libjaylink.git
Faling to install all above submodules with same error
fatal: unable to access 'http://repo.or.cz/git2cl.git/': Recv failure: Connection reset by peer
Is OpenOCD still in business?
//Abhinav
-
Hi @fanoush
Thanks. I will try SWD using pi zero w and take pin connections help from this post .
Did you see some picture on OLED screen while doing the upgrade?
Unfortunately while upgrading I totally missed display notifications so I don’t know. But I have ordered couple of more units so I will check when I will get those in a day or two.
the update zip is just application, not backup of whole flash memory
So that means the zip will not give me any information about GPIO, display controller etc? And I need to have backup from the flash?
Just curious-
What is the difference between application, firmware, soft device and boot loader in the context of nRF5x devices?
I also found the this github repo . Do you already know about this? If this can help to get more information from the bin file.
Another thing, where I can find cfg file for nrf51?
Regards
Abhinav -
Hi @fanoush,
Thanks for the firmware information as edit. I just upgraded the tracker from version 00.07.11 to 00.07.13.
As for firmware model number, I see in FCC photos that something is also on the board itself, I don't see that part on your photos
Yes it is there, hidden behind the flex cable, with the same details.
After upgrade if searched the firmware file in mobile and found a hband.zip file.
Zip has 3 files
- manifest.json
- VPH_10_00071300_151.bin
- VPH_10_00071300_151.dat
This confirms your statement about firmware.
manifest.json
{ "manifest": { "application": { "bin_file": "VPH_10_00071300_151.bin", "dat_file": "VPH_10_00071300_151.dat", "init_packet_data": { "application_version": 255, "device_revision": 1, "device_type": 1, "firmware_crc16": 38123, "softdevice_req": [ 65534 ] } }, "dfu_version": 0.5 } }
I don't know if this is a good news for me or not.
So when I have the firmware, how to extract the details like pin info, display etc.
What should I do as a next step?
I am really really sorry for asking such a novice questions.
Regards,
Abhinav - manifest.json
Hello everyone,
I am happy to share my updated version on Super Mario Clock 2.
https://abhigkar.github.io/BangleApps/index.html
This is a performance improved version for LDC mode 120x120. Added some animation in BTN1 click.
Image resources are new further optimized for size and improved for quality.
https://youtu.be/xRdNjOT7BtA