This example shows how to update the firmware on the uMMC or uMP3 using an Arduino.
This is outdated. Please see Firmware Update Tool
NOTE: This is only an updater for Windows. The Windows updater only supports “COM1” → “COM4”, so you will have to make sure your Arduino Serial connection is using one of those. See here for more info.
Before you start the procedure below, it is best to compile and download the “Serial Pass-though” sketch to your Arduino. Make sure you select the right one for your Arduino board. After uploading the sketch to your Arduino, quit the Arduino IDE.
Next, make sure you have the appropriate firmware downloaded for your module.
“Unzip” the files from the firmware download into a directory you know, such as: C:\rogueupdate.
Now the procedure.
c:\rogueupdate\update.exe XXXXXXXX.rfw -COM3 and press Enter.c:\rogueupdate\ to wherever you put the firmware update files.XXXXXXXX.rfw is the name of the firmware update file, for example: “ummc-102-08-b004.rfw”-COM3 to whatever you set your Arduino board to in the previous step./************************************************** * Simple pass-through serial application for * Arduino and Arduino-clones. * You can use this for testing and * updating the Rogue Robotics * uMMC Serial Data Module or * uMP3 Playback Module. * * You will need the "NewSoftSerial" library * available at the Arduino website. * http://arduino.cc/ * http://arduino.cc/en/Reference/Libraries ***************************************************/ #include <NewSoftSerial.h> // You can set this to whatever pins you have the uMMC or uMP3 connected. // e.g. 4 is connected to uMMC "T", 5 is connected to uMMC "R" NewSoftSerial out(4, 5); // If you are using this to update the firmware on the uMMC or uMP3, // you will have to make sure that both the Serial connection and the // out connection are set to 9600 bps. void setup() { out.begin(9600); Serial.begin(9600); pinMode(13, OUTPUT); digitalWrite(13, 0); } void loop() { digitalWrite(13, 0); if(out.available()) { digitalWrite(13, 1); Serial.print((uint8_t)out.read()); } if(Serial.available()) { digitalWrite(13, 1); out.print((uint8_t)Serial.read()); } }
/************************************************** * Simple pass-through serial application for the * Arduino Mega. * You can use this for testing and * updating the Rogue Robotics * uMMC Serial Data Module or * uMP3 Playback Module. ***************************************************/ // Arduino Mega: Pin 18 (TX1) to uMMC/uMP3 “R”, Pin 19 (RX1) to uMMC/uMP3 “T” // If you are using this to update the firmware on the uMMC or uMP3, // you will have to make sure that both the Serial connection and the // out connection are set to 9600 bps. void setup() { Serial1.begin(9600); Serial.begin(9600); pinMode(13, OUTPUT); digitalWrite(13, 0); } void loop() { digitalWrite(13, 0); if(Serial1.available()) { digitalWrite(13, 1); Serial.print((uint8_t)Serial1.read()); } if(Serial.available()) { digitalWrite(13, 1); Serial1.print((uint8_t)Serial.read()); } }