TextMate is the best editor in human history. Arduino is the easiest embedded platform to dive into. Why don't the two work together? The Arduino TextMate Bundle solves that glaring error, and the universe is thus balanced.
There are other TextMate bundles out there, but they're mostly over two years old and don't work with new Arduino versions. This project aims to remain up-to-date and make embedded as enjoyable as everything else in TextMate.
The little 'a' in '1.0a' stands for 'alpha'. Read that as "might not work for you". It will grow and improve with time, but for now brace yourself for bugs. That means bug reports, feature requests and patches!
As of 1.0a, the bundle can compiles and uploads to the device, provides access to the documentation and highlights syntax correctly.
- Get the latest Arduino. Version 1.0 and later is supported, and it must be installed to /Applications
- Get TextMate.
- Get the latest Arduino TextMate bundle.
- Extract the zip file to
- If TextMate was open during this process, click Bundles>Bundle Editor>Reload Bundles
- Check the 'Default Environment vars' near the top of
~/Library/Application Support/TextMate/Bundles/Arduino.tmbundle/Support/Makefile. Any you need to override - especially check the ARDUINO_MCU var - can be added in TextMate's Preferences => Advanced => Shell Variables.
- ⌘U Compiles and uploads your sketch to the connected Arduino
- ⌃⌥⌘H Opens up local HTML documentation on to current word
- Bundles > Arduino > Watch Serial Port Opens a terminal window monitoring the serial port.
- File > New From Template > Arduino > Basic Sketch Creates a file with a blank basic sketch.
The compile/upload process can be finely controlled using TextMate's shell variables.
Textmate > Preferences > Advanced > Shell Variables
|ARDUINO_PORT||The serial port to upload from (defaults to
|ARDUINO_UPLOAD_RATE||The baud rate to upload at (defaults to
|ARDUINO_AVRDUDE_PROGRAMMER||The programmer to use (defaults to
|ARDUINO_MCU||The Atmel chip on the board (defaults to
|ARDUINO_F_CPU||The clock speed of the Atmel chip (defaults to
|ARDUINO_VARIANT||The Arduino variant being used. Can be one of
For the adventurous
git clone git://github.com/nasser/arduino.tmbundle.git ~/Library/Application\ Support/TextMate/Bundles/Arduino.tmbundle
- Fixed for Arduino 1.0
- Improved local help command
- Changed versioning scheme to match Arduino's. This bundle's version will always be equal to the version of Arduino it is most compatible with.
- Added snippets for common methods
- Added an Arduino project template
- Altered the monitor script - it's now aware of your USB ports
- Compile/upload bug fixed
- Syntax highlighting added
- Local help added
- Initial Watch Serial Port implementation
- More intelligent Makefile with environment variable overrides
- Initial release, basic implementation of compiling/uploading