docs: def hwpacks():
      '''
          example::
  
  {'Sanguino': {'sanguino': {'bootloader': {'extended_fuses': '0xFD',
                                            'file': 'ATmegaBOOT_644P.hex',
                                            'high_fuses': '0xDC',
                                            'lock_bits': '0x0F',
                                            'low_fuses': '0xFF',
                                            'path': 'atmega644p',
                                            'unlock_bits': '0x3F'},
                             'build': {'core': 'arduino',
                                       'f_cpu': '16000000L',
                                       'mcu': 'atmega644p'},
                             'name': 'Sanguino',
                             'upload': {'maximum_size': '63488',
                                        'protocol': 'stk500',
                                        'speed': '38400'}}},
   'arduino': {'atmega8': {'bootloader': {'file': 'ATmegaBOOT.hex',
                                          'high_fuses': '0xca',
                                          'lock_bits': '0x0F',
                                          'low_fuses': '0xdf',
                                          'path': 'atmega8',
                                          'unlock_bits': '0x3F'},
                           'build': {'core': 'arduino',
                                     'f_cpu': '16000000L',
                                     'mcu': 'atmega8'},
                           'name': 'Arduino NG or older w/ ATmega8',
                           'upload': {'maximum_size': '7168',
                                      'protocol': 'stk500',
                                      'speed': '19200'}},
               'uno': {'bootloader': {'extended_fuses': '0x05',
                                      'file': 'optiboot_atmega328.hex',
                                      'high_fuses': '0xde',
                                      'lock_bits': '0x0F',
                                      'low_fuses': '0xff',
                                      'path': 'optiboot',
                                      'unlock_bits': '0x3F'},
                       'build': {'core': 'arduino',
                                 'f_cpu': '16000000L',
                                 'mcu': 'atmega328p'},
                       'name': 'Arduino Uno',
                       'upload': {'maximum_size': '32256',
                                  'protocol': 'stk500',
                                  'speed': '115200'}}},
   'arduino-extras': {'arduino_amber128': {'bootloader': {'extended_fuses': '0xFF',
                                                          'file': 'stk500boot_v2_amber128.hex',
                                                          'high_fuses': '0xC8',
                                                          'lock_bits': '0x0F',
                                                          'low_fuses': '0x8F',
                                                          'path': 'atmega',
                                                          'unlock_bits': '0x3F'},
                                           'build': {'core': 'arduino',
                                                     'f_cpu': '14745600L',
                                                     'mcu': 'atmega128'},
                                           'name': 'Arduino-Amber 128 14.7456 Mhz',
                                           'upload': {'maximum_size': '122880',
                                                      'protocol': 'stk500v2',
                                                      'speed': '115200'}},
                         'stk525_647': {'build': {'core': 'arduino',
                                               'f_cpu': '8000000L',
                                               'mcu': 'at90usb647',
                                               'post_compile_script': 'teensy_post_compile'},
                                     'name': 'STK500 w/STK525 - at90usb647 (Arduino Core)',
                                     'upload': {'avrdude_wrapper': 'teensy_reboot',
                                                'disable_flushing': 'true',
                                                'maximum_size': '56000',
                                                'protocol': 'halfkay',
                                                'speed': '38400'}}}}
      '''
      bunch = AutoBunch()
      for x in hwpack_names():
          bunch[x] = boards(x)
      return bunch