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.
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. 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:
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
-Then select the board: Arduino UNO and the port (in my case COM7) and the Programmer "AVRISP mkII". Click on Upload
Now we have the Arduino UNO board ready to be used as a programmer.
Then you just need to burn the bootloader
2. Program Your Time Manipulator Code
Once the bootloader is burned, you can program the code. You can use a breadboard or the Time Manipulator PCB. Both ways will work the same.
2.1 Using a breadboard:
Connect your Arduino UNO board (withouth microcontroller) to a breadboard like the image below:
It is simple, make sure that your Arduino IDE is configured like the image below:
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.
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... )