Hochschule Kempten      
Fakultät Elektrotechnik      
Elektronik       Fachgebiet Elektronik, Prof. Vollrath      

+    Share page with QR-code

-   Projektpraktikum Elektronik


SoSe 2025 Projektpraktikum: Elektroniklabor

Prof. Dr.-Ing. Jörg Vollrath


Moodle: E606 EI-Projekt (2025)

Motivation


Ein Elektroniklabor benötigt Spannungsversorgung, Funktionsgenerator, Spannungsmesser, Oszilloskop und digitale IOs, um Schaltungen zu untersuchen und zu entwerfen.
Auf dem Markt gibt es kompakte Geräte (ADALM2000, Analog Discovery, Red Pitaya, Moku Go) die einige dieser Funktionen vereinigen.
Eine ideale preisgünstige Variante mit allen Funktionen, 4 Kanal Oszilloskop, minimaler Software Installation und schönem Userinterface ist nicht erhältlich.

Dieses Praktikum beschäftigt sich damit eine vorhandene preisgünstige Open Source Realisierung weiter voran zu treiben.
Dies ist ein Projektpraktikum mit 3 SWS begleitet von 1 SWS Projektmanagment.
Es werden Gruppen zu jeweils 4 (3) Studierenden gebildet.

Ein Block mit 180 min stehen mit Betreuung pro Woche zur Verfügung.
Am Ende wird eine Präsentation und ein Bericht bewertet.



Status


The current status of hardware and software is shown first:
Research Summary

Installation Instructions


The project is available at github JVollrath NodeEEBench.
The current version can be download as zip file NodeEEBench_V08.zip.
Unpack the files into "C:\temp". All files should then be in the directory "C:\temp\NodeEEBench".
The subdirectories "node" and "node_modules" contain the node executable to provide a web server and connection to a serial interface.

Hardware: BASYS3



Figure: BASYS3 FPGA Board with R2R DAC and Electronic Explorer

Hardware features:
4 channel, 12-Bit, 125 kSps, 0..1 V range ADC oscilloscope FPGA (XADC)
1 channel, 16-Bit, 30kSps, 0..3.3 V range, 15us settling time, 100k,220k R2R DAC
4k samples transfered via UART with Baud rate 230400
Pins Oscilloscope: OSC1 JXA 1 in, 7 GND; OSC2 JXA 2 in, 8 GND; OSC3 JXA 3 in, 9 GND; OSC4 JXA 4 in, 10 GND;
Pins AWG: JC upper 8 Bit 10,9,8,7,4,3,2,1; JB lower 8 Bit 10,9,8,7,4,3,2,1;
16 Bit R2R DAC: left side output D15 connected to scope 1, right side D0 and GND connection.
The FPGA configuration is done using the VHDL project files in the directory C:\temp\NodeEEBench\Xilinx\EEBench.

Hardware: Arduino





Additional ADC and DAC are realized with Digilent PMOD AD2, Digilent PMOD DA2, R2R DAC with 10k,20k resistors.
In the subdirectory Arduino are different sketches:

Software: User interface



Start the program with "C:\temp\NodeEEBench\NodeEEBench.bat".
A command window is started, the serial communication with a BASYS3 or Arduino board established and a web browser connects to "localhost:3000" to display the graphical user interface.
Besides the standard interface started with "C:\temp\NodeEEBench\NodeEEBench.bat" There is an additional special Arduino Interface for INL, DNL and SNR, FFT operation, which can be started with "C:\temp\NodeEEBench\StartServerAx.bat"
Detailed description is available at Interface Electronics ADC DAC Analysis Laboratory


Figure: Configuration and signal generator user interface


Figure: Oscilloscope and FFT interface V05


Figure: Histogram interface V06

Software features


Configuration with individual serial command transfer.
AWG: DC, stair, triangle and sine generator with frequency, amplitude and offset
OSC: 4 channel and AWG with 8..4096 sample selection, xy display, voltage and code selection, rising, falling single channel trigger, minimum, maximum, average, amplitude, period and frequency calculation.
There is voltage sample data and code data display available. A measured signal can be directly compared to the golden AWG signal in voltage or code.
FFT: AWG1, OSC1, OSC2, OSC3, OSC4 with highest magnitude frequencies and total noise magnitude for ENOB, SINAD, SFDR, SDR calculation.
Histogram with adjustable (16..256) number of bins.
Ramp Test INL, DNL
Lookup Table


Unique features (Work in progress)


Signalgenerator DAC and Oscilloscope ADC integer value display.
Lookup table application for arbitrary waveform generator.
Oscilloscope data processing and feeding output to arbitrary waveform generator.
Serial interface data processing.
ADC, DAC, INL, DNL analysis.

Vorgehen


  1. Sichten und Inbetriebnahme des vorhandenen Materials.
  2. Entwicklung eigener Ideen.
  3. Auswahl und Realisierung einer eigenen Idee
  4. Präsentation der Ergebnisse
  5. Projektbericht
Achten Sie auf die Ergebnisssicherung (Dokumentation) und Tätigkeitsbeschreibung schon während des Projektpraktikums.
Planen Sie ihre Aktivitäten und überprüfen Sie ihren Projektfortschritt.
Sichern Sie Teilergebnisse durch geeignete Versionierung.

Projekt Ideen



Bauteile



Bauteile

BASYS3 Board

Arduino MKR WIFI 1010

RaspberryPi Zero W2

A7 CMOD

TI MSP3240

ST Micro Nucleo

Infineon XMC4700 Relax

PMOD ADC, DAC


Digilent

LM27762EVM


Geräte

Breadboard, Electronic Explorer, Multimeter, Seitenschneider, Komponentenabbiegevorrichtung

Breadboard

Electronic Explorer

Multimeter

Seitenschneider

Abisolierer

ADALM2000

Red Pitaya


Summary 2025


RankTopicLink
1Raspberry Pi Zero W
1.1Raspberry Pi Zero W OS Installation
1.2Raspberry Pi Zero W Node Installation
1.3Raspberry Pi Zero W Python Installation
1.4Raspberry Pi Zero W Webserver Installation
5Improve server startup (path, autostart RaspberryPi)
2Hardware detection with server
3Digital IO implementation (Arduino)
4Server side virtual hardware (Simulation)
Python AWG and Oscilloscope
Node Red functionality implementation using graphical programming
VP+, VP-, DC positive and negative generator

Lessons learned 2025


Server Side Hardware Sine Generator Simulation 2025


Specific Implementation and Test


Bugs:
Missing initialization of hardware with a full set of commands at start of server

Missing features:
- emit found hardware device to client and client updates status
- Implement webserver and websocket in Python


Test 2025


Laboratory PC: NodeJs server on PC, USB connection to Arduino or BASYS 3
(Laboratory PC shares Network connection with PI:
USB to RaspberryPi Gadget Mode with NodeJs server; Raspberry PI USB connection to Arduino or BASYS 3)
USB to RaspberryPi Gadget Mode with NodeJs server and PMOD DA2, AD2 control
Dual WIFI access point connected via LAN to PC and WIFI to RaspberryPi
Laptop Wifi connection to RaspberryPi Access point and USB connection to Arduino or BASYS 3

Hardware: (Laptop, Node), (Laptop, Node, BASYS3), (Laptop, Node, Arduino), (Laptop, Node, RaspberryPi Zero W Sim), (Laptop, Node, RaspberryPi Zero W, Arduino), (Laptop, Node, RaspberryPi Zero W, BASYS3), (Laptop, Node, RaspberryPi Zero W, PMOD ADC, PMOD DAC)

(Start Server: NodeEEBench.bat)
Select Configuration
Select OSC: Number of samples (8, 256, 512, 4096) and Time Base (Table Hardware and available Timebase)
Check console log of server for correct data transfer
Select AWG: Waveform Sine, frequency, offset 0.5 V, amplitude 0.5 V
Select OSC: Run and check result amplitude, average, frequency
Check OSC Trigger, Unit, xy axis
Select FFT: Run, check power spectrum
Select AWG: Waveform (DC, Pulse, Triangle, Stair) frequency, offset 0.5 V, amplitude 0.5 V

Table: Hardware and available operating range
HardwareAWG output voltage rangeAWG fminAWG fmax OSC input voltage rangeTime base minTime base max

BASYS3 Boad, Arduino Wifi Maker 1010, serial at PC, Laptop

AWG sine
frequency
Calculated
frequency
OSC sampling timeBase
O command
Block SizePlatform
1 Hz200 ms/div10256Simulator, FPGA, Arduino, Raspberry Pi Zero W 2
100 Hz5 ms/div1256Simulator, FPGA, Arduino, Raspberry Pi Zero W 2
1 kHz200 us1256Simulator, FPGA, Arduino, Raspberry Pi Zero W 2
10 kHz200 us1256Simulator, FPGA, Raspberry Pi Zero W 2
100 kHz50 us1256Simulator, FPGA
1 MHz5 us1256Simulator
10 MHz20 ns1256Simulator
100 MHz20 ns1256Simulator

Weiterentwicklung 2025


The frequency of a selected sine waveform for the Arduino platform is not calculated correctly.
Timing calculations and measurements should be done.
2 waveform generators should be implemented.
PMOD AD2 (I2C) and PMOD DA2 (SPI) should be enabled.
Timing of communication between Arduino and PMOD is measured.
24 cycles 1 us/1 MHz are used for each DA channel.
48 cycles can be used for 2 channels.
This should give a sample rate of 20 kHz.
30 MHz macimum clock cycle should be possible giving 600 kHz, but 8 us settling time.

(1) DA Investigation 2 channels FPGA
(2) ADC Investigation 4 channels FPGA