Skip to the content
4 layers100.5 × 61.3 mmTanfolyamRobot, the printed circuit board in 3D

Korábban az STMicroelectronics által biztosított STM32CubeIDE-t használtuk a firmware fejlesztéséhez, azonban ez egy elég nehézkes és lassú eszköz.

Size
100.5 × 61.3 mm
Copper layers
4
Thickness
1.6 mm
Parts
79
Nets
103
Pads
335
Tracks, vias
917, 161
Pours
2
Routed
Yes
KiCad
KiCad 7 (file 20221018)
Created
22 Mar 2020
Updated
1 Mar 2026

Overview

TanfolyamRobot is an open-source printed circuit board by legokor, from the legokor/TanfolyamRobot repository on GitHub. It is a 4-layer board of 100.5 × 61.3 mm with 79 parts on 103 nets, routed with 917 tracks and 161 vias.

It is built around the FT232RL, DRV8833PW and LP2950CDT-3.3, with the BAS85, BSS123 and BSO201SPH among its other parts. Its parts include 23 resistors, 18 capacitors, 5 ICs, 5 diodes and 4 transistors. It belongs with the ESP8266 and STM32 boards of this library.

Main components

7

README

README.md

LEGO Kör - TanfolyamRobot

Fejlesztő környezet

Korábban az STMicroelectronics által biztosított STM32CubeIDE-t használtuk a firmware fejlesztéséhez, azonban ez egy elég nehézkes és lassú eszköz. Ezért a tanfolyam során áttérünk egy könnyebben használható és gyorsabb parancssoros toolchain-re, az STM32CubeCLT-re. Ezt a toolchain-t a Visual Studio Code nevű (továbbiakban VSCode) kód szerkesztővel fogjuk használni, így a teljes fejlesztés (fordítás, feltöltés) nagyon könnyen indítható lesz néhány előre beállított task-kal.

Toolchain

Az előző fejezetben említett módon a firmware fejlesztéséhez az STMicroelectronics parancsoros eszközeit használjuk. Sajnos ezek letöltése regisztrációhoz kötött, ezért feltöltöttük a telepítő fájlokat a körös drive-ra, így regisztráció nélkül is telepíteni tudjátok - persze teljesen megértjük, ha nem akartok random drive-os fájlokat telepíteni, viszont ez esetben muszáj regisztrálnotok az STMicroelectronics weboldalán, és onnan letölteni.

Letöltés után a telepítő fájlt futtatva telepítsétek a STM32CubeCLT-t egy kényelmes helyre, például C:\STM32CubeCLT-be.

FONTOS: az STM32CubeCLT telepítése után újra kell indítani a VSCode-ot amennyiben az már meg volt nyitva, különben a VSCode nem fogja látni a telepített toolchain-t. Ezen felül Linux rendszerek esetében előfordulhat, hogy a gépet is újra kell indítani, hogy a megfelelő környezeti változók beálljanak.

Jelenleg Windows 10/11-en és Ubuntu-n teszteljük a szoftvert. Más (Linux alapú) platformokon is valószínűleg működni fog - de ezt nem tudjuk garantálni.

Robot illesztőszoftver

A robotra a firmware letöltése virtuális soros porton történik, a roboton az USB csatlakozó egy FT232RL chiphez kapcsolódik.

Előfordulhat Windows esetében, hogy az nem telepíti automatikusan a virtuális soros port driverét. Erre az esetre a fentebbi drive linken elérhető Windows zip-ben találtok egy plusz driver telepítőt, de amúgy ezt is le tudjátok tölteni az FTDI weboldaláról, majd pedig kibontani és telepíteni.

Kiinduló projekt letöltése, megnyitása

A kiinduló projektet a GitHub repojából tudjuk letölteni, ehhez az oldal megnyitása után jobb oldalt a Releases fül alatt kell kiválasztanunk a legújabb kiadást, majd a tanfrobot.zip fájlra kell kattintani.

A letöltött fájlt helyezzük el egy kényelmes helyre, például Documents/Lego_Tanfolyam mappába, majd bontsuk ki. A kibontás után nyissuk meg a VSCode-ot, és a File -> Open Folder... menüponttal nyissuk meg a kibontott firmware mappát (mely többek közt az Application, Drivers, Tools könyvtárakat tartalmazza).

Extra tipp: a VSCode-ban érdemes telepíteni az ms-vscode.cpptools nevű bővítményt, mely C/C++ nyelv támogatást ad a szerkesztőhöz, így például szintaxis kiemelést és automatikus kiegészítést biztosít.



Csak a tanfolyamon kell: projekt áttekintése, build és upload

Az imént megnyitott projektünk fájljait az IDE bal oldalán láthatjuk. A kód számunkra lényegi része a tanfolyamrobot/Application/src/app.c fájl lesz. Itt kell majd megoldanunk a tanfolyam során a feladatokat. Az itt található app_main() függvény gombnyomásra indul. Ha ebből a függvényből visszatér a programunk, akkor a robot leáll és a kijelzőn megjeleníti a visszatérési értéket.

A kód fordításához és a robotra való feltöltéséhez a VSCode-ban előre beállítottunk néhány task-ot, melyeket a CTRL+SHIFT+B billentyűkombinációval tudtok elindítani. E billentyűkombináció megnyomása után egy legördülő menüből választhatjátok ki, hogy mit szeretnétek csinálni - számunkra a CMake Build és az STM32 Flash Firmware (FTDI) lesz a fontos. Előbbi lefordítja a kódot, utóbbi pedig feltölti a robotra. A kiválasztás után egy újabb kérdés fog megjelenni, hogy melyik konfigurációt szeretnénk használni - válasszuk a Release-t, majd nyomjunk egy entert.

FONTOS: a CMake Build-et mindig futtassátok le a STM32 Flash Firmware (FTDI) előtt, különben a régi kód fog futni a roboton, nem pedig a legutóbb módosított verzió.

Parts

79
QtyValueFootprintReferences
11100ntanfolyamrobot:C0603C1, C2, C3, C4, C5, C6, C7, C8, C9, C15, C18
710Ktanfolyamrobot:R0603R1, R9, R10, R20, R21, R31, R32
64K7tanfolyamrobot:R0603R2, R6, R7, R25, R29, R30
420Ktanfolyamrobot:R0603R22, R23, R33, R34
31751248tanfolyamrobot:1751248MOT1, MOT2, X2
3BAS85tanfolyamrobot:MICROMELF-WD3, D4, D6
3BSS123tanfolyamrobot:SOT23Q2, Q3, Q4
3R-EU_R0603tanfolyamrobot:R0603R3, R4, R5
2100ntanfolyamrobot:C0805KC12, C13
2LEDCHIP-LED0603tanfolyamrobot:CHIP-LED0603RX0, TX0
2MOMENTARY-SWITCH-SPST-PTH-6.0MMtanfolyamrobot:TACTILE_SWITCH_PTH_6.0MMBUT0, RST0
2PINHD-1X2tanfolyamrobot:1X02JP6, JP7
2PINHD-2X4/90tanfolyamrobot:2X04_90COLOR0, ENC0
110ktanfolyamrobot:TRIMPOT-SMD-3MM-CLOSEDCONT0
110utanfolyamrobot:C0805KC14
122utanfolyamrobot:B_3528-21RC10
127Ktanfolyamrobot:R0603R24
12u2tanfolyamrobot:C0603C17
1330Rtanfolyamrobot:R0603R8
1330ntanfolyamrobot:C0805KC11
168utanfolyamrobot:B_3528-21RC16
16K8tanfolyamrobot:R0603R35
1BAS85tanfolyamrobot:DO-214ACD7
1BSO201SPtanfolyamrobot:SO-8Q1
1Conn_01x01Connector_PinHeader_2.54mm:PinHeader_1x01_P2.54mm_VerticalJ1
1DRV8833tanfolyamrobot:DRV8833_MODULEM1
1ESP01tanfolyamrobot:ESP01U$1
1FT232RLtanfolyamrobot:SSOP28IC4
1KUSBVX-BS1Ntanfolyamrobot:KUSBVX-BS1NX6
1LCD-16X2NOSILKtanfolyamrobot:LCD-16X2_NOSILKLCD1
1LD117A?Stanfolyamrobot:SOT223IC5
1LP2950?CDTtanfolyamrobot:DPACKIC2
1MURATA_CSTCEtanfolyamrobot:CSTCEX1
1MountingHoleMountingHole:MountingHole_3mmH1
1PINHD-1X3/90tanfolyamrobot:1X03_90SERVO0
1STM32F411RCTxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SWDtanfolyamrobot:1X06SWD0
1SW_DPDT_x2Button_Switch_THT:SW_E-Switch_EG1271_SPDTSW1
1SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_Pad1.0x1.5mmJP1
1WE-TVS-HS_SOT23-6L_82400102tanfolyamrobot:WE-TVS_SOT23-6LD1
1lockedtanfolyamrobot:1X04_90US0
1~IMU:PCB_IMUU2

Similar boards

  • 2 layers89 × 99 mmIsouart4, the printed circuit board in 3D

    Isouart4

    nedko/isouart4

    87 parts
  • 2 layers200 × 100 mmPolykit x monosynth, the printed circuit board in 3D

    Polykit x monosynth

    polykit/polykit-x-monosynth

    The Polykit X1 is a DIY semi-modular, analog, patchable synthesizer

    167 parts94
  • 2 layers50.3 × 25.8 mmU3 MLAB ADAPTER, the printed circuit board in 3D

    U3 MLAB ADAPTER

    MLAB-project/Modules

    MLAB hardware modules and building blocks

    22 parts17GPL-3.0
  • 2 layers90 × 90 mmRev.1 f, the printed circuit board in 3D

    Rev.1 f

    cel366/dendy_clone_smd

    Dendy_clone

    131 parts1
  • 2 layers23.8 × 25.1 mmLed dimmer, the printed circuit board in 3D

    Led dimmer

    dsiroky/led_dimmer

    Simple and compact 12 V LED dimmer

    13 partsMIT
  • 2 layers37 × 56 mmPhotometer3, the printed circuit board in 3D

    Photometer3

    meltissia/Dual-Channel-LSPR-Photometer

    Двоканальний LSPR-фотометр: проектування PCB під змішані сигнали та низькорівнева C-прошивка на ESP-IDF з потоковим DSP.

    49 parts
  • 2 layers50 × 160 mmPolykit x inputboard, the printed circuit board in 3D

    Polykit x inputboard

    polykit/polykit-x-inputboard

    Input board for my 8-voice polyphonic synthesizer

    80 parts
  • 2 layers68 × 100 mmAMS slave, the printed circuit board in 3D

    AMS slave

    HKUST-Red-Bird-Racing-EVRT/GEN6_ELEC

    ELEC Github Repo for Gen 6

    205 parts

Questions

How big is the TanfolyamRobot PCB?

It measures 100.5 × 61.3 mm and has 4 copper layers, 1.6 mm thick.

What parts does the TanfolyamRobot use?

79 parts, built around the FT232RL, DRV8833PW, LP2950CDT-3.3 and BAS85. 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 TanfolyamRobot KiCad files?

From the legokor/TanfolyamRobot repository on GitHub, at the commit this page was made from: the board is pcb/version2.0/tanfolyamrobot.kicad_pcb and its schematic pcb/version2.0.1/tanfolyamrobot/tanfolyamrobot.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the TanfolyamRobot design in my own project?

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