Skip to the content
PCBKitNew board
2 layers78.7 × 94 mmBrett, the printed circuit board in 3D

Robotic Puppeteering

Size
78.7 × 94 mm
Copper layers
2
Thickness
1.6 mm
Parts
65
Nets
88
Pads
306
Tracks, vias
683, 75
Pours
1
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
29 Dec 2019
Updated
29 Mar 2020

Overview

Brett is an open-source printed circuit board by bskp, from the bskp/koebi repository on GitHub, published under the MIT licence. It is a 2-layer board of 78.7 × 94 mm with 65 parts on 88 nets, routed with 683 tracks and 75 vias.

It is built around the TSR 1-2450 and BC547. Its parts include 9 capacitors, 5 resistors, 2 ICs, 2 transistors and 2 connectors. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

2

README

README.md

Köbi: Robotic Puppeteering

Setup

Köbi is a 6-channel wireless stepper controller consisting of a SparkFun ESP32 Thing (red) and a breakout shield (white). The latter is inspired by RAMPS and accomodates six stepper motor drivers (TMC2130 StepSticks, green), optical endstop sensors and fan control.

The software on the ESP32 provides an OSC (Open Sound Control) server. This, in combination with a matching tablet GUI for the modular TouchOSC app allows easy control of the steppers (which are the six thread spools).

Alternatively, the module can be controlled by any other OSC client. The OSC endpoints are documented at the end of this page.

No strings attached! Spindles with threads

Features

  • 500g per thread
  • Velocities up to 2m/s
  • Wireless control
  • Sub-centimeter precision
  • (Almost) unlimited thread lengths
  • Position and speed feedback for every channel
  • Self-calibration using optical markers on the threads (TODO)
  • Motor drivers configured using SPI, allowing for:
    • Microstepping reconfiguration (during operation)
    • Current control
    • Load estimation (TODO)
    • Count of missed steps if overload occurs (TODO)
  • Easily extendable code written in Micropython
  • Wireless console (WEBREPL) and code update (FTP)
  • Additional I2C / SPI / GPIOs broken out

There are a ton of things you can hook it to. Feel free to reuse!

Software + Firmware

The ESP32-Board runs a special build of the Micropython firmware due to two requirements:

  • The PWM hardware module, which generates the pulses for the stepper motors, is currently not supported by Micropython. This special build includes a Python module supporting it, implemented in C: The MCPWM module.

  • The Python module for the Trinamic TMC steppper drivers (which holds names and descriptions to dozens of its registers) had to be frozen in order to save memory: The TMC [blocked] module. (TODO: Not published yet)

How much do you need? To get you started with the software, each of this three guides covers a different level:

  1. Getting started: Setup and interact with Köbi using a tablet and the default OSC API
  2. Hacking: Extend Köbis functionality by modifying the Micropython code running the ESP32
  3. Developing: Modify the Micropython firmware (written in C) to improve on the modules MCPWM [blocked] or TMC [blocked]. These are part of the modified Micropython built, ie. "frozen"

Hardware

This repo also supplies you with everything needed to build your own Köbi.

Bill of Ordering Materials

ThingBrandPartSourcePrice
Steppers (5-pack)Hanpose17HS4401AliExpress38.-
Voltage Supply (120W)GYU&PWS-120-24AliExpress13.-
ESP32 ThingSparkFunDEV-13907bastelgarage22.-

SN74LS138N

  • bom: steppers, supply, esp32, tmcs, pcb/components, wall plug

3D Printed Parts

Thread Spool (40mm) Thread Spool (40mm): .stl Thread Spool (20mm) Pulley Voltage Supply Cover Pull Relief Poor Man's Fan Holder

  • stl, link zu onshape

Printed Circuit Board

  • PCB-Daten als pdf, gerber und kicad.

Ideas

  • Coordinated 2-axis movements
  • Load visualization
  • Presets with persistent storage
  • Self-calibration with markers
  • Sequencer (Sine and jitter movements)
  • Coordinated movements for more than 2 axes
  • Inverse kinematics

Parts

65
QtyValueFootprintReferences
13SolderJumper_3_Bridged12Jumper:SolderJumper-3_P1.3mm_Bridged12_RoundedPad1.0x1.5mmJP1, JP5, JP6, JP7, JP8, JP9, JP10, JP11, JP12, JP13, JP14, JP15, JP16
8100uCapacitor_THT:CP_Radial_D8.0mm_P3.50mmC1, C3, C4, C5, C6, C7, C8, C9
7Conn_01x04_MaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJAUX, JSM1, JSM2, JSM3, JSM4, JSM5, JSM6
6Conn_01x03_MaleConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJES1, JES2, JES3, JES4, JES5, JES6
6SilentStepStickfait_maison:StepStickB1, B2, B3, B4, B5, B6
3SolderJumper_3_OpenJumper:SolderJumper-3_P1.3mm_Open_RoundedPad1.0x1.5mmJP2, JP3, JP4
24k7Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR3, R4
2BC547Package_TO_SOT_THT:TO-92_InlineQ1, Q2
1100kOhmResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR1
1100nCapacitor_THT:C_Radial_D6.3mm_H5.0mm_P2.50mmC2
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR2
11kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_HorizontalR5
11nCapacitor_THT:C_Radial_D6.3mm_H5.0mm_P2.50mm_C1
174LS138Package_DIP:DIP-16_W7.62mmU1
1Conn_01x01_MaleConnector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJRST1
1Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3
1Conn_01x04_FemaleConnector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_VerticalJI2C1
1Conn_01x06_MaleConnector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_VerticalJSPI
1ESP32_THING_W_ANT_KEEPOUTBoards:ESP32_THINGB0
1PolyfuseFuse:Fuse_Bourns_MF-RHT1000F1
1Screw_Terminal_01x02TerminalBlock_RND:TerminalBlock_RND_205-00232_1x02_P5.08mm_HorizontalJ1
1TSR_1-2450Converter_DCDC:Converter_DCDC_TRACO_TSR-1_THTU2

The 61 most common of 65 parts.

Questions

How big is the Brett PCB?

It measures 78.7 × 94 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Brett use?

65 parts, built around the TSR 1-2450 and BC547. 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 Brett KiCad files?

From the bskp/koebi repository on GitHub, at the commit this page was made from: the board is pcb/brett.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Brett design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers139 × 139 mmScreen driver, the printed circuit board in 3D

    Screen driver

    lambdaBoost/MC6205-graphical-display

    graphical display on old neon plasma screen

    285 parts7
  • 2 layersEsp32, the printed circuit board in 3D

    Esp32

    ramiropolla/doorbell_esp32

    18 parts
  • 4 layers72.4 × 95.3 mmDingoPDM, the printed circuit board in 3D

    DingoPDM

    corygrant/dingoPDM

    Hardware - dingoPDM is an open source, affordable automotive PDM (Power Distribution Module). Pre-assembled and tested units are available or the design can be used to build a DIY version.

    156 parts128MIT
  • 2 layers51.6 × 26.8 mmMHI AC CTRL, the printed circuit board in 3D

    MHI AC CTRL

    hberntsen/mhi-ac-ctrl-esp32

    Control MHI Airconditioning locally using your own ESP32 series chip!

    8 parts74MIT
  • 2 layers65 × 74 mmRP2040 MPG and DRO, the printed circuit board in 3D

    RP2040 MPG and DRO

    terjeio/GRBL_MPG_DRO_BoosterPack

    Tiva C BoosterPack for GRBL MPG/DRO

    54 parts46
  • 2 layers127 × 54.3 mmTerraesp, the printed circuit board in 3D

    Terraesp

    fehlfarbe/terraesp

    ESP32 terrarium controller

    83 parts25MIT
  • 2 layers94.8 × 67.2 mmArgo v9-stable rev4, the printed circuit board in 3D

    Argo v9-stable rev4

    SensorsINI/argo

    Code for Autonomous sail boat

    139 parts16