Skip to the content
4 layers103.1 × 63.5 mmEMG2, the printed circuit board in 3D

A forearm-focused EMG sensor with 3 channels. Useful for identifying finger or general forearm muscle movements.

Size
103.1 × 63.5 mm
Copper layers
4
Thickness
1.6 mm
Parts
106
Nets
91
Pads
305
Tracks, vias
585, 86
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
19 Oct 2026
Updated
27 Oct 2026

Overview

EMG2 is an open-source printed circuit board by Janosinth, from the Janosinth/3-Channel_EMG_PCB repository on GitHub. It is a 4-layer board of 103.1 × 63.5 mm with 106 parts on 91 nets, routed with 585 tracks and 86 vias.

It is built around the INA630DDF, MAX6605 and BAT54J, with the SJ-3523-SMT-TR among its other parts. Its parts include 50 resistors, 31 capacitors, 8 diodes, 7 ICs and 5 connectors.

Main components

4

README

README.md

3-Channel_EMG_PCB

A forearm-focused EMG sensor with 3 channels. Useful for identifying finger or general forearm muscle movements.

Working EMG PCB Demonstration

Photos

3D Render of PCB

Working EMG PCB Demonstration

Fully Populated PCB

Working EMG PCB Demonstration

System Architecture

The design bridges a high-gain, low-noise analog front-end with real-time embedded C++ digital signal processing.

1. Analog Front-End (Hardware)

Bio-Amplification: An INA630 instrumentation amplifier interfaces directly with surface electrodes to capture raw muscle action potentials.

Bandpass Filter: Using a TLV9354 operational amplifier, the circuit drives 3 (1 per channel) active bandpass filters with a bandpass of 20 - 500Hz. The bandpass is a combination of a 2nd-order high-pass filter and a first-order low-pass filter.

Active Precision Rectification: The TLV9354 operational amplifier also drives a full active precision wave rectifier. This mathematically eliminates the forward voltage drop typical of passive Schottky diode envelopes, ensuring extremely weak muscle signals are not lost.

Total System Gain: Fixed hardware gain of ~600x designed to pull isolated bio-signals out of the noise floor before hitting the ADC.

2. Digital Signal Processing (Firmware)

Microcontroller: ESP32 operating with a 12-bit ADC configured to ADC_0db (0V - 1.1V range) for maximum microvolt resolution.

Filtering: A real-time C++ Exponential Moving Average (EMA) algorithm processes the raw rectified wave.

Software Scaling: Applies a digital multiplier to map the filtered biological signal to a constrained 0-3.3V logic output for external interfacing or data logging.

Repository structure

  • Firmware/ — ESP32 C++ code for digital signal processing.
    • ESP32_Code.ino — Arduino IDE project folder.
  • Hardware/ — KiCad 10.0 project files and custom footprints.
    • Kicad_Files — All main KiCad files to open the project.
    • EMG2_Stuff.pretty/ — Project-specific dependencies (Custom footprint library (INA630, MAX660, audio jacks).
    • Gerbers/ — Prerendered Gerber files from KiCad files ready for use with JLCPCB manufacturing tolerances.
  • Simulations/ — Analog circuit verification.
    • EMG_Circuit_Simulation.ms14 — Multisim active filter and precision rectifier simulation files.
  • Video and Image Assets/ — Media and visual documentation.
    • KiCad PCB schematic.png — PCB schematic inside KiCad.
    • Bare PCB.png — Bare manufactured PCB with no soldered components.
    • Full PCB Top Down View.jpg — Top-down view of fully assembled PCB.
    • 3D Render.png — 3D render of the PCB in KiCad.
    • Demo Video.gif — GIF of a portion of the demo video.

Setup & Installation

Firmware Deployment:

  1. Clone this repository.

  2. Open Firmware/ESP32_Code.ino in the Arduino IDE.

  3. Select the ESP32 Dev Module board and compile/upload.

Hardware Viewing:

  1. Install KiCad 9.0+.

  2. Open the Hardware/EMG2.kicad_pro file using KiCad, ensuring that the EMG2_Stuff.pretty EMG2.kicad_pro file is under the Hardware file directory.

Note: Ensure the Libraries/EMG2_Stuff.pretty footprint directory is properly linked in your KiCad Footprint Library configuration to prevent "missing footprint" errors when viewing the PCB layout.

Parts

106
QtyValueFootprintReferences
120.1uFCapacitor_SMD:C_0805_2012MetricC24, C25, C26, C27, C28, C29, C30, C31, C32, C33, C34, C35
1240kResistor_SMD:R_0805_2012MetricR17, R18, R19, R21, R23, R27, R28, R30, R32, R33, R37, R39
81kResistor_SMD:R_0805_2012MetricR6, R8, R10, R22, R51, R52, R53, R54
610kResistor_SMD:R_0805_2012MetricR9, R42, R43, R44, R47, R48
610nFCapacitor_SMD:C_0805_2012MetricC8, C9, C16, C17, C20, C21
61MResistor_SMD:R_0805_2012MetricR13, R41, R45, R46, R49, R50
6470pFCapacitor_SMD:C_0805_2012MetricC40, C41, C42, C43, C44, C45
6BAT54JDiode_SMD:D_SOD-323D2, D3, D4, D7, D9, D11
422uFCapacitor_SMD:C_0805_2012MetricC12, C13, C14, C15
31.1MResistor_SMD:R_0805_2012MetricR14, R24, R34
311kResistor_SMD:R_0603_1608MetricR15, R25, R35
318.9kResistor_SMD:R_0603_1608MetricR7, R11, R12
31nFCapacitor_SMD:C_0805_2012MetricC10, C18, C22
320kResistor_SMD:R_0805_2012MetricR20, R29, R38
3320kResistor_SMD:R_0603_1608MetricR16, R26, R36
3INA630Package_TO_SOT_SMD:TSOT-23-8U7, U8, U10
3SJ-3523-SMT-TREMG2_Stuff:CUI_SJ-3523-SMT-TRJ4, J5, J6
3TL074Package_SO:SOIC-14_3.9x8.7mm_P1.27mmU6, U9, U11
2569kResistor_SMD:R_0603_1608MetricR4, R5
2600ohmsInductor_SMD:L_0805_2012MetricFB1, FB2
2Conn_01x15_SocketConnector_PinSocket_2.54mm:PinSocket_1x15_P2.54mm_VerticalJ2, J3
2LEDLED_SMD:LED_0805_2012MetricD1, D5
2SolderJumper_2_OpenJumper:SolderJumper-2_P1.3mm_Open_RoundedPad1.0x1.5mmJP1, JP2
1569KResistor_SMD:R_0603_1608MetricR3
1LOGOLOGOG***
1MAX660Package_SO:SOIC-8_3.9x4.9mm_P1.27mmU1

Similar boards

  • 4 layers90 × 100 mmHarp.device.quad.dac, the printed circuit board in 3D

    Harp.device.quad.dac

    AllenNeuralDynamics/harp.device.quac

    0364: This repository contains the hardware, firmware, and software related to the Harp quad DAC

    291 partsMIT
  • 2 layers36.2 × 16.4 mmC64PSU, the printed circuit board in 3D

    C64PSU

    InconsolableCellist/C64PSU

    A lightweight and small Commodore64 PSU and case

    13 parts
  • 2 layers54.8 × 36.8 mmMactxlc, the printed circuit board in 3D

    Mactxlc

    kitspace-test-repos/kicad6-file-collection

    8 partsMIT
  • 2 layers47 × 37 mmBMS hardware, the printed circuit board in 3D

    BMS hardware

    light655/EENight_light_dance

    Don't try this at home.

    27 parts
  • 2 layers157.5 × 116 mmSequencer, the printed circuit board in 3D

    Sequencer

    zueblin/Polaron

    A DIY drum machine for the teensy microcontroller (hardware / software)

    107 parts226
  • 2 layers100.9 × 62.4 mmWnm mk 1 rev D, the printed circuit board in 3D

    Wnm mk 1 rev D

    Fabien-Chouteau/Wee-Noise-Maker

    Open source pocket synthesizer

    128 parts37GPL-3.0
  • 4 layers170 × 170 mmMigStorm ITX, the printed circuit board in 3D

    MigStorm ITX

    wiretap-retro/MigStorm-ITX

    A 68000 socketed ITX form factor Minimig.

    167 parts26

Questions

How big is the EMG2 PCB?

It measures 103.1 × 63.5 mm and has 4 copper layers, 1.6 mm thick.

What parts does the EMG2 use?

106 parts, built around the INA630DDF, MAX6605, BAT54J and SJ-3523-SMT-TR. 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 EMG2 KiCad files?

From the Janosinth/3-Channel_EMG_PCB repository on GitHub, at the commit this page was made from: the board is Hardware/Kicad_Files/EMG2.kicad_pcb and its schematic Hardware/Kicad_Files/EMG2.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the EMG2 design in my own project?

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