
Magnet
Mouse-GYM/auto-trainer-hardware
Repository for hardware, firmware, and software related to the Mouse-GYM modules

Repository for hardware, firmware, and software related to the Mouse-GYM modules
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.
This repository contains hardware design files, firmware, and support software for the MouseGym project.
hardware/: Contains hardware design files for the MouseGym modules
magnet_module/ - KiCAD files for the magnet modulepellet_module/ - KiCAD files for the pellet modulejetson_breakout/ - KiCAD files for the Jetson breakout boardmanufacturing/ - Contains files that were used for manufacturing the PCBs, including schematics, gerbers, and
BOMsfirmware/: 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, pyjerrycanwhiskerwire/ - A diagnostic tool for observing and manipulating the state of the MouseGYM modulesjerrycan_updater - A tool for updating the firmware on the MouseGym modules over CANFor setting up the firmware build dependencies, see the more detailed instructions in the firmware/README.md file.
cmake -B build -GNinja -DCMAKE_INSTALL_PREFIX:PATH=../tmp
ninja -C build
ninja -C build installNOTE: 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:
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.soFor WhiskerWire setup, see software/README.md.
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:
tmp/bin/jerrycan_updater -m 4 -f tmp/firmware/magnet_module.bin| Qty | Value | Footprint | References |
|---|---|---|---|
| 56 | TestPoint | TestPoint:TestPoint_Pad_1.0x1.0mm | TP1, TP2, TP10, TP11, TP12, TP13, TP14, TP15, TP16, TP17, TP18, TP19, TP20, TP21, TP22, TP25 +40 |
| 31 | 0.1uF | Capacitor_SMD:C_0603_1608Metric | C1, C2, C3, C10, C16, C17, C18, C20, C21, C22, C25, C27, C28, C29, C32, C33 +15 |
| 12 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2, R18, R19, R21, R22, R25, R26, R28, R29, R30, R31 |
| 7 | 1k | Resistor_SMD:R_0603_1608Metric | R14, R15, R16, R24, R38, R39, R40 |
| 6 | 180m | Resistor_SMD:R_0603_1608Metric | R4, R5, R9, R10, R11, R12 |
| 6 | Conn_01x02_Pin | Connector_Molex:Molex_PicoBlade_53048-0210_1x02_P1.25mm_Horizontal | J12, J13, J14, J19, J23, J24 |
| 6 | Conn_Coaxial | Leaf_Connectors:Conn_BNC_KH-BNC50-3511 | J11, J15, J16, J17, J18, J21 |
| 4 | 22uF | Capacitor_SMD:C_0603_1608Metric | C36, C37, C43, C44 |
| 4 | MountingHole_Pad | MountingHole:MountingHole_3.2mm_M3_Pad | H1, H2, H3, H4 |
| 3 | 0 | Resistor_SMD:R_0603_1608Metric | R35, R36, R37 |
| 3 | 100uF | Capacitor_SMD:CP_Elec_6.3x7.7 | C7, C19, C26 |
| 3 | 10uF | Capacitor_SMD:C_0603_1608Metric | C40, C41, C49 |
| 3 | 2.2uF | Capacitor_SMD:C_0603_1608Metric | C12, C24, C31 |
| 3 | 22nF | Capacitor_SMD:C_0402_1005Metric | C11, C23, C30 |
| 3 | Conn_01x03_Pin | Connector_JST:JST_XH_S3B-XH-A_1x03_P2.50mm_Horizontal | J3, J9, J10 |
| 3 | Conn_01x04_Pin | Connector_Molex:Molex_PicoBlade_53048-0410_1x04_P1.25mm_Horizontal | J2, J7, J8 |
| 3 | ESD122DMYR | Leaf_Diode:DMY0003A | U13, U14, U15 |
| 3 | TMC2209 | Package_DFN_QFN:QFN-28-1EP_5x5mm_P0.5mm_EP3.75x3.75mm | U2, U5, U6 |
| 2 | 150k | Resistor_SMD:R_0603_1608Metric | R6, R7 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R13, R23 |
| 2 | 51pF | Capacitor_SMD:C_0603_1608Metric | C14, C15 |
| 2 | CK_PTS526_SK15_Switch | Leaf_Switch:CK_PTS526_SK15_Switch | SW1, SW2 |
| 2 | Conn_02x02_Odd_Even | Connector_Molex:Molex_Nano-Fit_105314-xx04_2x02_P2.50mm_Horizontal | J5, J6 |
| 2 | FerriteBead | Inductor_SMD:L_0603_1608Metric | FB1, FB2 |
| 2 | TXB0104RUT | Package_DFN_QFN:Texas_R-PUQFN-N12 | U7, U12 |
| 2 | UPS840E3/TR13 | Leaf_Diode:POWERMITE3_MCH | D3, D4 |
| 1 | 120 | Resistor_SMD:R_0603_1608Metric | R8 |
| 1 | 150060GS75000 | Diode_SMD:D_0603_1608Metric | D2 |
| 1 | 150060YS75000 | Diode_SMD:D_0603_1608Metric | D1 |
| 1 | 1718570004 | Leaf_Connectors:MOLEX_KK_171857-0004 | J25 |
| 1 | 1uF | Capacitor_SMD:C_0603_1608Metric | C13 |
| 1 | 220 | Resistor_SMD:R_0603_1608Metric | R3 |
| 1 | 3.3k | Resistor_SMD:R_0603_1608Metric | R17 |
| 1 | 3.3uH | Leaf_Inductor:L_Taiyo_Yuden_MAMK | L2 |
| 1 | 3.3uH | Inductor_SMD:L_TDK_VLS6045EX_VLS6045AF | L1 |
| 1 | 33.2k | Resistor_SMD:R_0603_1608Metric | R27 |
| 1 | 3386P-1-103LF | Potentiometer_THT:Potentiometer_Bourns_3386P_Vertical | RV1 |
| 1 | 54.9k | Resistor_SMD:R_0603_1608Metric | R20 |
| 1 | ASEMB-8.000MHZ-LC-T | Leaf_Clocks:ABRACON_ASE | XTAL1 |
| 1 | AST-01508MR-WT-R | Leaf_Microphone:Speaker_P7.6mm | LS1 |
| 1 | ATA6561 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U4 |
| 1 | Barrel_Jack_Switch | Connector_BarrelJack:BarrelJack_GCT_DCJ200-10-A_Horizontal | J22 |
| 1 | Conn_01x03_Pin | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | J4 |
| 1 | Leaf_Logo | Leaf_Mechanical:leaf_logo_small | U11 |
| 1 | STLINK-V3-MINIE | Leaf_Connectors:Tag-Connect_TC2070-IDC-NL_2x07_P1.27mm_Vertical | J1 |
| 1 | STM32G474RETx | Package_QFP:LQFP-64_10x10mm_P0.5mm | U1 |
| 1 | SW_DIP_x02 | Package_DIP:DIP-4_W8.89mm_SMDSocket_LongPads | SW3 |
| 1 | TBD62783A | Package_SO:SOIC-18W_7.5x11.6mm_P1.27mm | U17 |
| 1 | TPA2005D1 | Leaf_InterfaceIC:HVSSOP-8-1EP_3x3mm_P0.65mm_EP1.57x1.89mm_SmallPads | U3 |
| 1 | TPS561201 | Package_TO_SOT_SMD:SOT-23-6 | U8 |
| 1 | TPS565208 | Package_TO_SOT_SMD:SOT-23-6 | U9 |
| 1 | USB_C_Receptacle_USB2.0_16P | Leaf_Connectors:AMPHENOL_12402012E212A | J20 |
| 1 | W25Q16JVSSIQ | Package_SO:SOIC-8_5.23x5.23mm_P1.27mm | U10 |

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

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

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


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


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.

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



RitvikPatnala/auto-guitar-tuner
Handheld auto guitar tuner: custom ESP32-S3 PCB with autocorrelation pitch detection and servo-driven peg tuning
It measures 114.3 × 108 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
Its repository states no licence, so its author keeps all rights: ask Mouse-GYM before reusing the design.