Skip to the content
PCBKitNew board
2 layers44 × 55 mmDaisy hc165, the printed circuit board in 3D

Daisy hc165

gcask/the-pit

Flexible gamepad system with an arduino-based SPI hc165 daisy-chain

Size
44 × 55 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
15
Pads
58
Tracks, vias
70, 10
Pours
1
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
26 Sep 2023
Updated
26 Sep 2023

Overview

Daisy hc165 is an open-source printed circuit board by gcask, from the gcask/the-pit repository on GitHub, published under the MPL-2.0 licence. It is a 2-layer board of 44 × 55 mm with 12 parts on 15 nets, routed with 70 tracks and 10 vias.

It is built around the 74HC165D, 4D03WGJ0103T5E and CL05B104KO5NNN. Its parts include 4 connectors, 1 capacitor and 1 IC. It belongs with the keyboards and input boards of this library.

Main components

3

README

README.md

The Pit

Simple arduino-based gamepad to connect custom switches and toggles and easily bind into DCS (uses standard mappings, nothing fancy).

Supports hundreds of switches on a single arduino board.

Relies on HC165N Parallel-Load Shift Registers, which are inexpensive ICs, to achieve a high number of inputs.

Firmware

Arduino-based program to manage a Sim Pit efficiently. The code is setup to be able to handle hundreds of inputs over a single Arduino chip, via the use of shift registers and SPI.

The recommended and target board is Leonardo.

Setup

  • Download and install Arduino IDE v2
  • Copy the firmware/hardware folder to your local Arduino install, ie %USERPROFILE%/Documents/Arduino/.
    • In the end, you should have a %USERPROFILE%/Documents/Arduino/hardware/thepit/avr/boards.txt file.
    • You can verify it works if your Arduino can locate a The Pit (Leonardo) board.

Uploading

Because the software is trying to maximize available inputs, it eats up the endpoints that are used to upload a sketch any time. Reset the board during the Upload... phase, otherwise it will fail.

Customizing

Customizable values, such as the number of daisy-chained hc165, how many gamepads we're emulating, etc, are available in thepitconfig.user.h.

Hardware

Daisy-chained hc165 Board

A simple board to easily daisy-chain several hc165 together. Each board has 4 connectors:

  • 1x daisy chain in, that you connect from the out of the previous board (or from the arduino board)
  • 1x daisy chain out, that you connect to the in of the next board (or to the receiving end of the arduino board)
  • 2x inputs, each with 4x inputs and 1x ground, that you connect to your switches (pull-up logic, integrated to the board).

Wiring

wiring

Pin 5 is used to latch the hc165, use the ICSP pins for SPI communication. On the board, the pins from the connector are labeled with their usage:

  • Vcc: 5V in
  • GND: Ground
  • ~PL: Pulse Latch (Pin 5)
  • CP: Clock Pulse (SCK, pin 3 on the ICSP)
  • DS: Data Serial in (for daisy chain in) (COPI, pin 4 on the ICSP for the first in the chain)
  • Q7: Data serial out (for daisy chain out) (CIPO, pin 1 on the ICSP for the last in the chain)

Licenses

Firmware is released under the Mozilla Public License 2.0 Hardware designs are Open Hardware, licensed under CERN-OHL-W v2 or later

Parts

12
QtyValueFootprintReferences
210kResistor_SMD:R_Array_Convex_4x0603RN1, RN2
2Conn_01x05_MaleConnector_JST:JST_XH_S5B-XH-A-1_1x05_P2.50mm_HorizontalJ1, J2
1100nFCapacitor_SMD:C_0402_1005MetricC1
174HC165Package_DIP:DIP-16_W7.62mm_Socket_LongPadsU1
1DaisyChain_InConnector_JST:JST_XH_S5B-XH-A-1_1x05_P2.50mm_HorizontalJ3
1DaisyChain_OutConnector_JST:JST_XH_S5B-XH-A-1_1x05_P2.50mm_HorizontalJ4

The 8 most common of 12 parts.

Questions

How big is the Daisy hc165 PCB?

It measures 44 × 55 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Daisy hc165 use?

12 parts, built around the 74HC165D, 4D03WGJ0103T5E and CL05B104KO5NNN. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Daisy hc165 KiCad files?

From the gcask/the-pit repository on GitHub, at the commit this page was made from: the board is hardware/daisy_hc165/daisy_hc165.kicad_pcb and its schematic hardware/daisy_hc165/daisy_hc165.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Daisy hc165 design in my own project?

Its repository publishes it under the MPL-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers95 × 54 mmEinkPDA screen, the printed circuit board in 3D

    EinkPDA screen

    TalismanDesign/PocketMage_PDA

    An E-Ink PDA device using the ESP32 S3.

    28 parts2kApache-2.0
  • 6 layers84 × 98 mmFujiNet-5200-Rev0, the printed circuit board in 3D

    FujiNet-5200-Rev0

    FujiNetWIFI/fujinet-hardware

    Schematics and design files for FujiNet hardware

    145 parts142
  • 4 layers28.7 × 27 mmNeurband c, the printed circuit board in 3D

    Neurband c

    jlcjak/neurband

    Open, minimal sEMG wristband like the Meta Neural Band: 8-ch ADS1298 + nRF52832 BLE, dry gold electrodes on a flex, 3D-printed band. KiCad, FreeCAD, Zephyr, Python, simulations.

    70 parts46
  • 2 layers75 × 30 mmShift register breakout pcb, the printed circuit board in 3D

    Shift register breakout pcb

    christrotter/shift-register-spi-breakout-pcb

    Simple breakout board that gets you 16 rows and 16 cols for your QMK matrix.

    29 parts13MIT
  • 6 layers90 × 89 mmModular processing board, the printed circuit board in 3D

    Modular processing board

    igorwolfs/modular-processing-hw

    MCU Breakout board with Hirose BM28B connector

    177 parts1
  • 2 layers95 × 98.5 mmSLCU, the printed circuit board in 3D

    SLCU

    JMUWRobotics/AMADEE-27

    173 parts1MIT
  • 2 layers130 × 85 mmMk19-pcb, the printed circuit board in 3D

    Mk19-pcb

    christrotter/mk19-pcb

    Do you need... - To use the Cyboard flex-pcb system? and extend it?? - Two Ultrafalcons...per side? - SPI devices - PMW3360/3389 (right side only) - Dual GC9A01 TFTs per side - Quad-shift register-powered 32 pins for…

    90 partsMIT
  • 2 layers31.2 × 99.6 mmBMCU MB SHARED, the printed circuit board in 3D

    BMCU MB SHARED

    mengxyz/ESP_BMCU

    77 partsGPL-3.0