Skip to the content
PCBKitNew board
2 layers96 × 56 mmBMC2, the printed circuit board in 3D

Robotic quadruped

Size
96 × 56 mm
Copper layers
2
Thickness
1.6 mm
Parts
131
Nets
112
Pads
453
Tracks, vias
2,167, 254
Pours
6
Routed
Yes
KiCad
KiCad 4
Created
20 Jul 2017
Updated
9 May 2018

Overview

BMC2 is an open-source printed circuit board by craftit, from the craftit/Dogbot repository on GitHub. It is a 2-layer board of 96 × 56 mm with 131 parts on 112 nets, routed with 2,167 tracks and 254 vias.

It is built around the IFX91041EJV50 and BSC016N06NS. Its parts include 44 capacitors, 34 resistors, 10 connectors, 9 diodes and 6 transistors. It belongs with the STM32 boards of this library.

Main components

2

README

README.md

Dogbot

DogBot is a quadruped robot developed by React AI as a platform for researching robotics, AI and more.

The Dogbot repository contains CAD designs, along with software for higher-level systems for control and operation of the React AI DogBot robot via ROS. It utilises the lower-level motor control firmware in the corresponding Firmware repository for interaction with the physical DogBot.

Installation

This code has been tested for installation and operation on Ubuntu Linux.

ROS must be installed; the code has been tested against the Kinetic release. The repository contains a catkin workspace under Software/ROS, which should be built with catkin build

You may need to install the packages ros-kinetic-rosparam-shortcuts ros-kinetic-ros-control ros-kinetic-ros-controllers

Operation via Firmware and ROS

Home the motors

The motors must be ‘homed’, i.e. know their absolute position, before they can be controlled via the ROS driver, hence they must first be controlled via the UI as described in the Firmware repo.

Note: complete the Firmware UI steps before starting the ROS components. The hardware interface node in ROS will send conflicting signals if it is operational while the UI tries to alter the motor positions.

Quick Start

To get started with ROS control, build and source the code then run dogbot_hardware.launch

bat
cd Software/ROS
catkin build
source devel/setup.bash
roslaunch dogbot_control dogbot_hardware.launch

This launches a hardware interface node of type dogbot_control/dogbot_hw_main, which uses the ros_control package to spawn and interact with ROS controllers. This provides a framework for different controller types, as well as standardising interactions with Gazebo and RViz.

If you are controlling other equipment you may require a different launch file, such as testrig_hardware.launch

Further ROS Control

The motors can now be controlled by interacting directly with ROS topics or via ROS nodes. Further details are in the ROS directory readme file

Contributing

If you have any problems with the contents of either repository, or have a question about DogBot, please feel free to contact us

If you wish to contribute please fork the project on GitHub. More details on contributing to follow.

License

details to follow

Parts

131
QtyValueFootprintReferences
710KResistors_SMD:R_0805_HandSolderingR14, R15, R16, R17, R18, R19, R23
71kResistors_SMD:R_0805_HandSolderingR1, R2, R3, R4, R5, R6, R8
6BSC016N06NSLocal:SON127P532X615X110-8NQ1, Q2, Q3, Q4, Q5, Q6
40.1uF 5VCapacitors_SMD:C_0805_HandSolderingC15, C16, C21, C25
4100RResistors_SMD:R_0805_HandSolderingR11, R12, R22, R34
4100nfCapacitors_SMD:C_0805_HandSolderingC7, C10, C11, C12
439KResistors_SMD:R_0805_HandSolderingR20, R27, R29, R31
43KResistors_SMD:R_0805_HandSolderingR21, R28, R30, R32
31uF 50VCapacitors_SMD:C_1206_HandSolderingC30, C31, C32
330pF 5VCapacitors_SMD:C_0805_HandSolderingC33, C34, C35
3R001Local:R_PSR400_SENSER24, R25, R26
20.1uf (6V min)Capacitors_SMD:C_0805_HandSolderingC1, C44
215pFCapacitors_SMD:C_0805_HandSolderingC5, C6
21nF 5VCapacitors_SMD:C_0805_HandSolderingC24, C26
21uf 6.3VCapacitors_SMD:C_0805_HandSolderingC19, C20
22.2ufCapacitors_SMD:C_0805_HandSolderingC3, C4
2220nF 60VCapacitors_SMD:C_1206_HandSolderingC36, C39
2220nF 6VCapacitors_SMD:C_0805_HandSolderingC40, C42
222RResistors_SMD:R_0805_HandSolderingR9, R10
247uHInductors:SELF-WE-PD3SL2, L3
2CANPin_Headers:Pin_Header_Angled_1x04P2, P12
10.047uf 45vCapacitors_SMD:C_1206_HandSolderingC23
10.047uf 90VCapacitors_SMD:C_1206_HandSolderingC22
10.1uFCapacitors_SMD:C_0805_HandSolderingC2
110Resistors_SMD:R_0805_HandSolderingR13
1100nf 5VCapacitors_SMD:C_0805_HandSolderingC9
1100uF 60VCapacitors_SMD:c_elec_10x10.5C37
1100uF 6VCapacitors_SMD:c_elec_6.3x5.8C41
110VDiodes_SMD:SOD-123D1
110kResistors_SMD:R_0805_HandSolderingR7
110nfCapacitors_SMD:C_0805_HandSolderingC13
110uHResistors_SMD:R_0805_HandSolderingL1
11nf 5VCapacitors_SMD:C_0805_HandSolderingC29
11uF 4VCapacitors_SMD:C_0805_HandSolderingC17
11uF 4V minCapacitors_SMD:C_0805_HandSolderingC43
11ufCapacitors_SMD:C_0805_HandSolderingC14
11uf 16VCapacitors_SMD:C_1206_HandSolderingC18
12.2uf 16VCapacitors_SMD:C_1206_HandSolderingC27
122kResistors_SMD:R_0805_HandSolderingR33
122nF 6VCapacitors_SMD:C_0805_HandSolderingC38
13.6VDiodes_SMD:SOD-123D8
13V3Measurement_Points:Measurement_Point_Round-SMD-Pad_SmallW13
14.7uF 45VCapacitors_SMD:C_1206_HandSolderingC28
14.7ufCapacitors_SMD:C_1206_HandSolderingC8
15.4VDiodes_SMD:SOD-123D7
150VDiodes_SMD:SOD-123D6
15VMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW12
160V 2ADiodes_SMD:SOD-123D4
160V 2A Diodes_SMD:SOD-123D5
18MHzCrystals:ABM3X1
1CALButtons_Switches_SMD:SW_SPST_FSMSMSW2
1CAN_RXMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW2
1CAN_TXMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW1
1CONN_02X05Local:SMT-HDR-10P8
1DATAPin_Headers:Pin_Header_Angled_1x05P3
1DRV8305QFP50P900X900X120-49N:QFP50P900X900X120-49NU3
1DSUPMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW10
1GHAMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW7
1GLAMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW8
1GNDConnect:1pinP10
1GNDMeasurement_Points:Measurement_Point_Round-SMD-Pad_BigW11
1GREEN LEDLEDs:LED_0805D2
1I2CPin_Headers:Pin_Header_Straight_1x04P11
1IFX91041EJV50Housings_SOIC:SOIC-8-1EP_3.9x4.9mm_Pitch1.27mmU4
1ISenseAMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW3
1ISenseBMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW4
1ISenseCMeasurement_Points:Measurement_Point_Round-SMD-Pad_SmallW5
1Jumper_NC_SmallResistors_SMD:R_0805_HandSolderingJP2
1Jumper_NO_SmallResistors_SMD:R_0805_HandSolderingJP1
1LEDLEDs:LED_0805D9
1PB12Measurement_Points:Measurement_Point_Round-SMD-Pad_SmallW14
1PhaseAConnect:1pinP5
1PhaseBConnect:1pinP6
1PhaseCConnect:1pinP7
1RED LEDLEDs:LED_0805D3
1RESETButtons_Switches_SMD:SW_SPST_FSMSMSW1
1STM32F205RBTxHousings_QFP:LQFP-64_10x10mm_Pitch0.5mmU2
1SensorPin_Headers:Pin_Header_Angled_1x09P1
1TC2117-3.3VTO_SOT_Packages_SMD:SOT-223U5
1THERMISTORResistors_SMD:R_0805_HandSolderingTH1

The 128 most common of 131 parts.

Questions

How big is the BMC2 PCB?

It measures 96 × 56 mm and has 2 copper layers, 1.6 mm thick.

What parts does the BMC2 use?

131 parts, built around the IFX91041EJV50 and BSC016N06NS. 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 BMC2 KiCad files?

From the craftit/Dogbot repository on GitHub, at the commit this page was made from: the board is Electronics/MotorController2/BMC2.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the BMC2 design in my own project?

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

Similar boards

  • 2 layers96 × 56 mmBMC2, the printed circuit board in 3D

    BMC2

    craftit/Robotics

    Robotics

    136 parts
  • 2 layers110 × 60 mmBms-8s50-ic, the printed circuit board in 3D

    Bms-8s50-ic

    LibreSolar/bms-8s50-ic

    Fully integrated 12V-24V BMS using ISL94202

    171 parts47CC-BY-SA-4.0
  • 6 layers160 × 136 mmSerie, the printed circuit board in 3D

    Serie

    npgo22/Serie

    The board itself is based around an STM32H723, the fastest microcontroller supported by Klipper at the moment.

    549 parts
  • 4 layers130 × 90 mmFinal chain, the printed circuit board in 3D

    Final chain

    misko/prompt2device

    The separate vNext PCB skill and orchestrator package is available alongside the reference workflow below; existing projects keep their accepted toolchain until an explicit migration.

    206 parts3MIT
  • 2 layers139.1 × 107.7 mmLotus58 Glow 124, the printed circuit board in 3D

    Lotus58 Glow 124

    TweetyDaBird/Lotus-58-Classic

    A split ergo linear keyboard derived from the Lily58 family

    131 parts390
  • 2 layers103.2 × 74.1 mmUno, the printed circuit board in 3D

    Uno

    lukasloetkolben/OpenpilotHardware

    Welcome to the Openpilot Hardware Collection!

    131 parts95MIT