What do you use for burn bootloader on 3v boards?



  • I've used Arduino as ISP before with Nano as programmer. In fact I have several nodes in my house with the MYS bootloader burned like this. But surprisingly, yesterday I was trying to do it again and I couldn't do anything to success it. I always got a variable incorrect signature detections, like xffffff, x000fff and x000000.
    I thought the problem was bad wiring, but it wasn't. As the target was a 3v board and the Nano was 5v, I made a level conversion circuit in a breadboard, including the cap between rst and gnd. Fail.
    I then burned another 3v Pro mini with the ArduinoIsp sketch and tried with direct connections without success. (this time the ide doesn't sync to the FTDI port of the programmer)
    This can't be that difficult. What do you guys do for that? I've tried searching programmers but they are 5v all of them.
    At this time I don't know what are my issues. Or if they are caused by big recent updates to W10.



  • How do You connect the programmer to the board ? Do you power the board from the programmer or from separate power supply/battery ? Do you have any 5v non tolerant devices on board ?


  • Mod

    I used an arduino uno to program the bootloader on a 3.3v pro mini. I used 5v on vcc and I had power led and voltage regulator removed.



  • @rozpruwacz Thank you for your help. I just realized the cause of the issue and just now saw your reply.
    I power the set through the usb port from the Nano. And the pro minis where brand new, so that was very strange.

    The problem is that my wife has 4 new kitties. Yup, that's it.
    An hour ago I started a meditation session, vulcan style. Then I recalled those past days having to replace some wires being bitten. So I got my BF...lens and took a look to the wires, they were all Ok, but the cap I use on reset took a small but fatal bites. as I replaced it the board begin to send back signals to the programmer. Also those new Minis I bought seem not being so quality ones. The blink sketch they have creates coms interference that I have to burn a blank sketch first.

    Damn, this was driving me crazy. But they are so lovely... hehehe



  • But you can still chime in with your favorite programming rigs, and pictures 😉



  • @sergio-rius I generally I use modified usb-asp programmer (like this one https://pl.aliexpress.com/item/3-3V-5V-USB-ISP-USB-ASP-Programmer-Downloader-Cable-for-Atmel-AVR-ATMega-51-TE141/32699660766.html) that is modified to work entirely on 3.3v (5V from usb into 3.3v LDO). All stuff I use can be powered from 3.3v so this is good for me. When programming the board I always power it from the programmer, so for battery powered nodes I remove the battery, for mains powered nodes I just do not connect them to power. So basically it boils down to have 3.3v programmer.
    I don't know why those programmers that are sold as 3.3v or 5v are actually all 5v with additional 3.3V output power pin ... This does not make sense because the SPI signals are still 5v ...



  • @rozpruwacz said in What do you use for burn bootloader on 3v boards?:

    I don't know why those programmers that are sold as 3.3v or 5v are actually all 5v with additional 3.3V output power pin ... This does not make sense because the SPI signals are still 5v ...

    China suppliers rule by the cheapest. They lean on the fact that the chips on the pro minis are all the same. So that 3v3 ones can handle 5v power.
    Other components may not but they don't bother. They center in one possible application and start the machine until it burns to ground.



  • @sergio-rius maybe, but in this particular case all that is needed is to take VCC for the atmega from the onboard LDO instead of directly from the USB port 🙂


  • Mod

    I remember there is a limit to the voltage difference between the vcc and the signal pins,or am I wrong?



  • I would like to say yes, as I'm currently programming a 3v3 Arduino pro mini board like this. But I'm having some problems.
    I would like someone to give me a hand on this.
    I'm trying to get a rgbwdimmer programmed with the MysBootloader and the operating sketch. But I can only do one or another. If I burn the bootloader first, the board seems to do nothing on start. Even it doesn't react to reset. And I can't load a sketch.
    Then I have to burn back the Pro Mini 3v3 8Mhz bootloader with the IDE and then accepts the sketch and works. If I burn back the mysbootloader, goes back to the previous situation.
    I'm using the IDE and avrdudess with Arduino as ISP and for loading the sketch a simple USB to TTL.

    Also, should be possible to load the compiled sketch+bootloader through avrdude, but when I do, the board also freezes on power.

    Can anyone tell me what I'm misunderstanding?
    @tekka Does the mysbootloader relies on the standard pinout for the nrf?


  • Admin

    @sergio-rius By default CE=9, CSN=10



  • @tekka But it's mandatory, like this for the FOTA to work?

    Well, obviously yes, if it's incorporated to the code. So I suppose that I would have to compile my own version.
    It's there any description for the fuses being different than the stock ones?


  • Admin

    @sergio-rius see the correct fuse settings in the included boards.txt file



  • @tekka
    My pin settings for the radio are:

    #define MY_RF24_CE_PIN 4 //<-- NOTE!!! changed, the default is 9
    #define MY_RF24_CS_PIN 10 // default is 10
    

    What should I change in BL code for making it to work?

    Fuses yes, I also have them wrong. I read them from a brand new board and they are

      Low Fuse      0xFF
      High Fuse     0xDA
      Extended Fuse 0×05
      LB            0x3F
    

    And mines are:

      Low Fuse      0xE2
      High Fuse     0xD2
      Extended Fuse 0×06
      LB            0x0F
    

    What I'm trying to learn is whay mysbl ones are also different from the stock ones.


  • Admin

    @sergio-rius Is there a particular reason why you are using pin 4 for CE - if you can change it back to CE=9 w/o much effort I'd go for that before trying to recompile mysbootloader. The fuses also define the bootloader section size: If the stock bootloader is optiboot the BL section size will be 512 bytes - mysbootloader uses 2048 bytes, hence different fuse settings. More on AVR fuses here: http://www.engbedded.com/fusecalc/



  • @tekka I'm using the RGBW Controller by LastSamurai, and it rearranges the pins. So I can't change anything there.
    Yes, I'm already on that page comparing the two settings and the size was the only one thing left to discover. Thank you.

    I suppose I'll have to drop mysbootloader for all those nodes 😭


  • Admin

    @sergio-rius Today is (if it works) your lucky day 😉

    MYSBootloader_1_3_0rc1_8Mhz_CE4_CSN10.hex



  • @tekka WOOOOOOWWWW! THANNKYUUU!!!! 👌



  • Just a flash question, I suppose I must clone the 8Mhz RC settings for fuses... but even being a pro mini board with an external xtal?


  • Admin

    @sergio-rius Yes, if I find time I'll compile a 16Mhz version


 

424
Online

7.5k
Users

8.3k
Topics

89.8k
Posts