Skip to the content
4 layers114.3 × 108 mmPellet, the printed circuit board in 3D

Repository for hardware, firmware, and software related to the Mouse-GYM modules

Size
114.3 × 108 mm
Copper layers
4
Thickness
1.6 mm
Parts
202
Nets
171
Pads
663
Tracks, vias
1,151, 241
Pours
6
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
17 Jul 2025
Updated
16 Oct 2026

Overview

Pellet is an open-source printed circuit board by Mouse-GYM, from the Mouse-GYM/auto-trainer-hardware repository on GitHub. It is a 4-layer board of 114.3 × 108 mm with 202 parts on 171 nets, routed with 1,151 tracks and 241 vias.

It is built around the STM32G474RET6, ATA6561-GAQW-N and TMC2209-LA-T, with the TPA2005D1DGNR, TPS561201DDCR and TPS565208DDC among its other parts. Its parts include 50 capacitors, 37 resistors, 25 connectors, 16 ICs and 4 diodes. It belongs with the STM32 boards of this library.

Main components

12

README

README.md

Autotrainer / MouseGym

Description

This repository contains hardware design files, firmware, and support software for the MouseGym project.

Repository Structure

  • hardware/: Contains hardware design files for the MouseGym modules
    • magnet_module/ - KiCAD files for the magnet module
    • pellet_module/ - KiCAD files for the pellet module
    • jetson_breakout/ - KiCAD files for the Jetson breakout board
    • manufacturing/ - Contains files that were used for manufacturing the PCBs, including schematics, gerbers, and BOMs
  • firmware/: Contains firmware for the MouseGym modules. This is set up as a Zephyr West workspace.
  • software/: Contains host tools and libraries for interacting with the modules over CAN
    • libjerrycan/ - A library for interacting with the JerryCAN CAN protocol. Includes Python bindings, pyjerrycan
    • whiskerwire/ - A diagnostic tool for observing and manipulating the state of the MouseGYM modules
    • jerrycan_updater - A tool for updating the firmware on the MouseGym modules over CAN

Building Firmware & Software

For setting up the firmware build dependencies, see the more detailed instructions in the firmware/README.md file.

bash
cmake -B build -GNinja -DCMAKE_INSTALL_PREFIX:PATH=../tmp
ninja -C build
ninja -C build install

NOTE: At various points in the build process, the console output may stop showing any updates for several mintues. Please be patient, especially on the first build.

After the install step is complete, the tmp/ directory will contain the following structure:

text
tmp/
├── bin
│   └── jerrycan_updater
├── firmware
│   ├── magnet_module.bin
│   └── pellet_module.bin
├── include
│   ├── jerrycan_types.h
│   └── libjerrycan.h
└── lib
    ├── libjerrycan.a
    └── pyjerrycan.cpython-310-x86_64-linux-gnu.so

For WhiskerWire setup, see software/README.md.

Updating Firmware

To update the firmware on the MouseGym modules, use the jerrycan_updater tool. This tool is built as part of the above flow. The firmware files are located in the tmp/firmware/ directory.

In order to flash a Magnet Module with address 0x04, use the following command:

bash
tmp/bin/jerrycan_updater -m 4 -f tmp/firmware/magnet_module.bin

Parts

202
QtyValueFootprintReferences
56TestPointTestPoint:TestPoint_Pad_1.0x1.0mmTP1, TP2, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP25 +40
310.1uFCapacitor_SMD:C_0603_1608MetricC1, C2, C3, C10, C16, C17, C18, C20, C21, C22, C25, C27, C28, C29, C32, C33 +15
1210kResistor_SMD:R_0603_1608MetricR1, R2, R18, R19, R21, R22, R25, R26, R28, R29, R30, R31
71kResistor_SMD:R_0603_1608MetricR14, R15, R16, R24, R38, R39, R40
6180mResistor_SMD:R_0603_1608MetricR4, R5, R9, R10, R11, R12
6Conn_01x02_PinConnector_Molex:Molex_PicoBlade_53048-0210_1x02_P1.25mm_HorizontalJ12, J13, J14, J19, J23, J24
6Conn_CoaxialLeaf_Connectors:Conn_BNC_KH-BNC50-3511J11, J15, J16, J17, J18, J21
422uFCapacitor_SMD:C_0603_1608MetricC36, C37, C43, C44
4MountingHole_PadMountingHole:MountingHole_3.2mm_M3_PadH1, H2, H3, H4
30Resistor_SMD:R_0603_1608MetricR35, R36, R37
3100uFCapacitor_SMD:CP_Elec_6.3x7.7C7, C19, C26
310uFCapacitor_SMD:C_0603_1608MetricC40, C41, C49
32.2uFCapacitor_SMD:C_0603_1608MetricC12, C24, C31
322nFCapacitor_SMD:C_0402_1005MetricC11, C23, C30
3Conn_01x03_PinConnector_JST:JST_XH_S3B-XH-A_1x03_P2.50mm_HorizontalJ3, J9, J10
3Conn_01x04_PinConnector_Molex:Molex_PicoBlade_53048-0410_1x04_P1.25mm_HorizontalJ2, J7, J8
3ESD122DMYRLeaf_Diode:DMY0003AU13, U14, U15
3TMC2209Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.75x3.75mmU2, U5, U6
2150kResistor_SMD:R_0603_1608MetricR6, R7
25.1kResistor_SMD:R_0603_1608MetricR13, R23
251pFCapacitor_SMD:C_0603_1608MetricC14, C15
2CK_PTS526_SK15_SwitchLeaf_Switch:CK_PTS526_SK15_SwitchSW1, SW2
2Conn_02x02_Odd_EvenConnector_Molex:Molex_Nano-Fit_105314-xx04_2x02_P2.50mm_HorizontalJ5, J6
2FerriteBeadInductor_SMD:L_0603_1608MetricFB1, FB2
2TXB0104RUTPackage_DFN_QFN:Texas_R-PUQFN-N12U7, U12
2UPS840E3/TR13Leaf_Diode:POWERMITE3_MCHD3, D4
1120Resistor_SMD:R_0603_1608MetricR8
1150060GS75000Diode_SMD:D_0603_1608MetricD2
1150060YS75000Diode_SMD:D_0603_1608MetricD1
11718570004Leaf_Connectors:MOLEX_KK_171857-0004J25
11uFCapacitor_SMD:C_0603_1608MetricC13
1220Resistor_SMD:R_0603_1608MetricR3
13.3kResistor_SMD:R_0603_1608MetricR17
13.3uHLeaf_Inductor:L_Taiyo_Yuden_MAMKL2
13.3uHInductor_SMD:L_TDK_VLS6045EX_VLS6045AFL1
133.2kResistor_SMD:R_0603_1608MetricR27
13386P-1-103LFPotentiometer_THT:Potentiometer_Bourns_3386P_VerticalRV1
154.9kResistor_SMD:R_0603_1608MetricR20
1ASEMB-8.000MHZ-LC-TLeaf_Clocks:ABRACON_ASEXTAL1
1AST-01508MR-WT-RLeaf_Microphone:Speaker_P7.6mmLS1
1ATA6561Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU4
1Barrel_Jack_SwitchConnector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_HorizontalJ22
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ4
1Leaf_LogoLeaf_Mechanical:leaf_logo_smallU11
1STLINK-V3-MINIELeaf_Connectors:Tag-Connect_TC2070-IDC-NL_2x07_P1.27mm_VerticalJ1
1STM32G474RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SW_DIP_x02Package_DIP:DIP-4_W8.89mm_SMDSocket_LongPadsSW3
1TBD62783APackage_SO:SOIC-18W_7.5x11.6mm_P1.27mmU17
1TPA2005D1Leaf_InterfaceIC:HVSSOP-8-1EP_3x3mm_P0.65mm_EP1.57x1.89mm_SmallPadsU3
1TPS561201Package_TO_SOT_SMD:SOT-23-6U8
1TPS565208Package_TO_SOT_SMD:SOT-23-6U9
1USB_C_Receptacle_USB2.0_16PLeaf_Connectors:AMPHENOL_12402012E212AJ20
1W25Q16JVSSIQPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU10

More from Mouse-GYM/auto-trainer-hardware

3
  • 4 layers71 × 89 mmMagnet, the printed circuit board in 3D

    Magnet

    Mouse-GYM/auto-trainer-hardware

    Repository for hardware, firmware, and software related to the Mouse-GYM modules

    173 parts
  • 2 layers63 × 23.5 mmJetson breakout, the printed circuit board in 3D

    Jetson breakout

    Mouse-GYM/auto-trainer-hardware

    Repository for hardware, firmware, and software related to the Mouse-GYM modules

    19 parts
  • 4 layers6.4 × 6 mmLed interposer, the printed circuit board in 3D

    Led interposer

    Mouse-GYM/auto-trainer-hardware

    Repository for hardware, firmware, and software related to the Mouse-GYM modules

    3 parts

Similar boards

  • 4 layers80 × 52.7 mmVFDClock, the printed circuit board in 3D

    VFDClock

    GraniteGobbler/VFDClock

    ESP32-S3 -based IV-22 desk clock

    84 parts
  • 4 layers16.6 × 16.6 mmFoc pcb, the printed circuit board in 3D

    Foc pcb

    avaninder/GimbalFOC

    A pcb that integrates an ESP32S3 with a DRV8313 for BLDC FOC control in a 3-axis camera gimbal

    35 parts5
  • 4 layers113.4 × 56 mmMotherboard 4layer, the printed circuit board in 3D

    Motherboard 4layer

    hackclub/forge-printer

    Open source 3D printer

    57 parts19GPL-3.0
  • 2 layers137.2 × 83.8 mmPWA REV2, the printed circuit board in 3D

    PWA REV2

    PubInv/krake

    The Krake™ is a Wi-Fi–enabled server using an MQTT broker, which means it can be controlled remotely by other devices ("clients") via the internet.

    215 parts9AGPL-3.0
  • 2 layers137.2 × 83.8 mmGeneralPurposeAlarmDevicePCB, the printed circuit board in 3D

    GeneralPurposeAlarmDevicePCB

    PubInv/general-purpose-alarm-device

    A general purpose alarm device (with software) as a module for medical devices (and others)

    140 parts7AGPL-3.0
  • 4 layers96.5 × 85.5 mmSense&ControlBoard, the printed circuit board in 3D

    Sense&ControlBoard

    Ben-Bussch/COMET-I-Static-Fire

    Avionics for Static Fire of Comet 1

    147 parts
  • 2 layers87 × 67.5 mmResoDriver, the printed circuit board in 3D

    ResoDriver

    NickNiski/ResoDriver

    A control board for a mini resonant IGBT inverter

    102 partsGPL-3.0
  • 2 layers97.4 × 72.1 mmT25 445PCB, the printed circuit board in 3D

    T25 445PCB

    RitvikPatnala/auto-guitar-tuner

    Handheld auto guitar tuner: custom ESP32-S3 PCB with autocorrelation pitch detection and servo-driven peg tuning

    74 partsMIT

Questions

How big is the Pellet PCB?

It measures 114.3 × 108 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Pellet use?

202 parts, built around the STM32G474RET6, ATA6561-GAQW-N, TMC2209-LA-T and TPA2005D1DGNR. 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 Pellet KiCad files?

From the Mouse-GYM/auto-trainer-hardware repository on GitHub, at the commit this page was made from: the board is hardware/pellet_module/pellet.kicad_pcb and its schematic hardware/jetson_breakout/can.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Pellet design in my own project?

Its repository states no licence, so its author keeps all rights: ask Mouse-GYM before reusing the design.