boards.txt and adding a new option to the file

When selecting a board in the Arduino IDE there is a preselected choice based on the contents of the boards.txt file in the Arduino hardware folder.

There is amongst others a “Arduino Pro or Pro Mini” choice possible.

When selecting that one there is a subset for processor type: Atmega328 or Atmega 168 and 5V(16MHz) or 3.3V(8MHz).

When I edit the board.txt file to get a Atmega168 3.3V(2MHz) and Atmega328 3.3V(2MHz) these boards duly appear, but now the 3.3V(8Mhz) versions have disappeared.

How can I obtain a choice of 6 Pro Mini processor versions (328 and 168 3.3V but then both 2MHz and 8MHz, plus the two 5V versions), instead of being limited to just 4?

Here is the boards.txt portion I use for the Pro Mini: there are 5 versions in this text, but the 3.3V 8MHz version refuses to appear in my menu.

##############################################################

pro.name=Arduino Pro or Pro Mini

pro.upload.tool=avrdude
pro.upload.protocol=arduino

pro.bootloader.tool=avrdude
pro.bootloader.unlock_bits=0x3F
pro.bootloader.lock_bits=0x0F

pro.build.board=AVR_PRO
pro.build.core=arduino
pro.build.variant=eightanaloginputs

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega328
## -------------------------------------------------
pro.menu.cpu.16MHzatmega328=ATmega328 (5V, 16 MHz)

pro.menu.cpu.16MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.16MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.16MHzatmega328.upload.speed=57600

pro.menu.cpu.16MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.16MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.16MHzatmega328.bootloader.extended_fuses=0x05
pro.menu.cpu.16MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328.hex

pro.menu.cpu.16MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.16MHzatmega328.build.f_cpu=16000000L

## Arduino Pro or Pro Mini (3.3V, 2 MHz) w/ ATmega328
## --------------------------------------------------
pro.menu.cpu.8MHzatmega328=ATmega328 (3.3V, 2 MHz)

pro.menu.cpu.8MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328.upload.speed=9600

pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0x05
pro.menu.cpu.8MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex

pro.menu.cpu.8MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328.build.f_cpu=2000000L

## Arduino Pro or Pro Mini (3.3V, 8MHz Int) w/ ATmega328
## --------------------------------------------------
pro.menu.cpu.8MHzatmega328=ATmega328 (3.3V, 8MHz Int)

pro.menu.cpu.8MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328.upload.speed=9600

pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xD2
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0x05
pro.menu.cpu.8MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega328_pro_8MHz.hex

pro.menu.cpu.8MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328.build.f_cpu=8000000L

## Arduino Pro or Pro Mini (5V, 16 MHz) w/ ATmega168P
## -------------------------------------------------
pro.menu.cpu.16MHzatmega168=ATmega168P (5V, 16 MHz)

pro.menu.cpu.16MHzatmega168.upload.maximum_size=14336
pro.menu.cpu.16MHzatmega168.upload.maximum_data_size=1024
pro.menu.cpu.16MHzatmega168.upload.speed=19200

pro.menu.cpu.16MHzatmega168.bootloader.low_fuses=0xff
pro.menu.cpu.16MHzatmega168.bootloader.high_fuses=0xdd
pro.menu.cpu.16MHzatmega168.bootloader.extended_fuses=0x00
pro.menu.cpu.16MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_diecimila.hex

pro.menu.cpu.16MHzatmega168.build.mcu=atmega168P
pro.menu.cpu.16MHzatmega168.build.f_cpu=16000000L

## Arduino Pro or Pro Mini (3.3V, 2 MHz) w/ ATmega168P
## --------------------------------------------------
pro.menu.cpu.8MHzatmega168=ATmega168P (3.3V, 2 MHz)

pro.menu.cpu.8MHzatmega168.upload.maximum_size=14336
pro.menu.cpu.8MHzatmega168.upload.maximum_data_size=1024
pro.menu.cpu.8MHzatmega168.upload.speed=9600

pro.menu.cpu.8MHzatmega168.bootloader.low_fuses=0xc6
pro.menu.cpu.8MHzatmega168.bootloader.high_fuses=0xdd
pro.menu.cpu.8MHzatmega168.bootloader.extended_fuses=0x00
pro.menu.cpu.8MHzatmega168.bootloader.file=atmega/ATmegaBOOT_168_pro_8MHz.hex

pro.menu.cpu.8MHzatmega168.build.mcu=atmega168P
pro.menu.cpu.8MHzatmega168.build.f_cpu=2000000L

##############################################################

We've already been over this. You need to use a unique menu ID for each option. You are using 8MHzatmega328 for both the ATmega328 (3.3V, 2 MHz) and ATmega328 (3.3V, 8MHz Int) options, thus the issue you're seeing. I'm guessing you have the same issue with the ATmega168 but I don't see the boards.txt entry for ATmega168P (3.3V, 8 MHz) so maybe it's just missing entirely.

For more information see:

Not only can you have more than 4 options in a menu, you can have more than one submenu. Check out all the options in my Standalone Chip menu to see what can be done.

mrd.zip (5.21 KB)

pert:
We've already been over this. You need to use a unique menu ID for each option. You are using 8MHzatmega328 for both the ATmega328 (3.3V, 2 MHz) and ATmega328 (3.3V, 8MHz Int) options, thus the issue you're seeing. I'm guessing you have the same issue with the ATmega168 but I don't see the boards.txt entry for ATmega168P (3.3V, 8 MHz) so maybe it's just missing entirely.

For more information see:
Arduino IDE 1.5 3rd party Hardware specification · arduino/Arduino Wiki · GitHub

I guess you refer to http://forum.arduino.cc/index.php?topic=455407.msg3132326#msg3132326?

You are right, I am sorry, I did overlook it yesterday when looking up previous posts and at the time of writing in this thread last week I had overlooked that one link.
Now I understand!
Thank you,
Erik

Jiggy-Ninja:
Not only can you have more than 4 options in a menu, you can have more than one submenu. Check out all the options in my Standalone Chip menu to see what can be done.

Thanks for your reply! Downloaded, printed out, and now studying your work..