you can program a Pi Pico with the Arduino IDE in C++. Some projects will just compile if you aren’t using some AVR specific features like the built-in EEPROM that the RP2040 doesn’t have.
That’s actually pretty cool, but aren’t the majority of Arduino projects written in Arduino (Java superset)? At least all of mine are, as that is how I was originally taught to program it.
TL;DR: The Arduino language is C++ with an automatically included library, but it’s descended from a Java project with an automatically included library.
Processing is a graphics and art based graphics library/IDE that uses the Java programming language. It basically includes some classes and methods by default on top of Java that makes programming graphics and even simple games a bit more straightforward.
Processing’s IDE was forked by the Wiring project for the purposes of microcontroller hardware programming. Because the Java Virtual Machine is a bit much to ask a 16MHz 8-bit AVR to run, they switched the language to C++ which compiles straight to machine code that runs on the bare metal. Again, it’s just C++ with a library included, under the hood it uses gcc to compile and avrdude to program the chip. I believe the IDE itself is still written in Java.
Arduino took Wiring and painted it teal. They’ve extended it quite a bit since then but in the early days Arduino was really a hardware project. They’ve since added support for non-AVR boards to the Arduino IDE, including ARM-Cortex and ESP32 based boards.
Raspberry Pi offers C and C++ SDKs and a MicroPython interpreter for the Pico series. Someone contributed support for RP2040 based boards to the Arduino IDE; I don’t believe that was done officially by either RPi or Arduino.
you can program a Pi Pico with the Arduino IDE in C++. Some projects will just compile if you aren’t using some AVR specific features like the built-in EEPROM that the RP2040 doesn’t have.
That’s actually pretty cool, but aren’t the majority of Arduino projects written in Arduino (Java superset)? At least all of mine are, as that is how I was originally taught to program it.
TL;DR: The Arduino language is C++ with an automatically included library, but it’s descended from a Java project with an automatically included library.
Processing is a graphics and art based graphics library/IDE that uses the Java programming language. It basically includes some classes and methods by default on top of Java that makes programming graphics and even simple games a bit more straightforward.
Processing’s IDE was forked by the Wiring project for the purposes of microcontroller hardware programming. Because the Java Virtual Machine is a bit much to ask a 16MHz 8-bit AVR to run, they switched the language to C++ which compiles straight to machine code that runs on the bare metal. Again, it’s just C++ with a library included, under the hood it uses gcc to compile and avrdude to program the chip. I believe the IDE itself is still written in Java.
Arduino took Wiring and painted it teal. They’ve extended it quite a bit since then but in the early days Arduino was really a hardware project. They’ve since added support for non-AVR boards to the Arduino IDE, including ARM-Cortex and ESP32 based boards.
Raspberry Pi offers C and C++ SDKs and a MicroPython interpreter for the Pico series. Someone contributed support for RP2040 based boards to the Arduino IDE; I don’t believe that was done officially by either RPi or Arduino.