AVR(8) microcontrollers are 8-bit, which specifies the unit that is (typically) processed by the CPU. This is different from the ADC resolution, which is 10bit on the average AVR8 like the ATTiny25/45/85. In addition, the C++ Compiler used for „Arduino“ uses 16bit integer by default as int size. „Arduino“ BTW is just plain C++, but the library often uses C-style design, making changes harder than needed.
Thanks for doing this. Maybe more guitar players will venture into this world. I used an Arduino Uno with a MIDI shield to do some rig control stuff a while back. Very simple and powerful.
In a circuit, should I be keeping the Arduino ground separate from the guitar signal ground? I built a multipurpose box with one part being a Pro-Micro based MIDI controller, and the other part a passthrough for my connecting my guitar to my soundcard via a switchable effects loop (basically cable-management). Unfortunately the guitar picks up an unacceptable level of digital noise (i.e. it's audible!). I'd initially assumed the noise was being picked up through the air like with pickups, and tried using shielded cable etc. but that didn't work. I've since realised that the two circuits share a common ground via the aluminium enclosure and am wondering if it's worth ordering some guitar jacks with plastic cases so that I can keep the circuits completely isolated. Or is there another noise-management solution that I haven't thought of? Just found this channel recently via the pickup-winding vids BTW - great stuff!
it just the best in world of digital sound, Ijust finish designing one on kicad stw STM32(I really love this MC over others) with tuner, playback, midislot and other function Though I don't want to venture too much in DSP, I preferably use DAC & ADC, to lessen the work abit.
What you call the definition section is actually your global declarations. Variables defined here are what consume the global variable space you later refer to. Everything defined here is accessible to every function within the program, some of which may be variables, but also macros that are expanded at compile time to (hopefully) make code more readable and repeatable. Variables defined within functions are not global and are stored on the program stack and only exist while the function is executing, unless declared as 'static'. The loop() function is not the same thing as main() in C, which is always the main entry point to any C program. The Arduino IDE kinda hides the main() function from you. The main() function looks something like this:- int main( void) { setup(); while ( true ) {. // Infinite loop until we power off or press reset loop(); } return( 0 ); // return a result code to whatever launched this program. Irrelevant on a a microcontroller as the above while loop should never normally exit. }
I haven't done any research on the ESP32, but Hasan, the guy who runs deeptronic has an effects module all developed around the ESP32 and he's a very helpful guy.
Nice. This is great. Happily will subscribe. I would recommend making shorter chunk videos. Eliminate the fat. Just a suggestion from some idiot on the internet. Thank you for this video.
Sometimes I get a little bit rambly, but other times there is just a bunch of info. Since this is just a hobby, it can be hard to find the time for extensive editing.
@@thescientificguitarist4228 You’re doing great. You’re videos are informative and WAY more helpful than others. I want to see more how you incorporate it into your pedal designs. Keep going, mate!
Excellent work! Keep'em coming!
AVR(8) microcontrollers are 8-bit, which specifies the unit that is (typically) processed by the CPU.
This is different from the ADC resolution, which is 10bit on the average AVR8 like the ATTiny25/45/85.
In addition, the C++ Compiler used for „Arduino“ uses 16bit integer by default as int size.
„Arduino“ BTW is just plain C++, but the library often uses C-style design, making changes harder than needed.
Thanks for doing this. Maybe more guitar players will venture into this world.
I used an Arduino Uno with a MIDI shield to do some rig control stuff a while back. Very simple and powerful.
Great vid! More on the Cortex M4/M7 would be brill 🙏 thanks for the awesome content
Same. I’d love to hear more about the Blackfin, and any of the big brothers of the Sharc family.
I'm currently working on some M4 stuff and have a Daisy (M7) to play around with as well. I'll be sure to share what I learn.
Great video. I really like the Teensy 3.6 or 4.x for audio processing. Pretty powerful and their Audio Library is pretty usefull as a starting point.
Yeah, the 4.x series are very powerful, built on the Cortex M7 if I recall correctly.
In a circuit, should I be keeping the Arduino ground separate from the guitar signal ground? I built a multipurpose box with one part being a Pro-Micro based MIDI controller, and the other part a passthrough for my connecting my guitar to my soundcard via a switchable effects loop (basically cable-management).
Unfortunately the guitar picks up an unacceptable level of digital noise (i.e. it's audible!). I'd initially assumed the noise was being picked up through the air like with pickups, and tried using shielded cable etc. but that didn't work. I've since realised that the two circuits share a common ground via the aluminium enclosure and am wondering if it's worth ordering some guitar jacks with plastic cases so that I can keep the circuits completely isolated.
Or is there another noise-management solution that I haven't thought of? Just found this channel recently via the pickup-winding vids BTW - great stuff!
it just the best in world of digital sound, Ijust finish designing one on kicad stw STM32(I really love this MC over others) with tuner, playback, midislot and other function Though I don't want to venture too much in DSP, I preferably use DAC & ADC, to lessen the work abit.
What you call the definition section is actually your global declarations. Variables defined here are what consume the global variable space you later refer to. Everything defined here is accessible to every function within the program, some of which may be variables, but also macros that are expanded at compile time to (hopefully) make code more readable and repeatable. Variables defined within functions are not global and are stored on the program stack and only exist while the function is executing, unless declared as 'static'.
The loop() function is not the same thing as main() in C, which is always the main entry point to any C program. The Arduino IDE kinda hides the main() function from you. The main() function looks something like this:-
int main( void) {
setup();
while ( true ) {. // Infinite loop until we power off or press reset
loop();
}
return( 0 ); // return a result code to whatever launched this program. Irrelevant on a a microcontroller as the above while loop should never normally exit.
}
I was wondering how the M7 would compare to something like an ESP32. Bought an ESP32 audio dev board recently, but time………….
I haven't done any research on the ESP32, but Hasan, the guy who runs deeptronic has an effects module all developed around the ESP32 and he's a very helpful guy.
Nice. This is great. Happily will subscribe. I would recommend making shorter chunk videos. Eliminate the fat. Just a suggestion from some idiot on the internet. Thank you for this video.
Sometimes I get a little bit rambly, but other times there is just a bunch of info. Since this is just a hobby, it can be hard to find the time for extensive editing.
@@thescientificguitarist4228 You’re doing great. You’re videos are informative and WAY more helpful than others. I want to see more how you incorporate it into your pedal designs. Keep going, mate!