Society of Robots
Search and Index Search Here

 Parts List
 Robot Forum
 Member Pages
 Axon MCU
 Robot Books

 How To Build
  A Robot




 Robot Journals
 Robot Theory

    Axon Mote Microcontroller

    Axon Mote FAQ

    General Questions
    What is a mote?
    What is the difference between the Axon and Axon Mote?
    What is the difference between the Axon and Arduino?
    I have never built a robot before, is the Axon Mote right for me?
    I am a very weak programmer, is that a problem?
    Do you offer full customer support?
    Is there a warranty, or refund, for a damaged product?
    Is the Axon Mote RoHS compliant and lead-free?
    Can I use Mac or Linux?

    Technical Questions
    Is the Mote FCC compliant?
    What is the wireless range?
    How do I increase wireless range?
    I deleted the bootloader, how do I reupload it?
    What fuses does the Axon Mote use? How do I change them?
    How do I set up JTAG?
    Why not a wireless bootloader?

    ISP hardware programmer fails to work
    The USB sometimes hangs or causes a computer crash
    The green/red LED is flashing but nothing is working, what's wrong?
    Why am I getting gibberish from the UART?
    What happens if I 'brick' the Axon Mote?
    What happens if I fried a port pin?
    The Axon Mote resets often, what's wrong with it?
    The Axon Mote resets randomly on rare occasions, and the batteries are fine.
    I just saw sparks/smoke come from my Axon Mote!
    Why does the Mote get really hot?
    The bootloader isn't working!
    The USB bootloader is really slow!
    Pololu Programmer doesn't work.

    What is a mote?
    A 'mote' is a node in a wireless sensor network that is capable of performing some processing, gathering sensory information, and communicating with other connected nodes in the network.
    See wikipedia for more information.

    It's basically a robotics term for a little wireless gizmo placed in the environment to do something useful. The added benefit is that it can also control robots like any 'regular' microcontroller. Due to its wireless meshing capability, you can use it for colony robots, have wireless reprogramming (not yet implemented), and many other things.

    What is the difference between the Axon and Axon Mote?
    The Axon and Axon Mote both use a microcontroller from the Atmel ATmega family. This means both the Axon and Axon Mote are 99% software compatible, minus a few additional features and pin # changes. They are both equally easy to use.

    The only real difference is the Mote has fewer I/O, but has wireless and a uSD card adaptor slot.

    What is the difference between the Axon Mote and Arduino?
    The Arduino is a popular intro board. As hinted by its really low price, it lacks quite a lot in features. The Arduino does not have a power bus, meaning you can't just plug in servos or sensors directly (you must purchase wiring and protoboard). It has a cheap voltage regulator, thereby requiring you to use a larger more expensive 7V battery. The Axon Mote also has more timers, UARTs, interrupts, and hardware PWM pins (must-haves for making robots).

    The Axon Mote is a high-end microcontroller - ranking features, support, and quality over price. "You get what you pay for."

    I have never built a robot before, is the Axon Mote right for me?
    If you are on an ultra-tight budget, the $50 Robot would be more appropriate.

    If you are building something that requires extensive I/O, such as a biped, or need tons of ADC or UARTs, then you should use the Axon II.

    Otherwise, it's designed so that a complete beginner can pick it up quickly without having to understand all the intricities of an advanced board.

    I am a very weak programmer, is that a problem?
    No, it is not! All the complicated programming has already been done for you. Almost any feature can be used by calling simple one-line functions, of which is listed in the WebbotLib and Axon Mote manuals.

    Do you offer full customer support?
    SoR offers more support than any other controller or website on the market: admin's proven personal support, plus the fairly large and growing SoR forum community. If you have problems or questions, there are three steps you should take:

      1) Check the setup guide and datasheet
      2) Search the forum for similar questions
      3) Ask your question in the forum, including 'Axon Mote' in the subject line

    And if you have a more general 'how do I ...' question, remember to always search the SoR site first before asking in the forum. Its probably been already asked! You might also find the general robot FAQ and the must read robot tutorials list very useful.

    Is there a warranty, or refund, for a damaged product?
    We individually test all Axon Mote boards before shipping, and so we guarantee that no product is shipped damaged/non-functional. If your board fails due to improper use, post a question in the forum for help to revive or at least partially revive your Axon Mote. This may often involve soldering and/or replacing individual components on the board, or modifications in software. The Axon Mote is damage resistant to protect against beginner mistakes =P

    The USB sometimes hangs or causes a computer crash
    The USB software that is installed with Windows is very buggy, and can cause USB hanging and BSDs (blue screen of death). You must update your USB FTDI drivers to the latest version. After plugging in your Axon Mote by USB, you can upgrade the USB driver by going to the Windows Update site using IE. It will automagically detect an out of date version on your PC, and upgrade it for you.

    If that doesn't work, you may also do it manually by following these steps:
    1) download the latest FTDI USB driver
    2) unzip into a folder
    3) go to Control Panel -> System (icon) -> Hardware (tab)
    4) open Device Manager (button)
    5) Plug in your Axon Mote to USB
    6) look for your Mote in 'Ports (COM & LPT)'
    it might say something like 'USB Serial Port (COM12)'
    7) right click and click Update Driver...
    8) follow instructions and point to the latest ftdiport.inf driver
    you had just downloaded

    See the FTDI installation guide for more help.

    ISP hardware programmer fails to work
    Your ISP programmer has LEDs that give feedback.
    • If the ISP programmer flashes a red LED but otherwise reads the microcontroller correctly, you must temporarily remove the uSD card to program your Mote. This problem can happen when your microcontroller is trying to use the uSD card while you're trying to program it.
    • If it still doesn't work, unplug the ISP programmer from both your computer and the Mote, then plug it all back in to reset it.
    • There are other LED errors you will see, most resulting from plugging in the programmer incorrectly, or not powering up your Mote. See your ISP programmer manual for more info.

    What is the wireless range?
    Range depends on many factors, such as objects in the path, materials of the objects in the path, humidity (water absorbs RF), antenna type and pointed direction, wireless interference from other devices, etc. These values should only be used as a guide and not definite. Packet loss can occur from random short term noise interferering with the signal. Range can effectively be further by re-transmitting data whenever packet loss is detected (when wireless_crc_valid==false).

    inside (0% packet loss): 13m (44ft)
    inside (<90% packet loss): 18m (60ft)
    outside (0% packet loss): 55m (180ft)
    outside (<90% packet loss): 122m (400ft)

    How do I increase wireless range?
    Make sure the antennas are parallel for maximum range. Set your device to look at several channels and choose the one with the best reception. You can use a longer antenna. Also, you can use a RP-SMA extension cable to allow for placing the Axon Mote in a RF-shielded box with the antenna on the outside.

    Is the Mote FCC compliant?

    FCC Compliance Statement Note: The ATmega128RFA1 has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates, uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:

    • Reorient or relocate the receiving antenna.
    • Increase the separation between the equipment and receiver.
    • Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
    • Consult the dealer or an experienced radio/TV technician for help.
    • Modifications not expressly approved by the manufacturer could void the user's authority to operate the equipment under FCC rules.

    Compliant to IEEE 802.15.4-2006, IEEE 802.15.4-2003 and RF4CE
    Compliant to EN 300 328/440, FCC-CFR-47 Part 15, ARIB STD-66, RSS-210

    Remember: Please keep the airwaves clean, and never intentionally cause interference to other wireless devices.

    The green/red LED is flashing but nothing is working, what's wrong?
    The green LED flashes when the Axon Mote is reset - usually when battery power drops too low. Unpower your board, swap to a fully charged battery with the proper voltage, and try again. Note that the green LED could also flash if you write code to do just this, so if the battery is fine, then your code could be wrong . . .

    Why am I getting gibberish from the UART?
    Giberish means your COM port is correct but baud rate is set improperly. I typically just set *everything* by default at 115200 or 230400 for *all* of my projects to avoid potential conflicts.

    What happens if I 'brick' the Axon Mote?
    The term 'bricking' is what happens when you play around with the fuse settings not knowing what you are doing. Or if you under-power your Axon Mote during programming, causing a fuse corruption. If you set the wrong fuse, you could end up preventing the Axon from reprogramming again - including preventing the changing of the fuse settings. This is a very common 'stupid' mistake - all the experts have bricked a microcontroller at least once in their lifetime! I definitely have. The most likely event is that you set the frequency clock fuse wrong, and that you will need to apply an external clock using a function generator or a second microcontroller.

    1. Unsolder the silver-colored square crystal and the two small capacitors to the sides of it.
    2. Apply a square wave to XTAL1 (say 125KHz, 250KHz, etc). Ground to ground.
    3. Using a hardware programmer, change the fuse settings back to a 16MHz crystal.
    4. Lastly, solder the crystal and caps back on.

    Check the correct Axon Mote fuse settings for more information.

    What happens if I fried a port pin?
    The Axon Mote microcontroller is very resilient to abuse. If for example you accidentally plug in ground to an output pin while the pin is set to high, the pin will most likely fry. However, the rest of the microcontroller should still continue to work without problems - just use a different pin. A very likely way to fry a port pin is plugging in a battery to it by accident, or a device attached to it doesn't act as expected. If you are worried about damaging a pin, place a resistor of about 4kohm between the port pin and your external device signal pin.

    The Axon Mote resets often, what's wrong with it?
    Chances are this is a battery problem. First, use a multimeter to check the input voltage while your Axon is turned on. The original source code is designed to flash the green status LED during a reset - constant flashing means constant resetting. Also, make sure you do not have the WDT (watch dog timer) fuse set, and that your code isn't directly causing the reset.

    The Axon Mote resets randomly on rare occasions, and the batteries are fine.
    This could be because electrical noise is causing a hardware reset on the reset pin. Flip the Axon Mote over, and on the ISP header solder a 0.1uF to 1.0uF ceramic capacitor between RESET and GND. This could also be because you are drawing huge amounts of power when a motor is turned on, or perhaps you have something occasionally shorting power.

    I just saw sparks/smoke come from my Axon Mote!
    This means something was shorted. Make sure everything is plugged in correctly. The Axon Mote is designed to resist damage, so you have a good chance it will still retain functionality after you identify and rectify the problem.

    Why does the voltage regulator get really hot?
    There are two reasons the voltage regulator (shown in below image) could overheat. First, something could be shorting. Unplug your power and check your wiring. The other reason could be you are over-drawing power - the voltage regulator is rated to not handle more than about 300mA of current. The voltage regulator has thermal shutdown features, meaning that if it overheats, it will turn off until it cools down.

    Axon Mote Voltage Regulator

    I deleted the bootloader, how do I reupload it?
    To reupload the bootloader, you will need a hardware programmer. I recommend the ATAVRISP2 which you can buy for about $36 plus shipping:

    AVR ATAVRISP2 Programmer

    There are many benefits to using a hardware programmer over the included bootloader - faster uploading, easier to change fuses, and much more.

    To connect it to your Axon Mote, just match the triangle on both the ISP header and the Axon board. The cable should point towards the Axon Mote logo.

    Programmer Connection

    Next, power up the Axon and open up AVR Studio. Click on the AVR button to connect to the Axon:

    Connect with AVR ISP

    A new connection window should come up. Select MKII as the programmer.

    Then, browse for the bootloader.hex file and upload it.

    You can download the bootloader .hex to go onto the Axon Mote here:
    Axon Mote USB Bootloader (.hex)

    Remember to power up your Axon *before* programming it. If you don't, sometimes it will program but the power delivered is not always enough to keep the commands from getting corrupted. On very rare occasions it could modify the fuses, potentially the clock fuse, and thereby 'brick' your Axon (a bad thing).

    What fuses does the Axon Mote use? How do I change them?
    If you ever need to redo your fuses, this is what you should set them as. The best way to change/set fuses is to use a hardware programmer (such as the MKII). Open up AVR Studio, connect to the Mote, and go to the fuses tab.

    Enter in the fuses as shown, then press Program.


    Axon Mote Fuse Settings

    Is the Axon Mote RoHS compliant and lead-free?
    No. There are also no conclusive studies that show RoHS compliant electronics are safer or better for the environment.

    The bootloader isn't working!
    If you are having trouble getting the bootloader to work, there are several steps you need to follow.

    Most likely, you simply selected the incorrect COM port. Go to the device manager to verify the COM port you selected is the COM port your Axon Mote is connected to. For an example, see STEP 2: Select Options.

    If still no luck, read through the Bootloader Debug List

    How do I set up JTAG?
    A JTAG Debugger is useful for code debugging, but requires external hardware. Here are instructions on setting up JTAG as provided by an Axon user.

    TDI connects to ADC 7
    TDO connects to ADC 6
    TMS connects to ADC 5
    TCK connects to ADC 4
    nTRST connects to ISP pin 5 IRST
    GND connects to GND
    Vsupply connects to ADC +3.3V

    Enable the JTAGEN fuse in AVR Studio. Note that this will disable ADC 4-7.

    Warning: When finished using JTAG, disable the JTAG fuse before attaching sensors to ADC 4-7! Otherwise, you could potentially damage those pins (and maybe your sensors) permanently.

    setting up software:
    Under debug menu set the debug platform and device to JTAGICE MKII.

    Then, add this to your makefile:

    # Debugging format.
    # Native formats for AVR-GCC's -g are stabs [default], or dwarf-2.
    # AVR (extended) COFF requires stabs, plus an avr-objcopy run.
    DEBUG = dwarf-2

    Why not a wireless bootloader?
    Why isn't there a wireless bootloader for the Axon Mote? Good question! Mostly, it is because this is no easy task and we are waiting for someone much smarter than us to figure it out. Word on the street is the uracoli project is currently working on one, and they offer the code as open-sourced.

    The USB bootloader is really slow!
    If you are using Windows XP, do not upgrade to SP3. The bootloader takes about ~6 seconds with SP2, and ~45 seconds with SP3. There are no actual benefits to using SP3, however many problems with it have been reported. See this forum post for more info.

    To remove SP3, go to:
    Start -> Control Panel -> Add Remove Applications -> Windows XP SP3
    and remove it.

    Can I use Mac or Linux?
    The bootloader is not directly Linux/Mac compatible. To learn more about programming with a Mac, check out this forum post and this one too. You could use a Windows emulator like Wine or dosbox. You could also use an external hardware programmer for programming - please see the FAQ on how to upload code with a programmer. Finally, a FBOOT version for OS X and Linux.

    Pololu Programmer doesn't work.
    The reason is because the programmer is by default programmed to operate for 5V microcontrollers, but the Axon Mote is 3.3V. To correct for this, you simply need to open up the configuration utitlity and change the target voltage setting. See this forum thread on configuring the Pololu Programmer for 3.3V microcontrollers for more info.

Get Your Ad Here

Has this site helped you with your robot? Give us credit - link back, and help others in the forums!
Society of Robots copyright 2005-2014
forum SMF post simple machines