ARMbasic is a 32-bit BASIC compiler for ARM processors. It was started to create a portable, alternative to hardware debuggers, but has quickly grown into a powerful programmable controller tool, already including support for asynchronous serial, I2C, SPI, PWM, timer and counter operations.  It is run on ARM CPUs such as that found in the ARMexpress PCB, which is pin compatable with other DIP24 modules such as the Parallax BASICstamp.

    ARMbasic is simple to use, and runs totally on the ARMexpress or from the PC for the ARMmite, and both can programmed from a serial port. The target applications include control functions, so performance and a powerful set of hardware routines have been included.  The language has a minimum of overhead when compared to larger general purpose languages.

    Aside from having a syntax the most compatible possible with MS-VisualBASIC and PBASIC, ARMbasic introduces several new features such as hardware specific routines, string support, limited pointers and many others.

    ARMbasic is written in ANSI-C compiled with GCC.