Skip to content
kenmcc edited this page Jan 22, 2016 · 1 revision

Complilation for Arduino Nano v3.0

I just wanted to start a wee section on how to get this running on platforms other than the Arduino UNO. The UNO is different that say the Nano or the Duemilanavo in that it has 32KB of Flash, of which only 0.5KB is used for bootloader, whereas both the Nano and the DueM have 2KB of their 32KB used for bootloader.

However, I've successfully got this running the Nano using the 2.8.3 code, by setting the following flags differently:

#define Sprite        false // was true
#define Crediti       false // was true

in the Open-Ardbir.ino file.

This allows it to just scrape inside the memory space available. As far as I remember everything else was left as is, although I did spin my own board (vero board) so had to create an appropriate boardX.h file with the appropriate pin mappings for the LCD and buttons.

Also, if you are REALLY stuck for space, 16x2 screen code takes up a bit less than 20x4 (save 812 bytes), and I'm sure there's also probably some space could be saved using abbreviated strings or a smart way of defining strings in the LCDXxY_Lang.h files.

I tried to use I2C LiquidCrystal library but that took up way too much space and i needed to start undefining the block characters for the display (e.g. degree signs, pump on/off, heater on/off etc) in order to squeeze it in. In the end i decided just to use regular LiquidCrystal library and wire it directly, I wasn't short of any pins on the arduino, so a bit pointless in trying to reduce functionality of the screen for no real benefit besides ease of wiring to the board.

Clone this wiki locally