
Nrf bga
github-linguist/linguist
Language Savant. If your repository's language is being reported incorrectly, send us a pull request!

Modular 4DOF Arm mechatronics project files
Model1 is an open-source printed circuit board by Jamalch15, from the Jamalch15/ARES-4 repository on GitHub. It is a 2-layer board with 12 parts on 63 nets, routed with 32 tracks and 0 vias.
Its parts include 7 connectors and 1 IC.
ARES-4 is a mechatronics prototype for object handling with a modular 4DOF robot arm. The system combines a browser-based PC control app, an ESP32-S3 controller layer, interchangeable end-effector support, vision-assisted task workflows, and the supporting mechanical and electronics design files.
The repository is intended to accompany the final report as the source-code and design-file reference. It keeps the runnable software, firmware, test suite, configuration template, and engineering notes in one place without committing draft report PDFs or course handouts.
The arm is built as a compact serial manipulator for small-object handling. The current prototype uses two stepper-driven inner joints, two servo-driven outer joints, and a quick-swap tool interface for end effectors such as a gripper or electromagnet.
The software is split into two main layers:
The normal demo flow is:
camera or operator input
-> robot-frame target
-> task sequence
-> IK and trajectory preview
-> operator approval
-> ESP32-S3 motion/tool commands
-> status feedback to the GUIpc_app/ PC dashboard, backend, tests, tools, and config template
controller_firmware/ ESP32-S3 PlatformIO firmware and serial protocol notes
docs/ Architecture, calibration, vision, and planning notes
electronics/ KiCad schematics, PCB files, footprints, and symbols
Mechanical/ Mechanical calculation files
.github/workflows/ GitHub Actions test workflow for the PC appDetailed subsystem notes:
The dashboard can run in simulation mode without the ESP32-S3 connected. If the virtual environment already exists, start the UI with:
cd pc_app
.\.venv\Scripts\Activate.ps1
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000Open:
http://127.0.0.1:8000Keep that PowerShell window open while using the dashboard. Stop the server
with Ctrl+C.
For first-time setup, create the virtual environment and install dependencies
before starting uvicorn:
cd pc_app
python -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install -r requirements.txt
uvicorn app.main:app --reload --host 127.0.0.1 --port 8000The tracked pc_app/config/robot.example.yaml is the simulation-safe fallback.
Machine-specific calibration and hardware settings are saved in
pc_app/config/robot.local.yaml when present.
Run the PC app test suite from pc_app:
cd pc_app
python -m pytestGitHub Actions runs the same suite on Ubuntu from a clean checkout. Tests that
depend on the committed reference robot configuration should use the example
config explicitly, because local machines may also have an ignored
robot.local.yaml.
PlatformIO is used for the ESP32-S3 firmware.
cd controller_firmware\platformio
pio run -e esp32-s3-arm-controllerUseful upload targets are documented in
controller_firmware/README.md. The main
prototype controller is platformio/src/arm_controller.cpp; main.cpp remains
as a single-axis hardware test sketch.
The PC app keeps the robot model in YAML configuration:
pc_app/config/robot.example.yaml is tracked and should stay generic.pc_app/config/robot.local.yaml is ignored and stores machine-specific
geometry, calibration, IO pins, camera settings, and task setup.pc_app/config/programs.local.json is ignored and stores local user-created
motion programs.Calibration-related notes are collected in docs/README.md. The most relevant implementation references are the kinematics calibration, workspace vision calibration, and shoulder encoder documents.
This is a prototype robot system. Preview planned motion in the dashboard
before executing it on physical hardware, keep joint limits conservative, and
keep the workspace clear while armed. Real hardware movement requires a known
pose, synced hardware configuration, an armed controller, and a valid motion
request. STOP and ESTOP paths are implemented in the app/controller flow,
but they do not replace normal lab safety practices.
The current control approach is mostly open-loop during motion. Encoder readback is used as calibrated evidence for the shoulder joint and optional post-move checks; it is not a complete closed-loop Cartesian control system.
The repo intentionally ignores local and generated files such as:
.pio/.Before submitting or pushing, check:
git status --shortOnly source, documentation, design files, and intentional configuration templates should be committed.
AI tools were used as support for drafting, organization, code review, and implementation assistance during development. The design choices, validation, testing, and submitted project work remain the responsibility of the project authors.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | Conn_01x03_Pin | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J4, J5 |
| 2 | Conn_01x04_Pin | Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical | J6, J7 |
| 2 | Conn_01x22_Socket | Connector_PinSocket_2.54mm:PinSocket_1x22_P2.54mm_Vertical | J2, J3 |
| 2 | Pololu_Breakout_DRV8825 | Module:Pololu_Breakout-16_15.2x20.3mm | A1, A2 |
| 2 | ~ | Custom_Library:XL4015_Module_THT | XL1, XL2 |
| 1 | Conn_01x06_Pin | Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_Vertical | J1 |
| 1 | LM7805_TO220 | Package_TO_SOT_THT:TO-220-3_Vertical | U1 |
12 parts. 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 Jamalch15/ARES-4 repository on GitHub, at the commit this page was made from: the board is electronics/Model1/Model1.kicad_pcb and its schematic electronics/Model1/Model1.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 Jamalch15 before reusing the design.

github-linguist/linguist
Language Savant. If your repository's language is being reported incorrectly, send us a pull request!


google/mozc-devices
Circuit diagrams and firmware source code for Gboard DIY keyboards



hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

VoronDesign/Voron-Tap
Tap is a nozzle-based z-probe for the V2 and Trident printer designs. The entire toolhead moves to trigger an optical switch. Tap offers many advantages:

stacksmashing/pico-tpmsniffer
A simple, very experimental TPM sniffer for LPC bus