How do I Program Arduino Using Wixel Wireless Serial App

On each wixiel I uploaded to Wireless Serial App with the default configuration. One Wixel plugged into the computer and the other is plugged in to the Arduino like this: https://www.pololu.com/picture/0J3346.253.png. The Arduino’s tx pin being connected to the wixels pin 1_7 and the Arduino’s pin labeled rx connected to pin 1_6. The wixels pin 1_0 is connected to the Arduino’s reset pin. https://www.pololu.com/docs/0J46/9.b The Wixels vin pin is connected to the Arduinos 3v3 pin and the ground is connected to the Arduino’s ground. My problem is that when I try to upload code it gives me the error problem uploading to board and avrdude spits out: avrdude: stk500_getsync(): not in sync: resp=0x00 avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51 Any help would be greatly appreciated.

Hello.

What you’ve done so far has a pretty good chance of breaking the Wixel that you are connecting to the Arduino.

  • If the Arduino is RESET via its USB port, the RESET line goes up to 10 V (way above what a Wixel IO pin is specified to handle)
  • The Arduino has a 1k pull-up resistor to 5V on the RESET line, while the Wixel is trying to drive it low, 5mA could be flowing into the Wixel, which exceeds the current rating of the IO pins.
  • You have not made the circuit you are trying to copy from picture https://www.pololu.com/picture/0J3346.253.png. The Arduino has additional circuitry connected to both the RX and TX lines that should be accounted for. Specifically, the USB-to-serial adapter (FTDI or ATMEGAA8U2)'s RX and TX lines are connected to the AVR through 1k resistors. If the USB-to-serial adapter on the Arduino is pulling the RX line high, while the Wixel is trying to drive it low, 5mA could be flowing into the Wixel, which exceeds the current rating of the IO pins.
    Beyond all this, you haven’t explicitly said that you have set the Wixel to the correct baud rate to communicate with the Arduino’s bootloader, which I believe is 9600 baud on a lot of Arduinos. You can find it in the boards.txt file.

In order to account for all of these things, you will need to add some transistors and resistors to your circuit. If you are still interested in doing it, I can send you a schematic for how to do it.

- Ryan

Thanks a lot its a good thing I haven’t plugged the Arduino’s usb in yet. They are set to 9600 and yes, If it’s not to much trouble a schematic would very helpful. Also I have another question that is should I use wixel pin 0_0 or wixel pin 1_0 for resetting the Arduino because the chart says: P0_0 Arduino DTR output reserved for future use and P1_0 DTR general-purpose output pin.

I was wrong about 9600 baud being a valid baud rate for programming Arduinos. The Arduinos listed in the boards.txt file use many different baud rates but none are 9600. You can look in the boards.txt file for what baud rate to use for your Arduino.

Here is the circuit that we recommend using for (wirelessly) programming an Arduino using a Wixel:

- Ryan

We recently released the Wixel Shield for Arduino, which implements a circuit similar to the one I described above, enabling wireless programming of Arduinos and much more.

- Ryan