2

I have recently just built a custom arduino using the schematics found on their website. As awesome as this little processor is, I need more power. I have been thinking of making my own MCU, but wanted to know if it is possible to make them compatible with the arduino software. It would be very nice to not have to rewrite my existing programs.

If so, how would I go about doing that? If this is not a possibility (or just not a good idea for any reason), which language should I learn to start programming these upper level MCUs.

If I do have to start using a different language, what kind of software do I use to upload the code to these processors? And do they have the common features like Serial Monitor and Serial Plotter like the Arduino IDE does.

Glorfindel
  • 578
  • 1
  • 7
  • 18
M.Schindler
  • 221
  • 1
  • 6

2 Answers2

2

You are speaking of porting. The arduino environment is built around a set of libraries and commands that are designed to abstract the low level access to a simpler high level language. In order to make arduino code work on a new microcontroller, you would have to rewrite and recreate the libraries using the low level access of your target microcontroller.

For example, Energia is a port of the Arduino libraries to the Texas Instruments MSP430 line of microcontrollers. Since not all features are the same, some code does not just drop in directly but additional code or libraries could be added to fix that. Even the Arduino IDE, the program used to write code and program the arduino was ported.

It would not be a trivial thing to port an entire library base.


As to your other questions, you would code your new microcontroller in any language it's programmer and compiler can use. Likely C or C++. Arduinos are typically programmed in C++. You should look into the manufacturer of your MCU to find out what software to use, and what libraries they offer. They likely do not offer something like the serial monitor right out of the box.

cde
  • 430
  • 2
  • 10
0

The Arduino IDE supports a whole list of micros:

http://forum.arduino.cc/index.php?topic=145065.0

Some of those have a lot more power than the others. But to answer your question, no you cannot say take an ARM and use the Arduino IDE with it. It all comes down to your compiler and environment. At work we use ARm based processors and Keil uVision to program and Flip to program them. At my previous job we used Freescale Kinetis micros with CodeWarrior to flash and write the software. It all depends on what you decide to go with to fit your application, but it all boils down to it's all C or assembly if you decide to go that way.