
Atlas dock charger
md-sazzad-eee/ATLAS
Modular multi-robot system: a carrier robot that docks, transports, charges and redeploys two small agent robots. KiCad, FreeCAD, MATLAB/Simulink, COMSOL and ESP32 firmware.

Modular multi-robot system: a carrier robot that docks, transports, charges and redeploys two small agent robots. KiCad, FreeCAD, MATLAB/Simulink, COMSOL and ESP32 firmware.
Atlas carrier ctrl is an open-source printed circuit board by md-sazzad-eee, from the md-sazzad-eee/ATLAS repository on GitHub. It is a 4-layer board of 130 × 100 mm with 157 parts on 96 nets, routed with 1,913 tracks and 386 vias.
It is built around the ESP32-S3-WROOM-1-N8, DRV8871DDA and 74LVC1G00, with the 74LVC1G11GW, AP2112K-3.3 and TPS3823-33DBV among its other parts. Its parts include 50 resistors, 40 capacitors, 19 connectors, 18 ICs and 7 diodes. It belongs with the robots and motor control boards and the ESP32 boards of this library.
Modular multi-robot research assistant: a carrier (ATLAS-M) that transports two agents (ATLAS-S1 Scout, ATLAS-S2 Research), deploys them, collects their results, re-plans when something fails, and tracks which conclusions depend on which evidence.
Phase 1 is the design and simulation stage. Nothing here is a measured hardware result.
Every number comes from 00_requirements/atlas_params.yaml and is a proposed target.
00_requirements/atlas_params.yaml <- edit this only
python3 00_requirements/sync_params.py -> atlas_params.json (+ interface checks)MATLAB, FreeCAD and the Python simulator all read atlas_params.json. sync_params.py
refuses inconsistent interfaces, for example funnels that overlap, wheels that hit the
bays, or a bay shorter than the agent.
| Area | Tool | Entry point | Output |
|---|---|---|---|
| Drivetrain + energy sizing | MATLAB | 05_simulation/matlab/atlas_sizing.m | results/sizing_report.txt, plots |
| Wheel-speed control loop | Simulink | 05_simulation/matlab/build_speed_loop.m | atlas_wheel_speed_loop.slx, step/load plot |
| Docking state machine | Stateflow | build_docking_fsm.m, then run_docking_tests.m | atlas_docking_fsm.slx, 8 scenario tests, traces |
| Dock contact heating | MATLAB PDE Toolbox | 05_simulation/matlab/contact_heating.m | results/contact_heating.* |
| Parametric CAD | FreeCAD | 01_mechanical/scripts/build_atlas_cad.py | .FCStd, STEP, test-coupon STL, cad_check.json |
| Mission intelligence + fleet sim | Python | 05_simulation/python/run_experiments.py | results/summary.md, plot |
| Tests | pytest | cd 05_simulation/python && python3 -m pytest | 33 tests |
To run FreeCAD, execute the script from FreeCAD's Python console:
exec(open('<ATLAS>/01_mechanical/scripts/build_atlas_cad.py').read(), {'__file__': '<that path>'})
Python needs numpy scipy networkx pyyaml pydantic matplotlib pytest.
01_mechanical/docking_system/cad_check.json.tests/test_blueprint_section11.py.05_simulation/comsol/ContactHeating.java reproduces the MATLAB result (θ = 156 K/W, 47.8 °C at 1 A, 177 °C at 2 A / 200 mΩ).AddPlots.java adds the temperature and current-density plots to both saved models.ESP32-S3 on every agent. The Scout adds a power-gated Raspberry Pi Zero 2 W + Camera Module 3
(07_documentation/camera_architecture.md). Scout runtime with the camera on is about 3.7 h (atlas_sizing.m, params v0.1.3).
02_electronics/)Every board is specified in Python; the schematic is generated from the spec and the exported netlist is checked against it pin-for-pin.
| Board | Function | Layers | Result |
|---|---|---|---|
| B: agent controller | ESP32-S3, motors, encoders, camera power | 2 | ERC 0/0, DRC 0 errors, 0 unconnected, fab outputs |
| C: dock / charge interface | CC/CV charger per bay, 4-wire contact-resistance monitor | 2 | ERC 0/0, DRC 0 errors, 0 unconnected, fab outputs |
| A: carrier controller | ESP32-S3, 4 wheel drivers, bay interlock in hardware | 4 | ERC 0 errors, DRC 0 errors, 0 unconnected, fab outputs |
Board A puts the "never move with a seated, unlatched agent" rule into logic gates; Board C measures dock contact
resistance by 4-wire sensing. Details and the PCB flow are in 02_electronics/README.md.
03_firmware/)Agent and carrier application cores in plain C, host-tested against plant models (6022 + 42 + 28 checks, 0 failures). ESP-IDF ports for Board B and Board A compile with 0 warnings; the Pi Zero vision service has 11 tests.
A six-package ROS 2 (Jazzy) workspace exists but is not included in this repository yet.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 100nF | Capacitor_SMD:C_0603_1608Metric | C2, C12, C14, C15, C16, C17, C18, C20, C21, C22, C23, C24, C30, C32, C33, C34 +10 |
| 16 | 10k | Resistor_SMD:R_0603_1608Metric | R9, R10, R11, R16, R17, R18, R19, R25, R43, R44, R53, R54, R63, R64, R73, R74 |
| 10 | 100k | Resistor_SMD:R_0603_1608Metric | R1, R3, R12, R13, R14, R22, R24, R29, R30, R31 |
| 6 | 1k | Resistor_SMD:R_0603_1608Metric | R15, R28, R41, R51, R61, R71 |
| 4 | 20m 1% | Resistor_SMD:R_1206_3216Metric | R40, R50, R60, R70 |
| 4 | 22k (2.9A trip) | Resistor_SMD:R_0603_1608Metric | R42, R52, R62, R72 |
| 4 | 47uF 25V | Capacitor_SMD:CP_Elec_6.3x7.7 | C31, C35, C39, C43 |
| 4 | DRV8871DDA | Package_SO:Texas_HTSOP-8-1EP_3.9x4.9mm_P1.27mm_EP2.95x4.9mm_Mask2.4x3.1mm_ThermalVias | U15, U16, U17, U18 |
| 4 | INA180A1 | Package_TO_SOT_SMD:SOT-23-5 | U11, U12, U13, U14 |
| 4 | M3 | MountingHole:MountingHole_3.2mm_M3_Pad_Via | H1, H2, H3, H4 |
| 3 | AO3400A | Package_TO_SOT_SMD:SOT-23 | Q4, Q5, Q6 |
| 2 | 100 | Resistor_SMD:R_0603_1608Metric | R21, R23 |
| 2 | 10uF | Capacitor_SMD:C_0805_2012Metric | C10, C11 |
| 2 | 10uF 25V | Capacitor_SMD:C_1206_3216Metric | C3, C4 |
| 2 | 1uF | Capacitor_SMD:C_0603_1608Metric | C9, C13 |
| 2 | 22uF 10V | Capacitor_SMD:C_1206_3216Metric | C7, C8 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R26, R27 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric | R7, R8 |
| 2 | 74LVC1G00 | Package_TO_SOT_SMD:SOT-23-5 | U6, U7 |
| 2 | 74LVC1G11 | Package_TO_SOT_SMD:SOT-23-6 | U8, U9 |
| 2 | SS14 | Diode_SMD:D_SMA | D2, D3 |
| 2 | SS34 flyback | Diode_SMD:D_SMA | D5, D6 |
| 1 | 10k 1% | Resistor_SMD:R_0603_1608Metric | R6 |
| 1 | 10uH 4A | Inductor_SMD:L_Bourns_SRR1260 | L1 |
| 1 | 15A mini blade | Fuse:Fuseholder_Blade_Mini_Keystone_3568 | F1 |
| 1 | 18k | Resistor_SMD:R_0603_1608Metric | R2 |
| 1 | 20k | Resistor_SMD:R_0603_1608Metric | R4 |
| 1 | 220uF 25V | Capacitor_SMD:CP_Elec_8x10 | C19 |
| 1 | 2N7002 | Package_TO_SOT_SMD:SOT-23 | Q2 |
| 1 | 470uF 25V | Capacitor_SMD:CP_Elec_10x10.5 | C1 |
| 1 | 5V magnetic buzzer | Buzzer_Beeper:Buzzer_12x9.5RM7.6 | BZ1 |
| 1 | 75k 1% | Resistor_SMD:R_0603_1608Metric | R5 |
| 1 | AOD409 (motor rail) | Package_TO_SOT_SMD:TO-252-2 | Q3 |
| 1 | AOD409 (rev-pol) | Package_TO_SOT_SMD:TO-252-2 | Q1 |
| 1 | AP2112K-3.3 | Package_TO_SOT_SMD:SOT-23-5 | U2 |
| 1 | BATT 4S (+,-) | Connector_AMASS:AMASS_XT60PW-M_1x02_P7.20mm_Horizontal | J1 |
| 1 | BAY 1 SENSORS (GND,SEATED,LATCHED_N) | Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical | J6 |
| 1 | BAY 2 SENSORS (GND,SEATED,LATCHED_N) | Connector_JST:JST_PH_B3B-PH-K_1x03_P2.00mm_Vertical | J7 |
| 1 | BOARD C POWER (VBAT,GND) | Connector_AMASS:AMASS_XT30PW-M_1x02_P2.50mm_Horizontal | J3 |
| 1 | BOOT | Button_Switch_SMD:SW_SPST_TL3342 | SW2 |
| 1 | E-STOP (NC) | Connector_JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | J5 |
| 1 | ENCODER LF | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J16 |
| 1 | ENCODER LR | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J17 |
| 1 | ENCODER RF | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J18 |
| 1 | ENCODER RR | Connector_JST:JST_PH_B4B-PH-K_1x04_P2.00mm_Vertical | J19 |
| 1 | ESP32-S3-WROOM-1-N8 | RF_Module:ESP32-S3-WROOM-1 | U4 |
| 1 | ESTOP_OK | TestPoint:TestPoint_Pad_D1.5mm | TP7 |
| 1 | GND | TestPoint:TestPoint_Pad_D1.5mm | TP8 |
| 1 | GREEN status | LED_SMD:LED_0603_1608Metric | D7 |
| 1 | LATCH 1 SOLENOID (12V) | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J8 |
| 1 | LATCH 2 SOLENOID (12V) | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J9 |
| 1 | MOTOR LF | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J12 |
| 1 | MOTOR LR | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J13 |
| 1 | MOTOR RF | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J14 |
| 1 | MOTOR RR | Connector_JST:JST_VH_B2P-VH_1x02_P3.96mm_Vertical | J15 |
| 1 | MOT_ENABLE | TestPoint:TestPoint_Pad_D1.5mm | TP5 |
| 1 | QWIIC I2C (IMU) | Connector_JST:JST_SH_SM04B-SRSS-TB_1x04-1MP_P1.00mm_Horizontal | J10 |
| 1 | RED motors armed | LED_SMD:LED_0603_1608Metric | D4 |
| 1 | RESET | Button_Switch_SMD:SW_SPST_TL3342 | SW1 |
| 1 | SBC POWER OUT (VBAT,GND) | Connector_AMASS:AMASS_XT30PW-M_1x02_P2.50mm_Horizontal | J2 |
| 1 | SMBJ16CA | Diode_SMD:D_SMB | D1 |
| 1 | TCA9534PWR | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U10 |
| 1 | TO BOARD C | Connector_PinHeader_2.54mm:PinHeader_2x08_P2.54mm_Vertical | J11 |
| 1 | TPS3823-33DBV | Package_TO_SOT_SMD:SOT-23-5 | U5 |
| 1 | TPS54302 | Package_TO_SOT_SMD:SOT-23-6 | U1 |
| 1 | USB-C (ROS 2 link) | Connector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_Horizontal | J4 |
| 1 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U3 |
| 1 | VBAT | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | VCC_3V3 | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | VCC_5V | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | VM_SW | TestPoint:TestPoint_Pad_D1.5mm | TP4 |
| 1 | WDT_OK | TestPoint:TestPoint_Pad_D1.5mm | TP6 |

md-sazzad-eee/ATLAS
Modular multi-robot system: a carrier robot that docks, transports, charges and redeploys two small agent robots. KiCad, FreeCAD, MATLAB/Simulink, COMSOL and ESP32 firmware.

md-sazzad-eee/ATLAS
Modular multi-robot system: a carrier robot that docks, transports, charges and redeploys two small agent robots. KiCad, FreeCAD, MATLAB/Simulink, COMSOL and ESP32 firmware.




Handkep/Fertilizer-Pump
The fertilizer dispenser automatically doses fertilizer concentrates or stock solutions using one or more peristaltic pumps. The amount dispensed depends on the selected recipe and the intended irrigation water volume.


Haimana/MAIANA_BLUE
Firmware and hardware materials for the MAIANA-class AIS transponder ecosystem. The design builds on the open MAIANA project (GPL v3, Peter Antypas).

rolandvs/ais_transponder
A real, functioning low-power AIS transponder (class B)

aswinserigreen/morishield_hardware
all components bom , pcb layouts and schematics of morishield is maintained here
It measures 130 × 100 mm and has 4 copper layers, 1.6 mm thick.
157 parts, built around the ESP32-S3-WROOM-1-N8, DRV8871DDA, 74LVC1G00 and 74LVC1G11GW. 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 md-sazzad-eee/ATLAS repository on GitHub, at the commit this page was made from: the board is 02_electronics/carrier_controller/atlas_carrier_ctrl.kicad_pcb and its schematic 02_electronics/agent_controller/atlas_agent_ctrl.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 md-sazzad-eee before reusing the design.