Welcome, Guest
Username: Password: Remember me

TOPIC: How to Reprogram the Time Manipulator

How to Reprogram the Time Manipulator 6 months 3 weeks ago #1546

  • Ray
  • Ray's Avatar
  • NOW ONLINE
  • Moderator
  • Posts: 614
  • Thank you received: 138
  • Karma: 38
If you want to change the original code and reprogram your pedal, or you just to program a brand new chip with the code, this is your topic.

0. Into:
The Time Manipulator uses the same microcontroller as the Arduino UNO, the ATMEGA328P-PU (not to be confused with the ATMEGA328-PU, that P is important). You can get this microcontroller from Amazon, eBay, Mouser, Farnell, Digikey, Rapid Electronics, etc..
In the Time Manipulator, the microcontroller runs without oscillator (fewer components to use) in a "stand alone without crystal" configuration

If you have a brand new Microcontroller:
You need to do 2 things to a new chip:
  1. Burn the Bootloader
  2. Program your Time Manipulator code
All this process is described on the Arduino website.

1. Burning the Bootloader to an ATMEGA328P-PU chip:
This is only applicable to brand new chips, if you got your microcontroller from ElectroSmash, the bootloader will be already programmed, so you just need to go to step2 "Program your Time Manipulator code".

This process only need to be done once on a new chip. You would need a breadboard:
SimpleBreadboardAVR_2019-02-04.png


And follow the "Minimal Circuit (Eliminating the External Clock)" described on : https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard

The process is simple:
- Download the breadboard-1-6-x.zip and unzip it into your sketch folder (to check where it is go into the Arduino IDE and File/Preferences/SketchBook Location), in my case is at "C:\Users\Administador\Documents\Arduino\".
You need to create a "hardware" folder inside the "Arduino" folder to unzip the breadboard zip file.
If you did it right, after restarting the Arduino IDE you will see the "ATmega328 on a breadboard (8MHz internal colck)"

-Ok, now that the breadboard is installed it is important to understand that we are going to use the Arduino UNO as an ISP Programmer (you can use any Arduino Board as a In-System-Programmer - mega, due, nano, etc). So take an Arduino UNO board, load the Arduino ISP Example
arduinoisp.jpg

-Then select the board: Arduino UNO and the port (in my case COM7) and the Programmer "AVRISP mkII". Click on Upload
Untitled1_2019-02-04.png


Now we have the Arduino UNO board ready to be used as a programmer.
Then you just need to burn the bootloader

bootleader_finished.png





2. Program Your Time Manipulator Code
Once the bootloader is burned, you can program the code (firmware or any cocde). You can use a breadboard or the Time Manipulator PCB. Both ways will work the same.
note: You can get the ElectroSmash Firmware from here: www.electrosmash.com/forum/time-manipula...manipulator-firmware

2.1 Using a breadboard:
Connect your Arduino UNO board (withouth microcontroller) to a breadboard like the image below:
ArduinoUSBSerialSimple.png

Then you can follow the procedure described on "Minimal Circuit (Eliminating the External Clock)" to program the chip.

It is simple, make sure that your Arduino IDE is configured like the image below:
programming_TM.png

On the Tools menu:
  • The Board selected should be the "ATmega328 on a breadboard (8MHz internal clock)"
  • Select your COM Port (probably yours would be different from the one on the image)
  • Programmer should be "Arduino as ISP"
Once you are sure that all is well configured, just click on "Upload" and wait for the "Done Uploading" message.

2.2 Using the Time Manipulator PCB instead of a breadboard:
It is convenient because you wont need to unplug/plug the microcontroller from the breadboard to the pedal every time you want to experiment and load a new code.
programming_TM.jpg

Important:
  • Make sure that the Time Manipulator is powered (Using a Boss style centre negative 9V adapter)
  • The software configuration and procedure is exactly the same as in the step before ("2.1 Using a breadboard")

Final note: You would need and Arduino UNO (as a ISP programmer) to reprogram your Time Manipulator BUT you could do the same using any Arduino board (Nano, Mega, Due, Zero, etc... )
Attachments:
Last Edit: 1 month 3 hours ago by Ray.
The administrator has disabled public write access.
Time to create page: 0.109 seconds
Powered by Kunena Forum
Joomla SEF URLs by Artio