<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://devzone.nordicsemi.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/f/nordic-q-a/8478/wireless-programming-arduino-with-nrf8001</link><description>We&amp;#39;re building a low cost device with an nRF8001 as the only means of communication as physical access is closed after the device is built. 
 Is there any way to change the nRF8001 output mode to stream data directly to the micro so we can program it</description><dc:language>en-US</dc:language><generator>Telligent Community 13</generator><lastBuildDate>Thu, 22 Oct 2015 14:31:14 GMT</lastBuildDate><atom:link rel="self" type="application/rss+xml" href="https://devzone.nordicsemi.com/f/nordic-q-a/8478/wireless-programming-arduino-with-nrf8001" /><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30935?ContentTypeID=1</link><pubDate>Thu, 22 Oct 2015 14:31:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:6c663430-acfa-415b-955a-2ecf11959745</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;I&amp;#39;m trying to review to whole process again, to try to finally find out what&amp;#39;s not working.&lt;/p&gt;
&lt;p&gt;Since I&amp;#39;m able to compile and modify the bootloader code, is there particular point in the process where I can debug what&amp;#39;s not working? Maybe establishing the connection after the WDT reset, or receiving the DFU update packet?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30934?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 10:06:37 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ff1da4f2-6dcd-4ffd-8cb5-13748afb819b</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;I am using the avrdude with an &lt;a href="https://www.arduino.cc/en/Main/ArduinoISP"&gt;ArduinoISP&lt;/a&gt;, over the Arduino IDE. I added the ble-optiboot bootloader hex and a custom board to the boards.txt: this allows me to flash the bootloader like it was any other board. I&amp;#39;ve verified everything is flashed correctly, dumping the fuses, flash and EEPROM. If the JTAGICE3 is doing something else, I do not know what it could be. I have also tried it using a USBASP, the results were identical.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30933?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 09:48:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:ffda3900-56c1-4634-85a0-d65e4cbc1497</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;Can you add details of your bootloader flash mechanism, I assume you are not using JTAGICE3 and Atmel Studio ?&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30932?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 09:34:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f7dd0715-0cdb-4c2f-81c1-bb1e8f12f900</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;Yes, I also made sure of that, manually erased EEPROM and Flash before burning bootloader and loading the example UART with DFU app.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30931?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 09:26:04 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:9c22e578-7889-4151-9ea9-81d62c0d10e9</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;I erased the EEPROM and the Flash before programming.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30930?ContentTypeID=1</link><pubDate>Tue, 06 Oct 2015 09:14:22 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:01030a58-2a94-4f2e-990f-6971089b938e</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;That&amp;#39;s exactly what I did, started from the default Uno fuses and modified according to the README, which gives out Low FF, High D0, Extended FF (or 0x07, as only the last 3 bits are used). I&amp;#39;ve tried every start-up time combination for low-fuse, using external 16 MHz crystal, like the Uno, behaviour is always the same. High fuses are the same as yours, only option is to whether preserve the EEPROM or not on flash (I have it to preserve, as you do). Extended fuses only deal with brown-out so it shouldn&amp;#39;t affect the outcome.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30929?ContentTypeID=1</link><pubDate>Thu, 01 Oct 2015 02:26:56 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:bbe953b2-e682-4b91-804e-468e83127dd2</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;I see that the Atmel studio/JTAGICE3 is doing an &amp;quot;Auto read&amp;quot; of the fuses, so I am only adding the bits to increase the size, and also following the recommendation in the README for the optiboot. Used &lt;a href="http://www.engbedded.com/fusecalc"&gt;www.engbedded.com/fusecalc&lt;/a&gt; to see which bits need to be turned on in addition i.e. BOOTSZ0, BOOTSZ1 and BOOTRST.&lt;/p&gt;
&lt;p&gt;So if you started from a working Arduino UNO bootloader that would be easier.&lt;/p&gt;
&lt;p&gt;I do not have access to a USBASP so I do not think I can test using that.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30928?ContentTypeID=1</link><pubDate>Wed, 30 Sep 2015 09:28:58 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:81e3851a-ff4b-478d-9fae-31d1b9e89e64</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;I have tried with a Arduino UNO, programmed using a USBASP; also tried on the custom board using ArduinoISP R3. Both the EEPROM and Flash are auto-erased before flashing. The result is the same: failure to connect to bootloader.
Could the programmer make any difference? I&amp;#39;ve dumped the bootloader after flashing and it checks out 100%.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30927?ContentTypeID=1</link><pubDate>Sat, 26 Sep 2015 06:05:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:e54c6375-6e48-4c60-a7d4-34e95e42127f</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;Can you try it on an Arduino UNO board ? How are you flashing the bootloader (JTAGICE3) ?
Make sure that the EEPROM and Flash are cleared before programming.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30926?ContentTypeID=1</link><pubDate>Fri, 25 Sep 2015 16:38:38 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:fac94b07-bdce-4ba3-a793-481ce560fc09</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;Thank you for the sniff trace, I&amp;#39;ll try to do one as soon as I have the PCA10000 with me again.&lt;/p&gt;
&lt;p&gt;In the meantime, I&amp;#39;ve done some more tests and found that the only way I could get to &amp;quot;Transmitting application&amp;quot; was when I had a faulty reset wire on my custom board. With that fixed, the result is the same as the one replicated on a bare Arduino with Adafruit breakout: DFU process starts, application on MCU jumps to bootloader but after a few seconds it disconnects, and the application starts again.&lt;/p&gt;
&lt;p&gt;I have still don&amp;#39;t know what could be stopping the DFU process from working, seeing as you are able to do with virtually the same hardware. All the fuses are the same, I&amp;#39;ve ensured the bootloader is correctly flashed by dumping it and md5, the pinout is the same. I&amp;#39;m using the example files provided straight out of the BLE-SDK downloaded from &lt;a href="https://github.com/NordicSemiconductor/ble-sdk-arduino"&gt;github.com/.../ble-sdk-arduino&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;I have also tried the ble_proximity_with_dfu_template and the Android app tells me &amp;quot;GATT ERROR&amp;quot; in the DFU process.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30925?ContentTypeID=1</link><pubDate>Wed, 23 Sep 2015 09:13:06 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:1156306c-21b4-4d85-ae8c-6cae908ae124</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;Everything replicated, still no luck.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30924?ContentTypeID=1</link><pubDate>Tue, 22 Sep 2015 07:22:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:35524499-c402-41cc-86e7-6c0e592d1174</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;I read the fuses from my board and they are set to 0xFD, 0xD0 and 0xFF&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30923?ContentTypeID=1</link><pubDate>Mon, 21 Sep 2015 10:44:15 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:5f6f9cd9-3d31-42f8-b753-9a52fb2fcf18</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;I&amp;#39;m using and Samsung S3 mini with Android 4.4.4, flashing the bootloader with the Arduino IDE with appropriate fuse settings (only difference from original UNO is the 2048 word boot sector size in the high fuses, from 0xDE to 0xD8/0xD0).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30921?ContentTypeID=1</link><pubDate>Mon, 21 Sep 2015 07:59:18 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:d37a488c-d7df-497b-94de-74a6a8d7f0da</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;I added a step by step approach for the upload and also noted that additional step (in addition to the MBR Size being set to 0) that needs to be done  Settings -&amp;gt; External MCU DFU -&amp;gt; &amp;quot;ON&amp;quot; on nRFToolbox 1.16.0.&lt;/p&gt;
&lt;p&gt;I used a GT-i9505 , Android 4.4.2 , Samsung&lt;/p&gt;
&lt;p&gt;See &lt;a href="https://github.com/NordicSemiconductor/ble-optiboot/issues/2#issuecomment-140378444"&gt;github.com/.../2&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30922?ContentTypeID=1</link><pubDate>Sat, 19 Sep 2015 21:36:14 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:8543f71d-1f65-4e45-a72a-129b99d60cc5</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;Still no luck, I&amp;#39;ve followed up on your response on github.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30920?ContentTypeID=1</link><pubDate>Tue, 15 Sep 2015 15:13:11 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:131dc45d-53b6-4e46-8181-b33f7de64285</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;See my response on github. &lt;a href="https://github.com/NordicSemiconductor/ble-optiboot/issues/2#issuecomment-140378444"&gt;github.com/.../2&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A new nRFToolbox release will fix the issue and the MBR size has to be set to 0 to prevent the nRFToolbox/MCP for Android from truncating the hex/zip file that is sent.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30919?ContentTypeID=1</link><pubDate>Thu, 10 Sep 2015 07:11:35 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:2a0c89a0-4558-47d8-8fb4-ab59e8cf1ec7</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;I will check this out, this is typically a version mismatch between the bootloader DFU protocol version and the Ble-optiboot&amp;#39;s DFU protocol version.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30918?ContentTypeID=1</link><pubDate>Wed, 09 Sep 2015 15:39:27 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:4d1c0e47-7391-48ef-bf39-7974b19c1fb1</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;I&amp;#39;m finding it difficult to achieve the basic firmware update using the examples, no success thus far. Bootloader is compiled and flashed, example firmware with DFU is running and the upgrade process just stops after being unable to connect directly to the bootloader (on Android and iOS nRF Toolbox).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30917?ContentTypeID=1</link><pubDate>Mon, 10 Aug 2015 12:03:44 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:f1fe3ac1-4577-40c7-8d30-6ee8e29f9b87</guid><dc:creator>Stickables</dc:creator><description>&lt;p&gt;Thank you very much, I&amp;#39;ll look into carefully, but this seems precisely what we need.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Wireless programming Arduino with nrf8001</title><link>https://devzone.nordicsemi.com/thread/30916?ContentTypeID=1</link><pubDate>Mon, 03 Aug 2015 11:31:28 GMT</pubDate><guid isPermaLink="false">137ad170-7792-4731-bb38-c0d22fbe4515:b8de6fd1-979f-48c0-a0cd-a151e3526721</guid><dc:creator>David Edwin</dc:creator><description>&lt;p&gt;You can examine the &lt;a href="https://github.com/NordicSemiconductor/ble-optiboot"&gt;BTLE optiboot bootloader&lt;/a&gt; for the nRF8001 and the ATMega328p and check if it fits your needs.
This bootloader currently allows firmware update over UART and over the BTLE.&lt;/p&gt;
&lt;p&gt;Let me know if this works for you.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://devzone.nordicsemi.com/cfs-file/__key/communityserver-discussions-components-files/4/DFU_5F00_nRF8001_5F00_ble_5F00_optiboot_5F00_Android_5F00_nRFToolbox_5F00_1_5F00_16_5F00_0.pcapng"&gt;DFU_nRF8001_ble_optiboot_Android_nRFToolbox_1_16_0.pcapng&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Edit: Attached a sniffer trace using nRFSniffer (1.0.1.1148) and wireshark version 1.10.9 showing the working DFU&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>