I have been thinking about getting an Arduino Due lately. Mainly because of the 32-bit (figured its better) and the faster clock.
What are the key differences between an ARM3 Processor and a Microcontroller?
Differences between ARM3 and Microcontrollers
Hello,I have been thinking about getting an Arduino Due lately. Mainly because of the 32-bit (figured its better) and the faster clock. But seeing as how I can't sleep for some reason, I started thinking "What are the key differences between an ARM3 Processor and a Microcontroller? (Namely whats different about programming it and just working with it)I've always worked with 8-bit microcontrollers and I have a project that could use a beefier processor and I know there are some differences that affect each aspect of the design process. So anybody?
QuoteDifferences between ARM3 and MicrocontrollersSimple: you cannot get an ARM3 chip and you can get plenty of Microcontrollers.
The answer should depend on what you plan to do with it, which of course you aren't saying (don't feel bad, nobody ever does...)
Honestly the reason I want to go from AVR microcontrollers to an ARM is because I don't want my processor running at full speed all the time. Its a battery powered application and I need the batteries to last as long as possible. I could use the QP event driven framework I guess, but I doubt I'd understand it to a point where I could use it and I haven't seen many people discussing it around here.
Well one thing I really like about the arduino platform is the support for it. They even have an article on how to get off the arduino board and onto a standalone controller. I would like to make this thing all on its own pcb. ARM3 and all needed ICs, I just haven't found any way on how to do that. I don't know how an ARM3 gets programmed. Is it like the arduino where I can do it the ICSP? To my understanding its not the same architecture at all.
you cannot get an ARM3
Oh I can, I did a lot of research last night.
QuoteOh I can, I did a lot of research last night.Then you need to redo your research.
I would have thought AVR chips were better for low power consumption than ARM. 32-bits is a disadvantage for that. You can get AVR power consumption down into the microamps with a bit of work (use sleep mode with interrupts to wake it up).
Besides the Due, there are quite a few other Arm processors out there, with different features. I happen to have the Teensy 3.0 (http://www.pjrc.com/teensy/index.html) myself that uses the Arduino IDE. I bought it on a whim when it was in the kickstarter phase, but it does seem to work fine. I do have some minor issues with it with how it is programmed under Linux, and I need to deal with devices running at 3.3v instead of 5v. However, being able to be dropped in a breadboard is more convenient than the Uno is some cases.However, you might want to step back, and look at whether your current hardware is too slow or you don't have enough memory. For a lot of things people use Arduinos for, speed is not an issue, since they are waiting for external events. If you are doing audio processing (other than using a wave shield to play a pre-recorded sound), you probably find the Arduino challenging in that it probably can't keep up with the speed, and it likely needs more memory as well.On the other hand, if you want to do video processing, both the Due and the Teensy 3.0 are too slow, and you need to step up to something faster. The Raspberry Pi runs at a much faster clock rate (700Mhz vs. 84Mhz for the Due and 16Mhz for the Uno), and has much more memory (originally 256 megabytes, now 512 megabytes). However, for really high speed video, the Pi might be limited because the GPU is not completely open. However, there are tradeoffs in running on the Pi (the default OS is Linux rather than running on bare metal, but there are ways to run bare metal, and the GPIO pins are more limited than the Arduinos).It all depends on what you need, and whether you are willing to do things differently than before.
I won't be doing visual processing at all. Its just a few leds and sensing capabilities. The thing that gets me still is the power consumption, like the guy said earlier, I could use interrupts to solve that, although I will then run into another problem with clock speed. This will be powered by a LiPo battery (3.7v) and to get the ATmega32u4 or 328p up to 16MHz clock speed, I need the full 5v. I've never done a buck-boost application or basic transistor stuff. Is there a simple solution that can solve that or would an 8MHz clock speed be okay for just sensing with gyro, megneto, and accel sensors?