
OutputBoard
CrashOverride85/zc95
4 channel EStim box inspired by the mk312bt, with Lua scripting support

4 channel EStim box inspired by the mk312bt, with Lua scripting support
Pcb project is an open-source printed circuit board by CrashOverride85, from the CrashOverride85/zc95 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 191.5 × 76 mm with 337 parts on 332 nets, routed with 4,571 tracks and 795 vias.
It is built around the MAX3232EEAE+T, LM324 and TCA9534PW, with the MCP4728-E/UN, USBLC6-2P6 and SN74LVC1G3157DCKR among its other parts. Its parts include 157 resistors, 72 capacitors, 28 ICs, 26 diodes and 19 transistors. It belongs with the RP2040 boards of this library.
Note: This repo has submodules, so if cloning, it's best to use the recursive option.
The ZC95 is a DIY four channel EStim box with similar output design and feel to the MK312-BT (which in turn is a clone of the ET-312B).

The box is primarily intended for standalone use (i.e. not used whilst connected to phone/laptop/tablet), but can be controlled remotely via a Python GUI, and run Lua scripts that have been uploaded to it over serial or WiFi.
Main features:
Technical details:
The ZC95 is very heavily inspired by the MK312-BT, which is a reversed engineered version of the ET-312. The original repo for that project is long gone, but there is a fork here.
The ZC95 mk1 was made public in late 2021, and had a similar form factor to the MK312. That version has been built successfully by many.
The ZC95 mk1 had the output stage on a separate PCB. It's no longer part of the zc95 build, but could still be built and used to add 4 channel estim output to an Arduino (with notes for & tested with an ESP32). The PCB / BoM / build notes for it are here.
These are the main changes from the MKI to MKII:
The ZC95 project is provided 'as is' without warranty of any kind, either express or implied. The project is provided for your use at your own risk.
Having said that, if you run into difficulties or have questions, the two best places to try are:
Other related projects that are worth checking out:
NeoDK - Advanced electrostimulation machine development kit. In active development, and also has a chanel on Joanne's E-Stim Community discord
MK-312BT - Project the ZC95 was inspired by, and shares lot in common with (original repo gone, but there are many forks)
WT-312 - 312 style driver, intended for integration into other projects
FOC-Stim - In development, checkout the foc-stim channel on Joanne's E-Stim Community discord for the latest
| Qty | Value | Footprint | References |
|---|---|---|---|
| 45 | 10k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R1, R11, R15, R101, R103, R105, R109, R114, R117, R125, R128, R129, R132, R136, R137, R146 +29 |
| 42 | 100k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R12, R13, R37, R39, R104, R108, R111, R112, R116, R118, R119, R122, R142, R144, R147, R150 +26 |
| 25 | 100R | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R14, R16, R19, R20, R21, R22, R27, R28, R29, R30, R110, R121, R124, R127, R134, R135 +9 |
| 20 | 100nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C3, C4, C10, C12, C13, C15, C16, C18, C20, C28, C30, C31, C34, C49, C51, C59 +4 |
| 16 | 1uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C1, C2, C5, C21, C26, C32, C36, C37, C39, C41, C42, C43, C44, C45, C48, C52 |
| 14 | 150k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R41, R44, R52, R55, R66, R69, R79, R82, R91, R92, R97, R99, R148, R149 |
| 12 | BZX584C3V6 | Diode_SMD:D_SOD-523 | D1, D6, D18, D20, D21, D22, D23, D24, D25, D26, D27, D28 |
| 10 | AO3400A | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q2, Q4, Q5, Q7, Q8, Q10, Q11, Q13, Q17, Q19 |
| 9 | 10uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C9, C25, C40, C56, C66, C67, C68, C70, C72 |
| 9 | 22uF | Capacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolder | C22, C23, C24, C38, C53, C54, C55, C64, C65 |
| 8 | 4k7 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R93, R94, R100, R106, R107, R113, R133, R154 |
| 7 | USBLC6-2P6 | Package_TO_SOT_SMD:SOT-666 | U19, U20, U21, U22, U23, U24, U25 |
| 6 | 2k2 | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R10, R90, R120, R123, R138, R143 |
| 5 | 220uF | Capacitor_Tantalum_SMD:CP_EIA-7343-43_Kemet-X_Pad2.25x2.55mm_HandSolder | C11, C14, C17, C19, C46 |
| 5 | AO3401A | Package_TO_SOT_SMD:SOT-23_Handsoldering | Q1, Q14, Q15, Q16, Q18 |
| 4 | 1k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R102, R115, R130, R131 |
| 4 | 3.3nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C29, C33, C35, C60 |
| 4 | 330K | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R86, R95, R141, R153 |
| 4 | 42TL004-RC | out:42TL+U | TR1, TR2, TR3, TR4 |
| 4 | BAV23CL | Package_TO_SOT_SMD:SOT-23-3 | D8, D10, D12, D16 |
| 4 | IRF9Z24NPBF | Package_TO_SOT_THT:TO-220-3_Vertical | Q3, Q6, Q9, Q12 |
| 4 | SMAJ13A | Diode_SMD:D_SMA | D7, D9, D11, D15 |
| 4 | SN74LVC1G3157DCKR | Package_TO_SOT_SMD:SOT-363_SC-70-6_Handsoldering | U12, U18, U26, U27 |
| 3 | 10nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C27, C57, C62 |
| 3 | 56k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R87, R89, R145 |
| 2 | 0.5R | Resistor_SMD:R_2512_6332Metric_Pad1.40x3.35mm_HandSolder | R36, R61 |
| 2 | 1.5uH | ProjLib:FXL0630 | L1, L2 |
| 2 | 5.1k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R139, R140 |
| 2 | AudioJack3_SwitchTR | ProjLib:PJ-3062-CO | J4, J18 |
| 2 | Conn_02x04_Odd_Even | Connector_PinSocket_2.54mm:PinSocket_2x04_P2.54mm_Vertical | J3, J5 |
| 2 | DNP | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C58, C71 |
| 2 | LM324 | Package_SO:SOIC-14_3.9x8.7mm_P1.27mm | U6, U11 |
| 2 | Pico | ProjLib:RPi_Pico_SMD_TH | U3, U9 |
| 2 | TCA9534 | Package_SO:TSSOP-16_4.4x5mm_P0.65mm | U1, U28 |
| 2 | TPS61088 | ProjLib:IC_TPS61088RHLR | U8, U17 |
| 1 | 0.01R | Resistor_SMD:R_1206_3216Metric_Pad1.30x1.75mm_HandSolder | R126 |
| 1 | 0.47uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C47 |
| 1 | 1.5k | Resistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolder | R78 |
| 1 | 1SMA4734A | Diode_SMD:D_SMA | D5 |
| 1 | 26650 Cell | ProjLib:BH-26650-A5BJ001 | BT1 |
| 1 | 4.7uF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C69 |
| 1 | 433TX | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J9 |
| 1 | 47nF | Capacitor_SMD:C_0603_1608Metric_Pad1.08x0.95mm_HandSolder | C50 |
| 1 | 500mA | Fuse:Fuse_0805_2012Metric_Pad1.15x1.40mm_HandSolder | F1 |
| 1 | 9v | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D13 |
| 1 | ACC Port | Connector_Dsub:DSUB-9_Female_Horizontal_P2.77x2.84mm_EdgePinOffset7.70mm_Housed_MountingHolesOffset9.12mm | J7 |
| 1 | AT24C04CDRG | Package_SO:SOP-8_3.76x4.96mm_P1.27mm | U5 |
| 1 | AudioIn | Connector_PinSocket_2.54mm:PinSocket_1x03_P2.54mm_Vertical | J16 |
| 1 | BQ25601 | Package_DFN_QFN:Texas_S-PWQFN-N24_EP2.7x2.7mm_ThermalVias | U2 |
| 1 | BQ27441-G1 | Package_SON:Texas_S-PDSO-N12 | U13 |
| 1 | CHAN1 | ProjLib:PJ-3062-CO | J11 |
| 1 | CHAN2 | ProjLib:PJ-3062-CO | J12 |
| 1 | CHAN3 | ProjLib:PJ-3062-CO | J14 |
| 1 | CHAN4 | ProjLib:PJ-3062-CO | J15 |
| 1 | CHRG | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D4 |
| 1 | Conn_01x02 | Connector_Molex:Molex_KK-254_AE-6410-02A_1x02_P2.54mm_Vertical | J13 |
| 1 | DNP | Resistor_SMD:R_0805_2012Metric_Pad1.20x1.40mm_HandSolder | C63 |
| 1 | FS8205A | Package_TO_SOT_SMD:SOT-23-6_Handsoldering | U15 |
| 1 | FTC201610S1R0MBCA | ProjLib:FTC201610S | L3 |
| 1 | FrontPanel | Connector_IDC:IDC-Header_2x04_P2.54mm_Vertical | J8 |
| 1 | HT7533-1 | Package_TO_SOT_SMD:SOT-89-3 | U16 |
| 1 | HY2111-GB | Package_TO_SOT_SMD:SOT-23-6_Handsoldering | U14 |
| 1 | I2C | Connector_PinSocket_2.54mm:PinSocket_1x05_P2.54mm_Vertical | J10 |
| 1 | LCD | Connector_Molex:Molex_KK-254_AE-6410-10A_1x10_P2.54mm_Vertical | J6 |
| 1 | MAX3232EEAE+T | ProjLib:SOP65P777X199-16N | U4 |
| 1 | MCP4651 | Package_SO:TSSOP-14_4.4x5mm_P0.65mm | U10 |
| 1 | MCP4728 | Package_SO:MSOP-10_3x3mm_P0.5mm | U7 |
| 1 | OK | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D14 |
| 1 | PG | LED_SMD:LED_0603_1608Metric_Pad1.05x0.95mm_HandSolder | D3 |
| 1 | SS34 | Diode_SMD:D_SMA | D17 |
| 1 | SW_SPDT | ProjLib:SS-12D06L5 | SW1 |
| 1 | TRG1 | ProjLib:PJ-3062-CO | J1 |
| 1 | TRG2 | ProjLib:PJ-3062-CO | J2 |
| 1 | TestPoint_1.65v | TestPoint:TestPoint_Pad_D1.5mm | TP2 |
| 1 | TestPoint_5v | TestPoint:TestPoint_Pad_D1.5mm | TP3 |
| 1 | TestPoint_9.6v | TestPoint:TestPoint_Pad_D1.5mm | TP1 |
| 1 | Thermistor_NTC | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | TH1 |
| 1 | USB_C_Receptacle | ProjLib:1054500101 | J20 |
The 334 most common of 337 parts.

CrashOverride85/zc95
4 channel EStim box inspired by the mk312bt, with Lua scripting support

CrashOverride85/zc95
4 channel EStim box inspired by the mk312bt, with Lua scripting support



deep-th/CAN_Logger
This is a compact and reliable CAN logger board built for automotive and industrial applications. It features the ESP32-S3 microcontroller and MCP25625 CAN controller with integrated transceiver, supporting two…

rasterizednet/raspberry-pi-estim
This repo includes kicad projects for the raspbi controller, and estim breakout, as well as the AVR source code for the estim breakout.

tombueng/hilprobe
HILprobe: multi-function UUT probe for hardware-in-the-loop testing - RS-485, CAN FD, logic analyzer, 4-ch scope, two programmable UUT supplies. KiCad 10, 6 layers, RP2350B + ESP32-S3.



It measures 191.5 × 76 mm and has 2 copper layers, 1.6 mm thick.
337 parts, built around the MAX3232EEAE+T, LM324, TCA9534PW and MCP4728-E/UN. 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 CrashOverride85/zc95 repository on GitHub, at the commit this page was made from: the board is pcb-project/MainBoard/main.kicad_pcb and its schematic misc/OutputBoard/kicad/output.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the GPL-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).