
PCB FINAL UPDATED
bash227/ECG-Motor-Control-Power-Management-PCB
A multi-function PCB integrating biomedical signal acquisition (ECG), DC motor control, and advanced power management for wearable applications.

WiFi based controller for DC motor
Vlakinostalo is an open-source printed circuit board by andrejcampa, from the andrejcampa/WiFi-motor-controller repository on GitHub, published under the LGPL-3.0 licence. It is a 2-layer board of 23.8 × 13.5 mm with 25 parts on 30 nets, routed with 484 tracks and 16 vias.
It is built around the BD6220F-E2, DS3501U+H and FDG1024NZ. Its parts include 8 resistors, 4 capacitors, 4 connectors, 3 ICs and 2 switches. It belongs with the radio and wireless and robots and motor control boards and the ESP8266 boards of this library.
WiFi motor controller is a highly efficient DC motor controller for creating simple remote controlled toys using a mobile device. The main purpose of the project was to build a simple WiFi controller for N/HO scale trains. However, the motor driver is not limited to trains but can also be efficiently implemented to other simple DIY toys. The project is divided into three independent and customizable parts: hardware (HW) part, software (SW) part and optional custom 3D printed train.
Key Specifications:

Fig 1.1: The picture of the front and back of the WiFi motor control with dimensions in mm.
The hardware of the controller was created with KiCad EDA; I have been using nightly builds release 5, since it is a huge step forward with features, libraries, etc. There are some inconsistencies between the Linux and Windows version thus you might need to make some slight changes to the naming of parts (for instance in windows the library symbol for a resistor is device:R while in Linux Device:R). The hardware is based around BD622XF H-bridge driver and the most important features of HW are summarized in the block diagram. The maximal pulse voltage at the motor is equal to the input voltage reduced by the diode bridge voltage drop (~0.5V). Please consider using the power supply voltage of 12V - 15V to maximize the performance of H-bridge, since the module is very small 13.5 mm x 23.8 mm (31 mm) and the current capacity is limited.

Fig. 1.2: Block diagram of the module.

Fig. 1.3: Definition of pins and “connection scheme”.
| Pin name | Description |
|---|---|
| ext C (- +) | optional external capacitor, beware of the polarity! |
| LEDs | two connections for LEDs, the maximal current is 10 mA limited by 1k resistor, this is FET driven output connected to high voltage Uin and can be used for signaling. Also marked as out 1 and out 2 in the block diagram. |
| Motor_DC | the output for DC motor, polarity and PWM voltage signal is controlled by MUC. |
| U 6V-15V | main input power for the HW and motor, Uin = 6V-15V |
The latest Gerber for PCB production can be found in the directory HW/gerber/vlak.zip. The compressed archive was already used and sent to one of the cheap Chinese PCB Manufacturer. Please contact me if you need some additional information or how to reduce the costs of a prototype.
The main WiFi + MCU unit is based on a small esp8285 module, ESP-M2 (doit.am). Please refer to documentation how to flash the module. You have the option to program the ESP module on the board. However, you have to supply the power to the input pins and additionally solder the ground, Rx and Tx pin directly to the module (see ESP-M2 documentation). To flash you will need to short and hold flash pads and in the meantime short the reset pads, Figure 2.1. Flash and Reset pads are exposed on the front side of PCB.
Fig. 2.1: Exposed pads for flashing the module.
The program is written in Arduino IDE, using the open libraries, Arduino core for ESP8266 Wifi chip. To improve the response time I have used an asynchronous web server. The soft access point (SoftAP) is implemented. The program uses for SSID SRS and the serial number (SRS xxxx), the default password is SRS12345 and is for now only changeable from the program. The default page is packed in the header file as the stream of characters (string), so no file system is needed. To access and to control the module you have to open the web browser after connecting to the hotspot. In the browser you should write the address 192.168.4.1 to access the control panel, Fig 2.2. With the slide bar you can adjust the speed, with the left and right button you can control the direction while the X button will stop the motor. In all cases soft acceleration is adapted to stabilize the module and motor, to have smooth driving experience. On the right side, the two additional buttons for turning LEDs on and off are presented. The program is written for N and HO scale train purposes and can be easily adjusted for other needs by modifying the existing page and program.

Fig. 2.2: Screenshot of UI.
The first 3-D printed locomotive is in directory 3D. You need FreeCAD to open and edit the locomotive hull. The completed locomotive can be seen in the demonstration video.
To use the WiFi module with the 3D printed hull you also need Tomytec TM-07R Motorized Chassis (N scale). By connecting the LEDs (3 mm size) and module like in Fig. 1.3 you should get a connection similar as shown in Fig. 3.1. For this project you can use very thin wires 0.05mm2 (30AWG) since the current capacity of such wire is enough for our 0.5A or 1A maximal current.

Fig. 3.1: Assembling the module into the 3D printed hull.
Please contact me if the detailed step by step instructions are needed!
You are encouraged to support the project in many different ways
| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 10k | Resistor_SMD:R_0603_1608Metric | R1, R2 |
| 2 | 1k | Resistor_SMD:R_0603_1608Metric | R5, R7 |
| 2 | 4.7k | Resistor_SMD:R_0603_1608Metric | R3, R4 |
| 2 | 47u | Capacitor_SMD:C_1210_3225Metric | C3, C4 |
| 2 | 50 | Resistor_SMD:R_0603_1608Metric | R6, R8 |
| 1 | 1u | Capacitor_SMD:C_0603_1608Metric | C2 |
| 1 | 22uF | Capacitor_SMD:C_0603_1608Metric | C1 |
| 1 | BD6220F | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U3 |
| 1 | DS3501U | Package_SO:MSOP-10_3x3mm_P0.5mm | U2 |
| 1 | D_Bridge_+AA- | ESP-M:HD_bridge_bourns | D1 |
| 1 | ESP-M1&M2 | ESP-M:ESP-M2 | P1 |
| 1 | FDG1024NZ | Package_TO_SOT_SMD:SOT-563 | Q1 |
| 1 | Flash | Resistor_SMD:R_0603_1608Metric | SW2 |
| 1 | L | Inductor_SMD:L_Coilcraft_LPS4018 | L1 |
| 1 | LEDs | Connector_PinHeader_2.00mm:PinHeader_2x02_P2.00mm_Vertical | J3 |
| 1 | MAX15062A | Package_DFN_QFN:DFN-8_2x2mm_P0.5mm | U1 |
| 1 | Motor_DC | Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_Vertical | M1 |
| 1 | U 6V-15V | Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_Vertical | J2 |
| 1 | ext C | Connector_PinHeader_2.00mm:PinHeader_1x02_P2.00mm_Vertical | J1 |
| 1 | reset | Resistor_SMD:R_0603_1608Metric | SW1 |

bash227/ECG-Motor-Control-Power-Management-PCB
A multi-function PCB integrating biomedical signal acquisition (ECG), DC motor control, and advanced power management for wearable applications.


sekigon-gonnoc/mtch6102_breakout
Breakout board of MTCH6102, a 2D capacitive touch sensor, for DIY split keyboards with TRRS connectors.



clacktronics/VL53Lx_panel_hand_wave_sensor
Mount and PCB for hand wave sensor


sirkha/PocketBeagleStepperCarrier
A board that utilizes a PocketBeagle to control stepper motors via Pololu like carriers.
It measures 23.8 × 13.5 mm and has 2 copper layers, 1.6 mm thick.
25 parts, built around the BD6220F-E2, DS3501U+H and FDG1024NZ. 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 andrejcampa/WiFi-motor-controller repository on GitHub, at the commit this page was made from: the board is HW/vlakinostalo.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the LGPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).