CodeBlocks Arduino IDE is a complete out-of-box C++ IDE for Arduino development. It will be liked by software engineers demanding a more powerful IDE and those who need to heavily modify or develop Arduino libraries. I have been maintaining the project basically to provide myself a productive and flexible Arduino development environment. Right now I only release for Windows builds, while someone else has forked my code (but seems not updating often) and provdes some instructions how to use the IDE on Linux.
Changelog
Release 20130428
Improved Arduino Builder integration with CodeBlocks (no need to close the window after uploading)
Updated several Arduino libraries (OBD, MPU6050, MultiLCD)
Compile with -O2 instead of -Os when target MCU has 64KB or larger program memory
Release 20130401
Fixed stop running button not terminating simulation process bug
All compiled files now stored in build directory in project path
Improving user experience of project wizard in several aspects
Re-added "Simulator - Debug" target for debugging in simulation
Release 20130329
Automatically building referenced Arduino libraries
Built Arduino core files now cached for improving project building speed
Fixed issues with Microduino
Fixed a bug causing wrong board type choice on uploading
Arduino Builder 0.8.3
Release 20130324
Updated Arduino core and library files to 1.0.4
Arduino Builder 0.8.1
Release 20130322
Including project folder in include file search path by default
Arduino Builder 0.8.0
Release 20130319
Added opening serial terminal right after uploading
Updated Arduino Uploader to 0.7.1
Release 20130318
Added MCU operating frequency option (16/12/8 Mhz)
Added support for Microduino Core+ (ATMega644PA)
Updated Arduino Uploader to 0.7.0
Release 20130308
Windows XP compatibility issue fixed
Arduino Uploader updated
Added “-lm” option in linking command line
Release 20130302
Using Arduino Uploader GUI version for uploading
Changed default sketch file extension from .cpp to .ino
Something about the simulator
As you may have noticed (in the screenshot above, there are two simulator targets in every Arduino project created with the project wizard. These are for building and running an Arduino sketch on PC. The idea is to re-write the underlying Arduino core files (and some AVR C routines) to simulate the behavior of a AVR chip (SFR, interrupts) and Arduino (digital/analog pins, serial UART). As an Arduino sketch is built with AVR-GCC, the code can be compiled with x86-GCC with no modification and so are the most libraries. As is running on PC as a native program, the program logic can be debugged more easily within the IDE (by GDB, with break point, single step, variable watch etc.). For the hardware simulation, right now I have only implemented serial UART simulation with hardware serial port on PC. This is useful for debugging code dealing with any serial devices by connecting the device directly to PC via a USB-TTL adapter. I have managed to run a sketch based on TinyGPS with a USB GPS receiver.
For example, to use PC serial port COM5 to simulate Arduino's Serial1, you can do like this in the sketch:
Serial1.begin(115200, 5);
This will open PC serial port COM5 and subsequential calls to Serial1 will act on the PC serial port.
I will keep working on this API-level simulator and the next hardware to be simulated will be LCD and SD device. Progress will always be published together with the release of IDE distribution as the simlator is useless without the IDE. It's source code is located in ardusim sub-directory of the package.