OK, so Bill mentioned that we had to update the bootloader in the 3dC because of new timing before we flash the new firmware on it. However there were no instructions on how to do this. I figured it out using the Arduino Uno. To start get everything set up as Chris shows in this video: https://youtu.be/G7YNcXE9gfU?t=332 Follow the steps for the UNO UNTIL you start using the avrdude commands (the arduino should be plugged into your computer via USB, and the 3dC should be plugged into the arduino using the jumpwires that Chris shows). Instead, open the Arduino software and click Tools.
The second option in the menu presently reads: Programmer "USBasp" click on it and then select ArduinoISP
Now go back and click on Tools again, but this time select "Burn Bootloader"
After that, you'll see some info at the bottom about compiling and then it should eventually give you a completed message. Hope this can help someone, and if anyone gets it working for the USBasp please add it below.
More screenshots on how to setup the Arduino IDE to burn the bootloader first. Using USBTiny https://www.amazon.com/gp/product/B01CZVZ1XM/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
Followed the instructions and was having the normal issues others have been posting, here is how I resolved it. The key was the driver package, once I switched from the zadig tool to just installing Adafruit's drivers, it worked. My programmer is a generic USBTinyISP from Amazon. Their package seems to configure everything correctly.
Programmer: https://www.amazon.com/gp/product/B01CZVZ1XM/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1
Drivers: https://github.com/adafruit/Adafruit_Windows_Drivers/
Board: Generic USBTinyISP
Arduino IDE: Latest
Board: Tools -> Arduino AVR Boards -> Arduino Uno
Programmer: USBTinyISP
Tools -> Burn Bootloader
-> USBTinyISP turns on a red light.
I didn't get any errors or output via Arduino, but everything greened up. I assume the bootloader loaded. I then flashed the new firmware with this:
avrdude -P usb -c usbtiny -p m328p -v -e -U flash:w:SelectorFirmwareMk4.ino.hex:i
^ Initial path setup was done as in Chris's ( https://www.youtube.com/watch?v=G7YNcXE9gfU ) video.
I'm not sure if there's a way for the USBTinyISP to query the bootloader that is installed, but I guess I'll just have to watch for the slow motor issue.
I used a USBASP, and got the same error initially. Make sure in the Tools menu, under board you have Arduino UNO selected and under Programmer you have USBASP selected then run install bootloader.
If that fails again, take the usb cable out and plug it back in. Or try closing and relaunching the Arduino IDE. It’s weird how it sometimes doesn’t register the programmer.
I have been scouring this site and this forum and cannot find even the Firmware files... How does Bill expect us to do this with no instructions?
thanks for this
I've been trying to do this using a ATMega2560 that I had purchased awhile ago for another project. I was able to flash the ArduinoISP to the board and have the 3DC connected properly. Unfortunately, when I try, using your instructions I get the error:
avrdude: Error: Could not find USBtiny device (0x2341/0x49) Failed chip erase: uploading error: exit status 1
I don't get it! I don't even have a USBtiny device and it isn't selected in any of the menus!
Using Jim's suggestion of selecting Arduino as ISP, I get the following:
avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x00 Failed chip erase: uploading error: exit status 1
When i try to query the programmer with AVRDude I get the following:
$ avrdude dryrun -P /dev/cu.usbmodem14401 -v -c avrisp -p m328p -t -C /usr/local/etc/avrdude.conf avrdude error: no programmer has been specified on the command line or in the config file(s); specify one using the -c option and try again
So very frustrating!!!
I used a USBASP programmer which I couldnt get talking to the Arduino IDE until I tried using avrdude and it suggested I slow down the clock rate with the -B switch. I've now shorted Jumper 3 on the device which slows the clock rate down by default.
Tried burning the bootloader, as Bill recommended and it worked. I then flashed the new firmware and tried testing the device and it seems to be working as expected. I have to say it does seem like the motors are noisier than they were before the update.
For anyone else having drama trying to update the bootloader try arduino as isp in the tool settings that option worked for me for a clone uno board
Pretty much how I did it, except I was using a USBTiny programmer and selected that instead.