With the introduction of the Mk4 units, we've also introduced a new way to command the 3D Chameleon and new expansion capabilities. In order to take advantage of these new features, you'll need to update your firmware AND the BOOTLOADER. To update the Bootloader, make sure you have the Arduino IDE installed, go to the Tools Menu and select the "Programmer" you have. Once you've done that, select "Tools|Burn Bootloader". This is necessary for the new firmware to work. If your firmware doesn't respond after burning it, it's most likely because you haven't completed the bootloader successfully. Simply try it again. Select Your Programmer from the Tools Menu:
Select "Burn Bootloader":
You can reprogram your electronics with the new firmware by downloading the new firmware (attached to this thread), installing the Arduino environment and then running the following command from the location of your downloaded (and extracted) firmware. "\Program Files (x86)\Arduino\hardware\tools\avr\bin\avrdude.exe" -v -p m328p -c usbtiny -U flash:w:SelectorFirmwareMk3.1.
hex:i -C "\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf" Please note, I am use the Adafruit USBTiny programmer, but you can use anything you choose... you'll need to update this command to reference your own programmer in that case. You can also use any operating system you choose, but be sure to also update the paths in the command to match your OS specific requirements. Be sure to update the "Bootloader" in the Arduino environment to insure the clock speed of the 3DChameleon is updated to the new Mk4 timing. For the Adafruit USBTiny programmer, make sure to only use the Adafruit drivers... the Zadig drivers WILL NOT WORK on real Adafruit devices.(https://learn.adafruit.com/adafruit-arduino-ide-setup/windows-driver-installation) Chris Riley did a great video on upgrading the 3DChameleon's firmware over on his YouTube channel here: https://www.youtube.com/watch?v=G7YNcXE9gfU&pp=ygUVM2QgY2hhbWVsZW9uIHByaW50aW5n Also, check out his step by step instructions here: https://docs.google.com/document/d/1-OkkDjHdcTeN9WLbiT6VLYRj_YzjyalHT2G0v7SsgG4 Don't forget to like and subscribe to his channel. He has other great videos on the 3DChameleon as well. Bill
(PS, This Zip file contains 4 versions of the firmware... Normal (180 degree servo), Reversed Direction Servo, 270 Degree Servo and Reversed 270 Degree Servo.)
Hi I have the 3d chameleon and an arduino uno3. I followed the instructions on chris basement for upgrading the firmware to the latest version MK4. I had no errors and everything seemed to go as instructed.
Right now when I connect my chameleon back up and try to operate it by pressing the button to command the filament change nothing happens but I do hear a single pulse sound from a stepper. it doesnt matter how long i press it nothing else happens.. The green light comes on the chameleon as before. Of course the chameleon was working as intended before the firmware upgrade. I want to use the screen and the 3d clippy hence the reason for the firmware upgrade.
In the above article that Bill wrote he mentions the boot loader.. But the chris basement video doesnt mention this at all. So my question is what the correct way to upgrade the firmware? Do I need to follow bills instruction to upgrade the boot loader then follow the chris basement video for the firmware? what went wrong here?
Below is a snippet of the firmware upgrade too.
C:\Users\KEVIN PC\Desktop>avrdude -Pcom4 -b19200 -cavrisp -pm328p -v -e -U flash:w:SelectorFirmwareMk4.ino.hex:i
avrdude: Version 6.3-20190619
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2014 Joerg Wunsch
System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr\etc\avrdude.conf"
Using Port : com4
Using Programmer : avrisp
Overriding Baud Rate : 19200
AVR Part : ATmega328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :
Block Poll Page Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack
----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff
flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff
lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00
calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00
signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00
Programmer Type : STK500
Description : Atmel AVR ISP
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.03s
avrdude: Device signature = 0x1e950f (probably m328p)
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as FF
avrdude: erasing chip
avrdude: reading input file "SelectorFirmwareMk4.ino.hex"
avrdude: writing flash (12426 bytes):
Writing | ################################################## | 100% 14.05s
avrdude: 12426 bytes of flash written
avrdude: verifying flash memory against SelectorFirmwareMk4.ino.hex:
avrdude: load data flash data from input file SelectorFirmwareMk4.ino.hex:
avrdude: input file SelectorFirmwareMk4.ino.hex contains 12426 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 8.03s
avrdude: verifying ...
avrdude: 12426 bytes of flash verified
avrdude: safemode: lfuse reads as 62
avrdude: safemode: hfuse reads as D9
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK (E:FF, H:D9, L:62)
avrdude done. Thank you.