User Tools

Site Tools


arduino:configuring_netbeans_for_arduino_development

This is an old revision of the document!


Configuring Netbeans for Arduino Development

My current favorite tool for developing non-trivial Arduino projects is Netbeans with C++ support. This documents my setup. It has been vetted with NetBeans 8.2.

The tool collection

I use either Arduino-Makefile or my own Arduino-Build to do the actual building. I won't cover using either of those here as they are their own things. Assuming you have Arduino-Makefile or Arduino-Build working on the command line, the next thing you'll want to do is set up a new tool collection in Netbeans for Arduino along the lines of the figure below:

The Makefile and config

Arduino-Makefile

When creating a new project with Arduino-Makefile, use a local project Makefile that looks something like the following:

Makefile
# Project config
ARDUINO_LIBS = SoftwareWire AsyncTimer
BOARD_TAG = pro
BOARD_SUB = 16MHzatmega328
MONITOR_PORT = /dev/ttyUSB0
MONITOR_CMD = screen-wrap
 
# "Platform" config
ARDUINO_QUIET = true
ARDUINO_SKETCHBOOK = $(HOME)/Arduino
ARDUINO_DIR = $(HOME)/opt/arduino
ARDMK_DIR = $(HOME)/Build/Arduino-Makefile
 
# Include parent Makefile from <https://github.com/sudar/Arduino-Makefile>
include $(HOME)/Build/Arduino-Makefile/Arduino.mk

Arduino-Build

If you're using Arduino-Build, then your project's Makefile should resemble the following:

Makefile
# Point BB at the arduino-build.sh script
BB=<your-path-to>/arduino-build.sh
 
# You shouldn't have to change any of these.
.PHONY : compile clean upload monitor upmon
 
build:
	$(BB) build
 
clean:
	$(BB) clean
 
upload:
	$(BB) upload
 
monitor:
	$(BB) monitor
 
upmon: upload monitor

You will also need an arduino.conf file in the root of your project that looks like:

arduino.conf
# === Arduino path ===
ARDUINO_PATH=/home/mithat/opt/arduino
 
# === Board parameters ===
BOARD_PACKAGE=arduino
BOARD_ARCHITECTURE=avr
BOARD=nano
BOARD_PARAM="cpu=atmega328old"
 
# === Communication settings ===
PORT=/dev/ttyUSB0
SPEED=9600

See the Arduino-Build readme for information on figuring out the board parameters and other fiddly bits.

Code completion

While your setup should be working now, NB will be shouting at you a lot about things not being defined, etc. That's because you need to add code completion directories to the tool collection. Do this on the Code Completion > C++ tab of the tool collection dialog.

arduino/configuring_netbeans_for_arduino_development.1535126758.txt.gz · Last modified: 2018/08/24 16:05 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki