- Arduino IDE 1.6.9 Not 1.6.6, 1.6.7, or 1.6.8 (there are known issues)
- Latest Arduino for STM32 from https://github.com/rogerclarkmelbourne/Arduino_STM32
- AND!XOR libraries from git
Arduino Setup Instructions
- Unzip Arduino IDE to your PC
- Unzip STM32 files into Arduino-1.6.5/hardware
- Unzip AND!XOR libraries into Arduino-1.6.5/libraries
- Start up Arduino IDE
- Open the .ino project file inside of AND!XOR/Software/ANDnXOR_Badge/ANDnXOR_Badge.ino
- Tools --> Board --> Boards Manager --> Install Arduino SAM Boards (32-bits ARM cortex M-3), latest version (1.6.7 as of 5/2016).
- Tools --> Board --> Generic STM32F103C Series
- Tools --> Variant --> STM32F103CB
- Tools --> Upload Method --> STM32duino bootloader
- Port --> Your USB port (COM3, /dev/ttyUSB0, etc) //(NA if you're using STM32duino bootloader)
Additional info here: https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation
- Connect badge to USB while holding the "Down" button -or- Hold the "Down" button, press and release the reset button, then release the "Down" button. A red LED light on Bender's mouth will flash.
- Click "upload" in IDE
64-bit Linux Notes
If you receive this error on Linux, ".../Arduino/hardware/Arduino_STM32-master/tools/linux/stm32flash/stm32flash: No such file or directory" while trying to upload it is likely due to missing 32-bit libraries.
To fix on Ubuntu, i386 support needs to be installed for several libraries:
sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Flashing data to NAND
We recommend flashing NAND from Linux. It just runs faster and this is how we flash our badges.
- Put the badge into "Serial Mode" (System --> Serial Mode) or it will run automatically if NAND data is incorrect. The RGB LEDs will flash various colors.
- Run flashdata.sh script (AND!XOR/Provision/flashdata.sh /dev/ttyACM0 ANDnXOR_Badge-Flash.bin
- Bender's eyes will alternate red/green, it should flash for 2 to 3 minutes.
- Badge will return to Serial Mode, reset or exit serial mode.