Skip to the content
2 layers100 × 83.4 mmMessystem, the printed circuit board in 3D

Ein kleines Messgerät für den Reparaturplatz: Es überwacht sechs Gleichspannungen (0–30 V) und eine Wechselspannung (9 V) gleichzeitig und zeigt sie auf einem 20×4-LCD an.

Size
100 × 83.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
79
Nets
59
Pads
303
Tracks, vias
838, 43
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
9 Oct 2026
Updated
30 Oct 2026

Overview

Messystem is an open-source printed circuit board by do2mad, from the do2mad/messsystem-1mhz repository on GitHub, published under the MIT licence. It is a 2-layer board of 100 × 83.4 mm with 79 parts on 59 nets, routed with 838 tracks and 43 vias.

It is built around the ATMEGA328-PU, MCP6004-E/P and CD4051BE, with the DB207 among its other parts. Its parts include 22 resistors, 18 connectors, 15 diodes, 13 capacitors and 5 ICs. It belongs with the AVR (ATmega, ATtiny) and FPGA and CPLD boards of this library.

Main components

4

README

README.md

Messsystem 6× DC + 1× AC

Ein kleines Messgerät für den Reparaturplatz: Es überwacht sechs Gleichspannungen (0–30 V) und eine Wechselspannung (9 V~) gleichzeitig und zeigt sie auf einem 20×4-LCD an. Entstanden ist es, um die Spannungsschienen eines Commodore-64 , Pet oder andere in einem Blick zu prüfen — es passt aber auf jedes Gerät mit mehreren Versorgungsspannungen.

Projektseite und Diskussion: https://1mhz.de

Messsystem nach dem Einschalten

Startbild mit Firmware-Version. Unten die Eingänge: +5 V/GND/AC, DC1–DC6 als Klemmen und DC6 zusätzlich an 2-mm-Bananenbuchsen (J16).

Messsystem im Betrieb

Im Betrieb: zwei belegte Kanäle, die übrigen ausgeblendet. Rechts unten zeigt UEBERW, dass die Grenzwert-Überwachung aktiv ist.

Was es kann

  • 7 Kanäle an einem ADC: ein CD4051 schaltet die Eingänge auf einen einzigen ADC-Pin, ein MCP6004-Spannungsfolger entkoppelt den hochohmigen Teiler vom Sample-and-Hold.
  • Grenzwert-Überwachung: Ein funktionierendes Gerät anschließen, Taste halten, Toleranz wählen — fertig. Fällt am Prüfling eine Schiene aus dem Bereich, meldet sich das Gerät mit Ton, blinkendem Hintergrundlicht und einem blinkenden Kanal im Display.
  • Kalibrierung mit zwei Punkten pro Kanal, im EEPROM gespeichert.
  • Datenaufzeichnung als CSV über die serielle Schnittstelle, mit Semikolon und Dezimalkomma — direkt in der Tabellenkalkulation brauchbar.
  • Serielle Konsole für Kalibrierung, Grenzwerte und Diagnose.

Technik in Stichworten

MCUATmega328P, interner 8-MHz-Oszillator, kein Quarz
MultiplexerCD4051 (8:1) auf ADC0 (PC0)
PufferMCP6004 (Rail-to-Rail, pinkompatibel zum LM324, max. 6 V)
ReferenzLM4040 4,096 V an AREF
AnzeigeHD44780 20×4, parallel im 4-Bit-Modus
DC-EingängeTeiler 1 MΩ / 100 kΩ (≈1:11), 100 nF, bipolare 1N4148-Klemme
AC-EingangBrückengleichrichter, Teiler 470 k / 150 k, Mittelwert → Vrms = MW / 0,9
Alarmpassiver Piezo (Reichelt EPM 121, 4 kHz) gegentaktig an PB6/PB7 über 330 Ω; Hintergrundlicht über Q1 (2N7000) an PB3
Versorgung5 V über J9 oder USB-Mini J10 (nur eine Quelle gleichzeitig, kein Verpolschutz)

Bedienung

Taster SW1 im Betrieb

AktionWirkung
kurz tippenAlarm stumm, bis er vorbei ist
≥ 2 s haltenGrenzen einrichten, startet bei ± 1 %
im Einrichten tippenToleranz +1 % je Tipp (1…20, dann wieder 1)
im Einrichten 5 s warteneinlernen mit der gezeigten Toleranz, Wert wird gespeichert
≥ 6 s haltenalle Grenzen löschen
beim Einschalten haltenKalibriermodus

Das Statusfeld unten rechts zeigt UEBERW, ALARM!, STUMM, beim Halten SETUP bzw. LOESCH und im Einrichten die Toleranz, etwa +- 7%.

Summer dauerhaft aus: Jumper am ISP-Stecker J18 über Pin 1 und 3 (MISO gegen SCK). Zum Programmieren muss er ohnehin herunter.

Serielle Konsole (9600 Baud, ? zeigt die Liste): l Aufzeichnung · r Rohwerte · s Stopp · 1–6 / a kalibrieren · g / G Grenzen anzeigen/setzen · e einlernen · t Toleranz · x löschen · m stumm · b Summer-Test

Firmware bauen und flashen

Arduino-IDE mit MiniCore: Board „ATmega328", Variante 328P, Clock Internal 8 MHz, No bootloader → „Kompilierte Binärdatei exportieren". Bibliothek LiquidCrystal ist im Core enthalten.

Fuses beim Brennen (z. B. TL866-II Plus, Xgpro, ATMEGA328P@DIP28):

text
Low = 0xE2    High = 0xD9    Ext = 0xFF   (0xFD für Brown-out 2,7 V)

Nach dem ersten Flashen einmal kalibrieren: beim Einschalten den Taster gedrückt halten.

Hardware

Das KiCad-Projekt liegt unter hardware/kicad/ und bringt alle benutzten Symbole und Footprints als Projektbibliothek mit (libs/, eingebunden über sym-lib-table und fp-lib-table). Es lässt sich also ohne zusätzliche Bibliotheken öffnen und bearbeiten. KiCad 10.

Die 3D-Modelle liegen vollständig in hardware/kicad/packages3D/ – die 3D-Ansicht (Alt+3) ist nach dem Klonen sofort komplett, ohne weitere Downloads.

Stückliste: hardware/BOM.md (mit Erklärungen) und hardware/BOM.csv.

Stand

Aufgebaut, bestückt und im Einsatz. Die Versionsgeschichte mit allen Entscheidungen, Messungen und Fallstricken steht in CHANGELOG.md — auch die Geschichte vom gefälschten LM4040.

Lizenz

MIT, siehe LICENSE. Nachbau, Änderung und Weitergabe sind ausdrücklich erwünscht — über eine Rückmeldung im Forum freue ich mich.

Parts

79
QtyValueFootprintReferences
141N4148messystem:D_DO-35_SOD27_P7.62mm_HorizontalD2, D3, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17
10100nmessystem:C_MADC2, C4, C5, C6, C7, C8, C9, C10, C11, C12
7100kmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR10, R12, R14, R16, R17, R18, R23
61Mmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR11, R13, R15, R19, R20, R21
2100messystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR5, R22
25V/ACmessystem:PinSocket_1x04_P2.54mm_VerticalJ11, J12
2DC1-DC6messystem:PinSocket_1x12_P2.54mm_VerticalJ13, J14
2LOGOmessystem:1MHzLogo251MHZ, 1MHZ.de
1100uFmessystem:Elko_MadC13
110kmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR1
110kmessystem:Potentiometer_Bourns_3296W_VerticalR4
110nmessystem:C_MADC3
1150kmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR7
1180messystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR3
11kmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR2
11umessystem:C_MADC1
12N7000messystem:TO-92_InlineQ1
1330messystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR24
1470kmessystem:R_Axial_DIN0204_L3.6mm_D1.6mm_P7.62mm_HorizontalR6
15Vmessystem:PinHeader_1x02_P2.54mm_Vertical-MADJ9
1ACmessystem:PinHeader_1x02_P2.54mm_Vertical-MADJ1
1ATmega328-Pmessystem:DIP-28_W7.62mmU2
1CD4051Bmessystem:DIP-16_W7.62mm_Socket_LongPadsU1
1Conn_02x05_Odd_Evenmessystem:IDC-Header_2x05_P2.54mm_HorizontalJ8
1DB207messystem:Diode_Bridge_DIP-4_W7.62mm_P5.08mmD1
1DC1messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ2
1DC2messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ3
1DC3messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ4
1DC4messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ5
1DC5messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ6
1DC6messystem:PinHeader_1x02_P2.54mm_Vertical-MADJ7
1DC6-2messystem:2mm-bananeJ16
1EPM 121messystem:Buzzer_12x9.5RM7.6BZ1
1Erweiterungmessystem:PinHeader_1x06_P2.54mm_VerticalJ17
1ISPmessystem:PinHeader_2x03_P2.54mm_VerticalJ18
1LCD-20x4messystem:LCD-20x4U3
1LM4040LP-4.1messystem:TO-92_InlineU5
1LOGOmessystem:qr-1mhz-madG***
1MCP6004messystem:DIP-14_W7.62mm_LongPadsU4
1SW_Push6messystem:SW_Tactile_SPST_Angled_PTS645Vx39-2LFSSW1
1USB_B_Minimessystem:USB_Mini-B_horizontalJ10
1serialmessystem:PinSocket_1x03_P2.54mm_VerticalJ15

Similar boards

  • 2 layers213 × 65.1 mmSizif512, the printed circuit board in 3D

    Sizif512

    UzixLS/zx-sizif-512

    ZX Spectrum CPLD-based clone for rubber case

    214 parts195MIT
  • 2 layers67 × 92 mmWindmeter modbus interface, the printed circuit board in 3D

    Windmeter modbus interface

    pe1mew/windmeters-modbus-interface

    Universal interface for cup-anemo- and wind-directon- sensor to modbus

    30 parts2
  • 2 layers80 × 80 mmWire encoder modbus interface, the printed circuit board in 3D

    Wire encoder modbus interface

    pe1mew/wire-encoder-modbus-interface

    A modbus interface for a resistor wire encoder and a WCH CH32V003J4M6

    36 parts
  • 2 layers144.1 × 181.4 mmQuadulator, the printed circuit board in 3D

    Quadulator

    GlobalSequence/quadulator

    Quadulator - A quad LFO/ADSR envelope generator for Eurorack synthesizers

    128 parts6
  • 2 layers235 × 110 mmOblique Palette 0.5 PCB Main, the printed circuit board in 3D

    Oblique Palette 0.5 PCB Main

    Oblique-Industry/Oblique-Easel

    Code, Electronics, and Industrial Design for the Oblique Easel Artmaschine Cyberdeck

    350 parts5
  • 2 layers100 × 100 mmCharger, the printed circuit board in 3D

    Charger

    FridayUser/Universal_charger

    198 parts
  • 2 layers120 × 102.5 mmDsug cctv BOARD, the printed circuit board in 3D

    Dsug cctv BOARD

    LucasLHenry/spelltwister

    This is the third version of the code for the Spelltwister module with CCTV. This version uses the Arduino platform and the RP2040, a chip developed by Raspberry Pi for their RPi Pico board.

    251 partsMIT
  • 2 layers151.4 × 128.5 mmEnvelope generator, the printed circuit board in 3D

    Envelope generator

    naokiiwakami/envelope-generator

    Analog3 envelope generator

    128 partsMIT

Questions

How big is the Messystem PCB?

It measures 100 × 83.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Messystem use?

79 parts, built around the ATMEGA328-PU, MCP6004-E/P, CD4051BE and DB207. 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 Messystem KiCad files?

From the do2mad/messsystem-1mhz repository on GitHub, at the commit this page was made from: the board is hardware/kicad/messystem.kicad_pcb and its schematic hardware/kicad/messystem.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

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