• Meredith Schmidt

Android Firmware Recall Info + How To Fix it Yourself With an Arduino Uno

NOTICE: This update only applies to Android users who received their BeatBox prior to January 27, 2021.

Hey guys, we are finally able to bring you an answer to what the deal with the Android app is. The TLDR version is that the issue was not with the app but with the BeatBox firmware. If you have an Arduino Uno board you can fix it yourself at home with the instructions below, if not you can send us your board and we will send you back a corrected version. There will be a Google form sent out by email you can fill out if you need us to send you a replacement board so be on the look out for that.

We have been able to pinpoint the issue we've been facing regarding the Android version of the app. It turns out that the problem was not with the software, but with the firmware, specifically the brain module board inside the BeatBox. The problem was found in a few of the serial monitoring lines. We have found a way to fix the issue by flashing the brain module board by connecting it to an Arduino Uno board.

Side note: If you ever want to reprogram your board in the future you'll need to do it with an Arduino Uno so this project would be a great starting off point! It is a super easy process, even our Marketing Director who has never done a DIY project of the sort was able to do both the Windows and Mac version with ease.

It is a similar process for Mac and Windows users with just a few steps that are unique. Steps 1-3 are the same for both and go as follows:

STEP 1: Get your parts ready! For this you will need an Arduino Uno to act as an AVR programmer, 6x female to male jumper wires, 6x 2.54mm headers, a Windows or Mac computer, and the brain board. The brain board needs to be by itself and not have any other part attached to it, meaning you can’t do this while the board is still installed in the BeatBox. You should be able to use any AVR programmer for this task, in this case we are just focusing on repurposing an Arduino as an AVR programmer since you can use the Arduino for other fun projects later on.

STEP 2: Download the files necessary here: https://drive.google.com/drive/folders/1V0m1DkGAVX7ZrHP5WmFY2VLC4jnnFu5y?usp=sharing.

STEP 3: Download Arduino 1.8.12 here: https://www.arduino.cc/en/Main/OldSoftwareReleases#previous Make sure you download the 1.8.12 version, this workaround isn’t going to work on the most recent 1.8.13. When you open the 1.8.12 version it will ask you if you want to upgrade to the newer version, DO NOT upgrade it. If you are already using 1.8.13, you will need to downgrade it to 1.8.12.

This is where the steps become different depending on your operating system.

Windows users: continue on to the steps below starting with step 4.

Mac users: scroll down to the "Mac" section to see your step 4 and following steps.

STEP 4: Download Teensyduino installer for Windows: https://www.pjrc.com/teensy/td_download.html

STEP 5: Install Arduino 1.8.12, and then install Teensyduino. It’ll ask you to install it to your Arduino install folder and you'll go ahead and allow it to.

STEP 6: Go to your Arduino install folder, and find the Teensy library. This is usually at Program Files (x86) -> Arduino -> hardware -> teensy -> avr.

STEP 7: Replace the “boards.txt” file with the file we provided in the google drive download. This will allow Arduino to use our brain board as a Teensy 2.0 ++. To do this you can copy the new file and paste it in to the folder with the original file. It will ask you if you want to replace the file and you will want to allow it to.

STEP 8: Now, go to cores -> usb_midi, and replace the “usb_private.h” file with the file we provided. You'll replace it the same way you did with the "boards.txt" above. This will change the device name back to Beatbox after flashing the board.

STEP 9: Open Arduino, and open the ArduinoISP example.

STEP 10: Connect the Arduino Uno to your computer using the included USB cable. Under “Tools”, make sure you have Arduino Uno as the board, and Arduino Uno as the port.