The “Button Box” mod allows to connect up to 16 buttons though a small PCB. We can assign a specific function to each button (encoder, keyboard key).

Summary

  1. Shopping list
  2. Wiring
  3. The code
  4. 3D files

1) Shopping list

The “Button box” mod requires :

2) Wiring

The wiring is simple :

  • 5V/VCC goes to 5V
  • GND (ground) goes to ground
  • SDA goes to D2
  • SCL goes to D3
  • A0, A1, A2 go to ground.

3) The code

In the code ( version >2.52), there isn’t so many things to do :

1 – Add the library available here. After the download, open the Arduino software, go to Sketch>Include a library>Add .zip library and select the file.

2 – Enable the mod ButtonBoxMod: replace //#define ButtonBoxMod by#define ButtonBoxMod

4) 3D files

There isn’t ! Why ? Because it is impossible to offer something that would suits everybody’s needs.

Two options :

  • Adjust an existing button box, you will easily find a lot of projects on internet.
  • Draw your own button box ! Si vous vous êtes lancé dans la fabrication de la boîte, vous serez déjà à l’aise avec l’impression 3D, pourquoi ne pas acquérir les bases du dessin sur ordinateur ?

Peut-être que je publierai un design de référence plus tard. Dans tous les cas : soudez des connecteurs dupont sur le PCB, cela permet de tester pleins de branchement sans consommer une carte à chaque test, et prévoyez un connecteur GX12 4 pin sur la button box pour pouvoir brancher et débrancher facilement la boîte.

I soldered the connectors on the schematics side to avoid any mistake.

 

The GX12 connector (well, GX16 here, I didn’t have GX12 left) allow to easily mount and unmount the box.

On the other side, there is a wire between A0, A1 and A2 that goes to the ground of the MCP23017 (A doesn’t mean analogic here).