How to use HobbyCNC mechanical fret boards for Arduino or Raspberry builds.

All HobbyCNC boards can be ‘adapted’ to an electrical configuration that is consistent with the ideal input type best adapted to interfacing with microcontrollers like the Arduino or Raspberry Pi (or any other, for that matter). The schematic below (Figure 1) shows the ideal layout for interfacing 5 buttons into a microcontroller.

Example of a clone hero upgrade
Ideal wiring for 5 buttons to a microcontroller
Figure 1. “ideal” switch layout for microcontroller input.

The important design element is the one common ground that touches one side of EVERY switch. The other side of each switch is brought to it’s own, individual pad/connector.

Most microcontrollers provide internal “pull up” resistors on their input pins. The switches, as wired in the schematic above, when pressed, will “pull-down” to ground the voltage on their respective microcontroller input pin.

There are more complex ways to accomplish this (e.g. multiplexing), but for only 5 buttons, a complex approach is not practical.

Figure 2. Example of a DIY conversion using an Arduino.

All of the 6-pin HobbyCNC boards (GH-03, 04, 05, 06 11, 12 and 14) are already in this ‘common ground’ configuration, and therefore require no special adaptation.

The remaining, 8-pin HobbyCNC boards require minor jumpering of pins to create that ‘common ground’ design.

NOTE: there are no modifications to the HobbyCNC circuit board – only how you deal with how/where the wires connect.

This information will apply to OEM boards too. The HobbyCNC boards are a 1-to-1 pinout match to their respective OEM Boards.

Start by  referencing the Selection Guide and find which GH board is the ‘match’ for your OEM board, then return here for wiring instructions.

REMEMBER: the numbering on the HobbyCNC boards may appear backwards from the OEM board, but that’s because our circuitry is on opposite sides of the board – OEM circuitry is on the same side as the fret buttons, HobbyCNC circuitry is on the side away from the fret buttons.

The charts below explain exactly how to wire each board so it will behave like an “ideal” 6-wire board. 6-wire boards require no conversion, 8-wire boards will typically require 3 ground connections. As with everything else I’ve discovered, not all boards are wired the same!

[et_pb_section fb_built=”1″ admin_label=”Section” _builder_version=”4.21.0″ _module_preset=”default” custom_padding=”9px|||||” global_colors_info=”{}”][et_pb_row _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||||||||” text_font_size=”30px” text_line_height=”1.5em” global_colors_info=”{}”]How to use HobbyCNC mechanical fret boards for Arduino or Raspberry builds.[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row column_structure=”1_2,1_2″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_column type=”1_2″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||||||||” custom_margin=”||-3px|||” global_colors_info=”{}”]

All HobbyCNC boards can be ‘adapted’ to an electrical configuration that is consistent with the ideal input type best adapted to interfacing with microcontrollers like the Arduino or Raspberry Pi (or any other, for that matter). The schematic below (Figure 1) shows the ideal layout for interfacing 5 buttons into a microcontroller.

[/et_pb_text][et_pb_image src=”https://hobbycnc.com/wp-content/uploads/2023/05/Ideal_Schematic.jpg” alt=”Ideal wiring for 5 buttons to a microcontroller” title_text=”Ideal_Schematic” show_bottom_space=”off” _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][/et_pb_image][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||||||||” global_colors_info=”{}”]

Figure 1. “ideal” switch layout for microcontroller input.

[/et_pb_text][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||||||||” custom_margin=”-8px|||||” global_colors_info=”{}”]

The important design element is the one common ground that touches one side of EVERY switch. The other side of each switch is brought to it’s own, individual pad/connector.

Most microcontrollers provide internal “pull up” resistors on their input pins. The switches, as wired in the schematic above, when pressed, will “pull-down” to ground the voltage on their respective microcontroller input pin.

There are more complex ways to accomplish this (e.g. multiplexing), but for only 5 buttons, a complex approach is not practical.

[/et_pb_text][/et_pb_column][et_pb_column type=”1_2″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_image src=”https://hobbycnc.com/wp-content/uploads/2023/05/DIY_3.jpg” alt=”Example of a clone hero upgrade” title_text=”DIY_3″ show_bottom_space=”off” _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][/et_pb_image][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||on||||||” global_colors_info=”{}”]

Figure 2. Example of a DIY conversion using an Arduino.

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”4.21.0″ _module_preset=”default” custom_padding=”0px||0px|||” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto||||||||” hover_enabled=”0″ global_colors_info=”{}” sticky_enabled=”0″]

All of the 6-pin HobbyCNC boards (GH-03, 04, 05, 06 11, 12 and 14) are already in this ‘common ground’ configuration, and therefore require no special adaptation.

The remaining, 8-pin HobbyCNC boards require minor jumpering of pins to create that ‘common ground’ design.

[box type=”warning”] NOTE: there are no modifications to the HobbyCNC circuit board – only how you deal with how/where the wires connect.[/box] 

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”4.21.0″ _module_preset=”default” custom_padding=”0px||1px|||”][et_pb_column _builder_version=”4.21.0″ _module_preset=”default” type=”4_4″][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” background_color=”#b6d0e2″ custom_padding=”10px|30px|10px|30px|true|true” text_font=”Roboto||||||||” text_text_color=”#000000″ hover_enabled=”0″ sticky_enabled=”0″]

This information will apply to OEM boards too. The HobbyCNC boards are a 1-to-1 pinout match to their respective OEM Boards.

Start by  referencing the Selection Guide and find which GH board is the ‘match’ for your OEM board, then return here for wiring instructions.

REMEMBER: the numbering on the HobbyCNC boards may appear backwards from the OEM board, but that’s because our circuitry is on opposite sides of the board – OEM circuitry is on the same side as the fret buttons, HobbyCNC circuitry is on the side away from the fret buttons.

[/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row _builder_version=”4.21.0″ _module_preset=”default” custom_padding=”||0px|||” global_colors_info=”{}”][et_pb_column type=”4_4″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][et_pb_text _builder_version=”4.21.0″ _module_preset=”default” text_font=”Roboto|500|||||||” text_font_size=”19px” global_colors_info=”{}”]The charts below explain exactly how to wire each board so it will behave like an “ideal” 6-wire board. 6-wire boards require no conversion, 8-wire boards will typically require 3 ground connections. As with everything else I’ve discovered, not all boards are wired the same![/et_pb_text][/et_pb_column][/et_pb_row][et_pb_row column_structure=”1_2,1_2″ _builder_version=”4.21.0″ _module_preset=”default” custom_padding=”13px|||||” global_colors_info=”{}”][et_pb_column type=”1_2″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][dvmd_tablepress_styler tbl_id=”#38″ tbl_header_mode=”off” tbl_name_mode=”none” tbl_description_mode=”none” col_widths=”30%|30%|40%” tbl_cells_align_horz=”left” tbl_cells_padding=”8px|8px|8px|8px|true|true” tbl_borders_horizontal=”all” tbl_borders_vertical=”all” tbl_borders_color=”#3371A3″ admin_label=”Tablepress table 38″ _builder_version=”4.21.0″ _module_preset=”default” tbl_elements_font=”Roboto||||||||” text_font=”Roboto||||||||” global_colors_info=”{}”][/dvmd_tablepress_styler][/et_pb_column][et_pb_column type=”1_2″ _builder_version=”4.21.0″ _module_preset=”default” global_colors_info=”{}”][dvmd_tablepress_styler tbl_id=”#39″ tbl_header_mode=”off” tbl_name_mode=”none” tbl_description_mode=”none” col_widths=”30%|30%|40%” tbl_cells_align_horz=”left” tbl_cells_padding=”8px|8px|8px|8px|true|true” tbl_borders_horizontal=”all” tbl_borders_vertical=”all” tbl_borders_color=”#3371A3″ admin_label=”Tablepress table 39″ _builder_version=”4.21.0″ _module_preset=”default” tbl_elements_font=”Roboto||||||||” text_font=”Roboto||||||||” global_colors_info=”{}”][/dvmd_tablepress_styler][/et_pb_column][/et_pb_row][/et_pb_section]