If the code compiles but fails to upload on an R1 or R2 Arduino Uno, you’re seeing an obscure bug in the board’s bootloader when dealing with very large programs. There are a couple of workarounds for this:
FIX 1: If you build a lot of projects and have an Arduino Uno R3 handy, swap it out. Dedicate the R3 board for Gutenbird and use the R2 for the majority of Arduino projects that aren’t quite so demanding. This is the easiest option, if you have the spare board.
FIX 2: Update the bootloader on the older Uno using these directions. A second Arduino is required during the upgrade, and there’s a small risk of “bricking” your R1/R2 board, so this option is best left to advanced users.
- You'll now need to edit the Gutenbird sketch to match all your particular settings. First, copy and paste the four authentication strings from your Twitter application page to the corresponding spots in the software, keeping the quotes around them. The order of these strings in the code does not match the order on the Twitter form — be sure to copy each to the correct position!
- As written, the sketch will search for Tweets originating from Adafruit, but you can change this to any search string supported by the Twitter Search API. Refer to the SEARCH OPERATORS section of the Twitter Developers Documentation for guidance.
- Edit the Ethernet MAC address to match the value you previously wrote down from the sticker on your Arduino Ethernet board or shield.
- The code uses DHCP (which dynamically assigns an IP address) by default. If your network doesn't use DHCP, or if you just want to provide a fallback address in case of a problem, edit the IPAddress value in the code.
- If using the Arduino Ethernet board, flip up the front face of the enclosure and connect an FTDI Friend or other USB-to-serial adapter to the programming header on the board. If using an Arduino Uno, use the USB port on the back of the box.
Select your board type and serial port from the Arduino IDE Tools menu, build the sketch and upload to the board. USB can now be disconnected; the box will operate standalone.