Omega 2 and Arduino dock.



  • @Douglas-Kryder
    Thank you for your reply. Yes I'm positive, but the problem is not with the IDE. I tried to copy the hex file to the Omega2+ and load it using the terminal and am getting the same error. Also, if i read 0x08 from the ATmega I get 0xFF. I did not successfully load any bootloaders but tried to. I tried with the I2C and ICSP methods using the Expansion Dock 2, which both failed because the device (ATmega) could not be detected. I later read that loading the bootloader is actually not needed for the Arduino Dock 2. Starting to wonder if this one is defective maybe?



  • @György-Farkas
    Thank you for the reply. I tried to load the bootloader as discussed in "Arduino Dock Initial Setup"
    https://wiki.onion.io/Tutorials/Arduino-Dock/Initial-Setup



  • @Wer-Ner said in Omega 2 and Arduino dock.:

    @Douglas-Kryder
    Thank you for your reply. Yes I'm positive, but the problem is not with the IDE. I tried to copy the hex file to the Omega2+ and load it using the terminal and am getting the same error. Also, if i read 0x08 from the ATmega I get 0xFF. I did not successfully load any bootloaders but tried to. I tried with the I2C and ICSP methods using the Expansion Dock 2, which both failed because the device (ATmega) could not be detected. I later read that loading the bootloader is actually not needed for the Arduino Dock 2. Starting to wonder if this one is defective maybe?

    yes. but, you have to set up the ide properly in order to have clean sketches and a proper setup of the hardware. you could be getting that error because you failed to do the proper setup steps which include using the ide. if your sketch is wrong because of bad setup , the flash will not finish successfully. hence errors.



  • @Wer-Ner said in Omega 2 and Arduino dock.:

    I tried to load the bootloader as discussed in "Arduino Dock Initial Setup"
    https://wiki.onion.io/Tutorials/Arduino-Dock/Initial-Setup

    That tutorial is related to Omega (ie the previous version) and the first version of the Arduino Dock.
    Use it carefully!
    The ATMEGA328 chip is 5V powered on the Arduino Dock 2 so it may damage your Omega2 if you follow the advices of that tutorial

    I hope you did not install the arduino-dock package instead of the arduino-dock-2.



  • @Douglas-Kryder
    Thank you. I did follow those steps to the T. The IDE picks up the Omega on the network etc. Is there a specific step that will cause that error?



  • @György-Farkas
    Yes I realized that the tutorial was for the previous version of the Omega after I tried it, so I hope I didn't damage anything. I did install arduino-dock at first but then removed it and installed arduino-dock 2. However, the omega is working fine. Having said that, maybe following the tutorial damaged the I2C bus? But does it not have a level converter on that bus (and other pins) ?
    EDIT: The OLed expansion still works on the omega. This means that the I2C is working right? If I try to read the OLed (0x3c), I get 0x03, so I assume that the "read" also works.



  • @Wer-Ner
    Yes, there is a TI TXS0108 "8-Bit Bi-directional, Level-Shifting, Voltage Translator for Open-Drain and Push-Pull Applications" chip on the board.

    Exp.header Omega Arduino ICSP header
    3.3V logic 3.3V logic 5V logic 5V logic
    pin 22 I2C SCL SCL
    pin 24 I2C SDA SDA
    pin 13 UART1 TX1 RX
    pin 11 UART1 RX1 TX
    GPIO_15 SCK SCK pin 3
    GPIO_17 MISO MISO pin 1
    GPIO_16 MOSI MOSI pin 4
    GPIO_19 /RESET * RST pin 5
    +5V pin 2
    GND pin 6
    • Omega's GPIO_19 is inverted with an NPN transistor
      providing an (open collector) active LOW RESET for Arduino.


  • @György-Farkas
    Ok, thank you so much. But I am confidant that the omega is working. The I2C port seems to be working as well. I think I should take the Arduino Dock 2 back for a refund. It might have been brought back by someone else who maybe blew it and those guys just put it back on the shelf. They are known for doing that. It is also not the first blown (and previously returned) component I bought from them. Is there anything I can check on the Arduino dock 2 side, to see if it is actually working. What happens is:

    1. blue led solid on
    2. when I load sketch through IDE it compiles, and the moment it wants to start loading it on the Atmega chip, the blue led goes off for a split second and comes back on, after which I get the error message, stating the the chip could not be detected.
      Can I read the I2C port of the arduino dock? I read address 0x08 but always get 0xff in return. The chip is either "empty" or not working at all. I'm trying to figure out if I should take it back since it's going to be a mission to get it swopped for a new one.

    EDIT: The issue definitely is on the I2C between the Omega and Arduino dock.
    If I read the value of the blue led with:

    i2cget -y 0 0x08

    I get:

    0xff

    and I should be getting 0x01 or 0x00
    If I send a command to toggle the blue led (i2cset -y 0 0x08 0x00), the command executes with no errors but nothing changes on the Arduino dock.
    Am I not missing a library or something on the Omega side?



  • as far as testing the dock you might try to flash an empty sketch, as in the sketch that exists when you first open new sketch. compile that and flash it. i've read it is a good way to reset an arduino. it is recommended if you want to get rid [erase] of an existing sketch. after that do the blink example. then run the empty. then run example that you think will test the processes you are interested in. if the example sketches run i'd think the board is good. what you described above is how my board initially acted. if you find as you go along in your testing that the board is acting alright, using the given examples my conclusion is there was something wrong with the sketch or the way you set it up. i guess there is a possibility that some of the things you did like flash the wrong version of sketch might have damaged it. so , it's your call by trying to pass it off as a messed up board on delivery. one other idea is try flashing the proper bootloader. perhaps something in the bootloader you have now is damaged for one reason or another.



  • @Douglas-Kryder
    Hi guys. Thank you so much for your support. I've returned the Arduino dock and the new one works straight from the box. As stated above, it is not the first blown component I've bought from those guys. Someone brings a defective item back and they just put it back on the shelf. NEVER buying from them again.
    Anyway, thanks allot. I really appreciate your support.



  • I have a Onion2+ and used to have the OnionExpansion dock.

    Now I switched to the Arduino Dock, set up the Arduino IDE and wanted to flash some basic sketch.

    But I get the error:
    Can't export GPIO 19, already exported/busy?: Resource busy avrdude done. Thank you.

    Could this be because I switched to the Arduino Dock?
    I tried echoing 19 to the unexport file but there I got an ash permission error.



  • @Patrick-Fehr
    Did you switch to Arduino Dock or Arduino Dock 2?



  • I switched to Arduino dock 2 (the one that hosts an extension pins mount) . I also made sure, I have (only) the right opkg package. I can check all the versions and outputs later if that helps.



  • @Patrick-Fehr said in Omega 2 and Arduino dock.:

    I also made sure, I have (only) the right opkg package.

    Please try to (re)install arduino-dock-2 (and avrdude of course) with deactivated LEDE package repos.
    See also Known Firmware Issues



  • @György-Farkas

    This actually solved my problem. Thank you very much!

    root@o-megaman:~# cat /etc/opkg/distfeeds.conf
    #src/gz reboot_core http://downloads.lede-project.org/snapshots/targets/ramips/mt7688/packages
    #src/gz reboot_base http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/base
    #src/gz reboot_onion http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/onion
    ## src/gz reboot_luci http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/luci
    ## src/gz reboot_packages http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/packages
    ## src/gz reboot_routing http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/routing
    ## src/gz reboot_telephony http://downloads.lede-project.org/snapshots/packages/mipsel_24kc/telephony
    src/gz omega2_core http://repo.onion.io/omega2/packages/core
    src/gz omega2_base http://repo.onion.io/omega2/packages/base
    src/gz omega2_packages http://repo.onion.io/omega2/packages/packages
    src/gz omega2_onion http://repo.onion.io/omega2/packages/onion
    
    root@o-megaman:~# opkg list-installed |grep avr
    root@o-megaman:~# opkg list-installed |grep ardu
    root@o-megaman:~# 
    
    root@o-megaman:~# opkg install arduino-dock-2
    Installing arduino-dock-2 (0.1-1) to root...
    Downloading http://repo.onion.io/omega2/packages/onion/arduino-dock-2_0.1-1_mipsel_24kc.ipk
    Installing avrdude (6.1-1) to root...
    Downloading http://repo.onion.io/omega2/packages/onion/avrdude_6.1-1_mipsel_24kc.ipk
    Installing libncurses (6.0-1) to root...
    Downloading http://repo.onion.io/omega2/packages/base/libncurses_6.0-1_mipsel_24kc.ipk
    Installing libreadline (7.0-1) to root...
    Downloading http://repo.onion.io/omega2/packages/base/libreadline_7.0-1_mipsel_24kc.ipk
    Installing libusb-compat (0.1.4-2) to root...
    Downloading http://repo.onion.io/omega2/packages/base/libusb-compat_0.1.4-2_mipsel_24kc.ipk
    Installing libusb-1.0 (1.0.21-1) to root...
    Downloading http://repo.onion.io/omega2/packages/base/libusb-1.0_1.0.21-1_mipsel_24kc.ipk
    Installing libftdi1 (1.3-1) to root...
    Downloading http://repo.onion.io/omega2/packages/packages/libftdi1_1.3-1_mipsel_24kc.ipk
    Installing libelf1 (0.168-1) to root...
    Downloading http://repo.onion.io/omega2/packages/base/libelf1_0.168-1_mipsel_24kc.ipk
    Configuring libusb-1.0.
    Configuring libftdi1.
    Configuring libelf1.
    Configuring libncurses.
    Configuring libreadline.
    Configuring libusb-compat.
    Configuring avrdude.
    Configuring arduino-dock-2.
    
    Archiving built core (caching) in: /var/folders/sf/5t0cxvpj3bn0wv48vsrlk8440000gn/T/arduino_cache_494256/core/core_arduino_avr_uno_51f02b7210b938436b779d1c032618e1.a
    Sketch uses 444 bytes (1%) of program storage space. Maximum is 32256 bytes.
    Global variables use 9 bytes (0%) of dynamic memory, leaving 2039 bytes for local variables. Maximum is 2048 bytes.
    > Flashing application '/tmp/sketch.hex' ...
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: Device signature = 0x1e950f
    avrdude: erasing chip
    avrdude: reading input file "0x3f"
    avrdude: writing lock (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude: 1 bytes of lock written
    avrdude: verifying lock memory against 0x3f:
    avrdude: load data lock data from input file 0x3f:
    avrdude: input file 0x3f contains 1 bytes
    avrdude: reading on-chip lock data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: verifying ...
    avrdude: 1 bytes of lock verified
    avrdude: reading input file "0x05"
    avrdude: writing efuse (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude: 1 bytes of efuse written
    avrdude: verifying efuse memory against 0x05:
    avrdude: load data efuse data from input file 0x05:
    avrdude: input file 0x05 contains 1 bytes
    avrdude: reading on-chip efuse data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: verifying ...
    avrdude: 1 bytes of efuse verified
    avrdude: reading input file "0xDA"
    avrdude: writing hfuse (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude: 1 bytes of hfuse written
    avrdude: verifying hfuse memory against 0xDA:
    avrdude: load data hfuse data from input file 0xDA:
    avrdude: input file 0xDA contains 1 bytes
    avrdude: reading on-chip hfuse data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: verifying ...
    avrdude: 1 bytes of hfuse verified
    avrdude: reading input file "0xFF"
    avrdude: writing lfuse (1 bytes):
    
    Writing | ################################################## | 100% 0.00s
    
    avrdude: 1 bytes of lfuse written
    avrdude: verifying lfuse memory against 0xFF:
    avrdude: load data lfuse data from input file 0xFF:
    avrdude: input file 0xFF contains 1 bytes
    avrdude: reading on-chip lfuse data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: verifying ...
    avrdude: 1 bytes of lfuse verified
    
    avrdude done.  Thank you.
    
    
    avrdude: AVR device initialized and ready to accept instructions
    
    Reading | ################################################## | 100% 0.01s
    
    avrdude: Device signature = 0x1e950f
    avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
             To disable this feature, specify the -D option.
    avrdude: erasing chip
    avrdude: reading input file "/tmp/sketch.hex"
    avrdude: input file /tmp/sketch.hex auto detected as Intel Hex
    avrdude: writing flash (32768 bytes):
    
    Writing | ################################################## | 100% 0.73s
    
    avrdude: 32768 bytes of flash written
    avrdude: verifying flash memory against /tmp/sketch.hex:
    avrdude: load data flash data from input file /tmp/sketch.hex:
    avrdude: input file /tmp/sketch.hex auto detected as Intel Hex
    avrdude: input file /tmp/sketch.hex contains 32768 bytes
    avrdude: reading on-chip flash data:
    
    Reading | ################################################## | 100% 0.58s
    
    avrdude: verifying ...
    avrdude: 32768 bytes of flash verified
    avrdude: reading input file "0x0f"
    avrdude: writing lock (1 bytes):
    
    Writing | ################################################## | 100% 0.01s
    
    avrdude: 1 bytes of lock written
    avrdude: verifying lock memory against 0x0f:
    avrdude: load data lock data from input file 0x0f:
    > Done, flash successful
    > Flash complete!
    avrdude: input file 0x0f contains 1 bytes
    avrdude: reading on-chip lock data:
    
    Reading | ################################################## | 100% 0.00s
    
    avrdude: verifying ...
    avrdude: 1 bytes of lock verified
    
    avrdude done.  Thank you.
    


  • Hi...i am a new user here. As per my knowledge you should still be able to use your Omega in the Arduino dock and get WIFI access you just need to plug the Omega into the Arduino dock and power in to the micro USB connector.


Log in to reply
 

Looks like your connection to Onion Community was lost, please wait while we try to reconnect.