Skip to the content
2 layers70 × 80 mmPCB Motor, the printed circuit board in 3D

Arduino Nano-based printed circuit board for PWM motor control and sensor reading

Size
70 × 80 mm
Copper layers
2
Thickness
1.6 mm
Parts
21
Nets
36
Pads
72
Tracks, vias
105, 0
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Jul 2026
Updated
1 Sep 2026

Overview

PCB Motor is an open-source printed circuit board by user-kauan, from the user-kauan/Arduino-nano-motor-controller repository on GitHub, published under the MIT licence. It is a 2-layer board of 70 × 80 mm with 21 parts on 36 nets, routed with 105 tracks and 0 vias.

It is built around the DS18B20 and INA219AID. Its parts include 5 resistors, 5 connectors, 3 diodes, 1 transistor and 1 fuse. It belongs with the robots and motor control boards and the AVR (ATmega, ATtiny) boards of this library.

Main components

2

README

README.md

🔧 Arduino Nano Motor Controller

Placa de circuito impresso baseada em Arduino Nano para controle PWM de motores DC, com telemetria de corrente, tensão, temperatura e rotação, e proteção térmica automática.


📌 Sobre o projeto

A placa controla a velocidade de um motor DC via PWM, monitora suas condições de operação em tempo real (corrente, tensão, temperatura e rotação) e interrompe automaticamente o motor em caso de superaquecimento ou sobrecorrente.

🖼️ Visão geral

Visão 3D da PCB

Esquemático do circuito

⚙️ Funcionalidades

  • Controle de velocidade via PWM, ajustável remotamente por comando serial
  • Monitoramento de temperatura em tempo real com sensor DS18B20
  • Telemetria elétrica via módulo INA219 (corrente, tensão e potência em tempo real por I2C)
  • Medição de RPM via sensor Hall, usando interrupção externa para não perder pulsos em alta rotação
  • Trava de segurança automática: desliga o motor em caso de superaquecimento, sobrecorrente, ou falha/desconexão do sensor de temperatura
  • Indicação visual de status via LEDs (rodando / parado / falha)
  • Log contínuo via Serial com todos os dados de operação

🧰 Especificações e limites da placa

EspecificaçãoValor
Tensão máxima12V DC
Corrente máxima do motorAté 3A em STALL (rotor travado) — o motor recomendado para uso contínuo deve consumir 0.5A - 1A em operação normal, não 3A constantes
Fusível recomendado5x20mm, 2A, tipo slow-blow (retardado)
ProteçõesSoquete para fusível cilíndrico 5x20mm + diodo de proteção 1N5822
Acionamento do motorMOSFET IRLZ44N

📋 Lista de materiais (BOM)

Placa principal e circuito

QtdComponenteDescrição
1Arduino Nano V3Microcontrolador principal
1MOSFET IRLZ44NControle PWM do motor
1Diodo 1N5822Proteção flyback / roda livre
2Borne terminal 5mm (2 pinos)Entrada de alimentação 12V e saída para o motor
1Soquete de fusívelPorta-fusível 5x20mm
2LED 5mmIndicação de status / sinalização
1Resistor 4.7kΩPull-up do sensor de temperatura
1Resistor 10kΩPull-down do MOSFET
2Resistor 220ΩLimitação de corrente dos LEDs
2Header fêmea 1x03Sensor Hall e DS18B20
1Header fêmea 1x06Conector do módulo INA219
2Header fêmea 1x15Soquete para encaixe do Arduino Nano (um de cada lado)

Sensores externos suportados

SensorFunçãoComunicação
DS18B20Temperatura1-Wire
INA219Corrente, tensão e potênciaI2C
Sensor Hall (3 pinos)Rotação / RPMDigital

🔌 Montagem

O Arduino Nano é encaixado diretamente nos headers da própria PCB — não há fiação manual entre o microcontrolador e os componentes da placa, já que o layout do circuito fixa essas conexões fisicamente. Basta encaixar o Nano na posição correta (a serigrafia indica a orientação) e conectar os sensores externos (DS18B20, INA219, sensor Hall) nos headers dedicados.

💡 Sobre a soldagem: é possível soldar todos os componentes diretamente na placa, incluindo o próprio Arduino Nano direto nos pinos da PCB, sem usar headers. A recomendação, porém, é usar headers fêmea (os 1x15 para o Nano e os menores para os sensores). Isso permite remover o Arduino ou os sensores para testes, reprogramação fora da placa, ou substituição em caso de defeito, sem precisar dessoldar nada.

Mapeamento fixo definido pela placa:

FunçãoPino do Nano
PWM do motor (gate do MOSFET)D9
DS18B20 (temperatura)D3
Sensor Hall (RPM)D2
INA219 (I2C)A4 (SDA) / A5 (SCL)
LED — motor rodandoD11
LED — motor parado / falhaD10

🖥️ Firmware

O código-fonte está em motor_code.ino.

Bibliotecas necessárias

Instale pelo Gerenciador de Bibliotecas da Arduino IDE:

  • OneWire
  • DallasTemperature
  • Adafruit INA219 (+ Adafruit BusIO)

Comandos via Serial (9600 baud)

ComandoAção
VxxxDefine a velocidade do motor (0–255). Ex: V150
SPara o motor
RReseta uma falha de segurança (temperatura, corrente ou sensor desconectado)

Lógica de segurança

  • Se a temperatura ultrapassar 70°C, o motor é desligado automaticamente
  • Se a corrente ultrapassar 3A, o motor é desligado automaticamente
  • Se o sensor DS18B20 desconectar ou falhar, o motor também é desligado (falha "às cegas" não é permitida)
  • Uma vez em falha, o motor permanece desligado até o comando R ser enviado — evita religamento automático indesejado

Como gravar

  1. Abra motor_code.ino na Arduino IDE
  2. Selecione a placa Arduino Nano e a porta serial correta
  3. Instale as bibliotecas listadas acima
  4. Grave e abra o Monitor Serial (9600 baud) para acompanhar os dados em tempo real

🖥️ Hardware — como fabricar

  1. Baixe os arquivos de fabricação em Gerbers_Files.zip e mande fabricar a placa (usado PCBWay no projeto original)
  2. Solde os componentes conforme a lista de materiais acima
  3. Conecte os sensores externos nos headers correspondentes
  4. Conecte a alimentação de 12V e o motor DC nos bornes terminais

Abrindo o projeto no KiCad

text
PCB_Motor.kicad_pro   → projeto principal (abra este primeiro)
PCB_Motor.kicad_sch   → esquemático
PCB_Motor.kicad_pcb   → layout da placa

📂 Estrutura do repositório

text
├── 3D_View_PCB.png            → render 3D da placa
├── SCH.png                     → imagem do esquemático
├── Gerbers_Files.zip           → arquivos para fabricação
├── PCB_Motor.kicad_pcb         → layout da placa (KiCad)
├── PCB_Motor.kicad_pro         → projeto KiCad
├── PCB_Motor.kicad_sch         → esquemático (KiCad)
├── motor_code.ino              → código-fonte do Arduino
├── LICENSE                     → MIT
└── README.md

📄 Licença

Este projeto está sob a licença MIT — veja o arquivo LICENSE para mais detalhes.


#Engenharia #Eletronica #Hardware #PCBDesign #KiCad #Arduino #FirjanSENAI #SistemasEmbarcados #GitHub #OpenSource #Automação

Parts

21
QtyValueFootprintReferences
3220Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR1, R4, R5
2LEDLED_THT:LED_D5.0mmD2, D3
110kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR2
112VTerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ4
11N5822Diode_THT:D_DO-201AD_P15.24mm_HorizontalD1
14,7kResistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P10.16mm_HorizontalR3
1Arduino_Nano_v3.xModule:Arduino_NanoA1
1DS18B20Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ3
1FuseFuse:Fuseholder_Cylinder-5x20mm_Schurter_0031_8201_Horizontal_OpenF1
1HALL SENSORConnector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_VerticalJ2
1INA219Connector_PinSocket_2.54mm:PinSocket_1x06_P2.54mm_VerticalJ6
1LOGOZzx:eeeeG***
1MOTOR ENTRADATerminalBlock:TerminalBlock_MaiXu_MX126-5.0-02P_1x02_P5.00mmJ5
1mosfetPackage_TO_SOT_THT:TO-220-3_VerticalQ1

The 17 most common of 21 parts.

Similar boards

  • 2 layers95 × 75 mmBattery predictor, the printed circuit board in 3D

    Battery predictor

    touhidsiddiqueeraj-bit/Multi-Horizon-Hazard-Models-for-Battery-Failure-Prediction

    This study extends an existing multi-horizon hazard classification framework—originally developed for NASA 18650 cells using Histogram-based Gradient Boosting (HGB)—to three additional datasets (CALCE LCO/CX2, Oxford…

    25 parts1
  • 2 layers190 × 95 mmEausure measurement node, the printed circuit board in 3D

    Eausure measurement node

    adam-dev-hub/eausure-v1

    Complete IoT water quality monitoring ecosystem spanning embedded firmware, LoRa gateways, cloud APIs, mobile/web supervision, and PCB/mechanical design.

    53 parts
  • 4 layers82.6 × 82.5 mmJumperless2, the printed circuit board in 3D

    Jumperless2

    Architeuthis-Flux/Jumperless

    A jumperless breadboard

    208 parts914
  • 4 layers82.6 × 82.6 mmJumperlessV5r8, the printed circuit board in 3D

    JumperlessV5r8

    Architeuthis-Flux/JumperlessV5

    The next generation jumperless breadboard

    650 parts332
  • 2 layers74.4 × 51.2 mmEsp32-wroom timer, the printed circuit board in 3D

    Esp32-wroom timer

    AlessandroAU/Chorus32-ESP32LapTimer

    This is an ESP32 port of the popular Chorus RF Laptimer

    66 parts102GPL-3.0
  • 2 layers169.3 × 128 mmPSU PCB, the printed circuit board in 3D

    PSU PCB

    ThomasVDD/SmartSupply

    SmartSupply is a digital battery powered lab powersupply. It is Arduino compatible and can be controlled via PC over USB.

    134 parts96
  • 4 layers100 × 54 mmKbox, the printed circuit board in 3D

    Kbox

    sarfata/kbox-hardware

    Open-source electronics for your boat

    139 parts19
  • 2 layers50 × 100 mmPSU PCB, the printed circuit board in 3D

    PSU PCB

    ThomasVDD/SmartSupplyMini

    118 parts16

Questions

How big is the PCB Motor PCB?

It measures 70 × 80 mm and has 2 copper layers, 1.6 mm thick.

What parts does the PCB Motor use?

21 parts, built around the DS18B20 and INA219AID. 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 PCB Motor KiCad files?

From the user-kauan/Arduino-nano-motor-controller repository on GitHub, at the commit this page was made from: the board is PCB_Motor.kicad_pcb and its schematic PCB_Motor.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the PCB Motor 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).