Skip to content

Releases

Audio-DSP-Lab 1.7.2 – one panel image for both CYDs

Choose a tag to compare

@andiepp andiepp released this 12 Nov 19:20

Audio-DSP-Lab 1.7.2 makes the front panel find out by itself which CYD it runs on. At start-up the panel reads its display controller's ID and drives the ILI9341 (the CYD with one micro-USB port) or the ST7789 (the CYD with two USB ports) it finds, so one panel image serves both. The board firmware is unchanged at 1.7.

Downloads

  • Audio-DSP-Lab-1.7.2-windows-x64.zip: the Windows application (self-contained, no .NET needed), the board firmware and the panel firmware with the flash tool, the manual and the installation guide.
  • Audio-DSP-Lab-firmware-1.7.2.zip: the firmware alone.

Flash either CYD with Flash-Panel.cmd COM18 (your CYD's port). A board already on 1.7 needs no update.

What's new

Board firmware 1.7 (unchanged), protocol 1, application 1.7.2, panel firmware 1.7.2.

  • Display detection: the ILI9341 answers D3h with 00 93 41 (read a byte at a time after D9h; the plain read gives zeros), the ST7789 answers 04h with 85 85 52. The panel's USB log names the controller and shows the raw reads (display: ST7789 (...)). Checked on both CYD versions: the one-USB board finds its ILI9341, the two-USB board its ST7789, with picture, colours and touch right.
  • Fallback: only a display that gives no ID (its data line not wired) falls back to the image's own choice: AudioDspLabPanel-merged.bin to the ILI9341, AudioDspLabPanel-ST7789-merged.bin (Flash-Panel.cmd COMn -ST7789) to the ST7789. The USB log then says not detected, build setting.
  • Docs: the panel guide, the manual (flashing, troubleshooting) and the installation guide describe the one image for both CYDs.

Audio-DSP-Lab 1.7.1 — the panel on the two-USB CYD

Choose a tag to compare

@andiepp andiepp released this 12 Nov 15:17

Audio-DSP-Lab 1.7.1 brings the front panel to the CYD with two USB ports (micro-USB and USB-C). That version of the ESP32-2432S028R has an ST7789 display instead of the ILI9341, and the release now carries a ready-made panel image for it. The board firmware is unchanged at 1.7.

Downloads

  • Audio-DSP-Lab-1.7.1-windows-x64.zip: the Windows application (self-contained, no .NET needed), the board firmware and both panel images with the flash tool, the manual and the installation guide.
  • Audio-DSP-Lab-firmware-1.7.1.zip: the firmware alone.

Flash a CYD with two USB ports with Flash-Panel.cmd COM18 -ST7789 (your CYD's port), the one-USB CYD as before with Flash-Panel.cmd COM18. A board already on 1.7 needs no update.

What's new

Board firmware 1.7 (unchanged), protocol 1, application 1.7.1, panel firmware 1.7.1.

  • Second panel image: AudioDspLabPanel-ST7789-merged.bin for the two-USB CYD; Flash-Panel.cmd COMn -ST7789 (or Flash-Firmware.ps1 -Port COMn -Panel -ST7789) writes it.
  • ST7789 colours: the panel no longer inverts the ST7789's colours, which showed the dark theme light and teal as red; checked on a two-USB CYD: picture, touch and colours right. Should another batch need the inversion, build with DISPLAY_INVERT set to 1.
  • DISPLAY_ST7789 and DISPLAY_INVERT in firmware/AudioDspLabPanel/Config.h can now come from the build; tools/Build-Release.ps1 takes a -Version for a patch release.
  • Docs: the panel guide, the manual (flashing and troubleshooting) and the installation guide describe the two-USB CYD.

Audio-DSP-Lab 1.7 — the receiver's IF back at 10 kHz

Choose a tag to compare

@andiepp andiepp released this 11 Nov 12:01

Audio-DSP-Lab 1.7 takes the receiver's default IF back to 10 kHz (1.6 had moved it to 12 kHz). With an I/Q front end, 12 kHz is a quarter of the 48 kHz sample rate, where a front end's third-order products fold exactly onto the image and no I/Q correction removes them: the image null stopped at 56 dB there against 67 dB at 10 kHz. 10 kHz keeps clear of that and of the noise that rises near a front end's oscillator. An IF front end simply sets the IF dial to its own IF.

Downloads

  • Audio-DSP-Lab-1.7-windows-x64.zip: the Windows application (self-contained, no .NET needed), the board and panel firmware with the flash tool, the manual and the installation guide.
  • Audio-DSP-Lab-firmware-1.7.zip: the firmware alone.

Flash the board with Flash-Firmware.cmd, the front panel with Flash-Panel.cmd (see the installation guide). The protocol is unchanged (version 1).

What's new

Firmware 1.7, protocol 1 (unchanged), application 1.7, panel firmware 1.7.

  • Receiver: the IF (protocol parameter offset) starts at 10 kHz again, in the firmware and in the simulator.
  • Docs: the manual, the installation guide and the protocol give 10 kHz as the default and explain why; screenshots of the application and the panel at 1.7.

Everything else is as in 1.6: the receiver is a pure backend from the IF on (no front end control in the application), the dial is called IF, and a front end should deliver its signal at K2 at about 1 mV amplitude.

Audio-DSP-Lab 1.6 — the receiver as a backend only

Choose a tag to compare

@andiepp andiepp released this 11 Nov 11:29

Audio-DSP-Lab 1.6 makes the receiver a pure SDR receiver backend from the IF on. Your front end delivers a real IF or I and Q to the line input K2; the application no longer drives a front end of its own. The dial is now called IF and starts at 12 kHz, and what a front end should deliver comes down to one simple rule: about 1 mV amplitude at K2.

Downloads

  • Audio-DSP-Lab-1.6-windows-x64.zip: the Windows application (self-contained, no .NET needed), the board and panel firmware with the flash tool, the manual and the installation guide.
  • Audio-DSP-Lab-firmware-1.6.zip: the firmware alone.

Flash the board with Flash-Firmware.cmd, the front panel with Flash-Panel.cmd (see the installation guide). The protocol is unchanged (version 1); the other applications are unchanged.

What's new

Firmware 1.6, protocol 1 (unchanged), application 1.6, panel firmware 1.6.

  • Receiver, backend only: the application's Front end on card (the author's test front end: an Arduino Uno driving an Si5351A), the RF dial and its tuning, the 20 m band warning and app/tools/RxTuneCheck are removed; the front end is entirely yours. Null image and the I/Q correction stay, for any I/Q front end.
  • The IF dial: the dial is called IF in the application and on the front panel, and it starts at 12 kHz instead of 10 kHz. The protocol's parameter keeps its name offset, so scripts and stored settings still work.
  • Docs: what a front end should deliver is one simple rule: about 1 mV amplitude at K2 (2 mVpp; the S-meter reads about −63.5 dBFS), 42 to 46 dB above the receiver's noise in 2.4 kHz and about 63 dB below full scale. The specification at K2 (full scale, noise, sensitivity, band-limiting, frequencies) stays. The manual's sections on the test front end, its card, the Uno's commands and its measurements are removed; the installation guide has a short section on connecting a front end. Screenshots of the application and the panel at 1.6.

With an I/Q front end, an IF of exactly 12 kHz is a quarter of the sample rate, where a front end's third-order products fold onto the image: for the deepest image rejection put the station near 10 kHz (see the manual).

Audio-DSP-Lab 1.5 — the SDR receiver

Choose a tag to compare

@andiepp andiepp released this 10 Nov 17:29

Audio-DSP-Lab 1.5 adds a seventh application: an SDR receiver backend from the IF on. A front end of your own delivers a real IF or I and Q to the line input K2; the ESP32 tunes, filters, runs the AGC and S-meter, demodulates AM, USB, LSB, CW or FM, reduces the noise and mutes with the squelch. The manual's chapter "The receiver" gives what the backend expects at K2 (full scale, noise floor, sensitivity, frequencies) so that a front end can be designed to it.

Downloads

  • Audio-DSP-Lab-1.5-windows-x64.zip: the Windows application (self-contained, no .NET needed), the board and panel firmware with the flash tool, the manual and the installation guide.
  • Audio-DSP-Lab-firmware-1.5.zip: the firmware alone.

Flash the board with Flash-Firmware.cmd, the front panel with Flash-Panel.cmd (see the installation guide). The board needs firmware 1.5 for the receiver; the other applications are unchanged.

What's new

Firmware 1.5, protocol 1 (new requests, events and errors only), application 1.5, panel firmware 1.5.

  • The receiver, application 0x07 (receiver, "SDR receiver"): an SDR receiver backend from the IF on, the receiver chain of the author's TMS320C6713 DSP-Box on the ESP32, defined at its input K2: a real IF on K2 left, or I and Q (I left, Q right), from your front end. At K2, in 2.4 kHz: full scale 2.98 Vpp (+2.7 dBu), noise-equivalent input 3.7 µV RMS (−106 dBu) per channel with I/Q and 5.4 µV RMS (−103 dBu) with an IF, 10 dB S/N at 12 and 17 µV RMS, a dynamic range of about 109 and 106 dB; the I/Q correction covers ±3 dB and ±10°, with an image rejection of its own above 130 dB. The IF or I and Q go untouched to the DSP's serial output; the ESP32 down-converts them to 12 kHz complex (DC removal, I/Q correction), filters the channel, runs a hang AGC with look-ahead and the S-meter, demodulates AM, USB, LSB, CW or FM, reduces the noise (LMS or spectral), mutes with the squelch and interpolates back to 48 kHz; the audio goes back to the DSP through the equalizer and volume to K3 and K4. Offset ±21 kHz, filter edges ±5.5 kHz; the internal test signal (tone, noise, keying, I/Q errors) for checks without a front end. 15 to 31 % of one core.
  • Channel filters of up to 511 complex taps, designed on the board from two edges and the stop band (Kaiser) in a background task and switched in without a click, run as a partitioned FFT convolution (RxChain.cpp at -O2, esp-dsp's FFT): a tenth of the direct form's time.
  • Firmware: the new DSP image DspImageReceiver.h from the SigmaStudio project sigmastudio/Receiver (the Radio project plus SerialOutL / SerialOutR from ADC0 / ADC1; recipe Receiver-Instructions.md). New requests meter (S-meter, AGC gain, FM offset, squelch, audio level, CPU load, spectral NR gain), rxfilter (the filter in force; load, data, end <crc32> for a filter designed on the PC, float32 values, CRC-32 as zlib's) and diag rx; the event ! meter, five times a second; new errors count-wrong, crc-wrong, not-loading. diag capture and diag record answer busy while the receiver runs.
  • Pots in the receiver: P1 the filter width (100 Hz to 11 kHz, logarithmic), P2 the NR level (0 to 30 dB), P3 the squelch (off over the first 5 %, then −130 to −30 dBFS), P4 the volume. With Last application the receiver comes up at power-up with its defaults (USB, offset +10 kHz) and its output on.
  • Application: a Receiver page with three views. Receiver: mode keys, the offset dial, which with the author's test front end (a QRP Labs module whose Si5351A an Arduino Uno with the author's sketch SDRFrontend 1.0 drives on its own USB port) becomes an RF dial that tunes the front end and the offset together, keeping the station 6 to 18 kHz above the front end and re-centring it at +10 kHz; the S-meter and meters, the filter, AGC, noise reduction, squelch, the input with its I/Q correction and Null image, the card for the test front end (port, LO drive, crystal correction), the equalizer. Filter: the channel filter's response with draggable edges and stop band, Measure with the test tone and the S-meter, the test tone. Designer: mask filters (bands at any gain, templates) designed on the PC and downloaded, CSV import and export, designs kept on the PC. The simulator runs the receiver and a simulated test front end; app/tools/RxTuneCheck checks the tuning on the bench.
  • Panel: a Receiver page: an offset dial of five digits (tap a digit, − and +, or drag along the dial), the S-meter bar with the squelch's mark and the AGC gain (the FM offset in FM), the squelch's dot, mode keys, width keys that suit the mode with a passband sketch, the noise reduction keys with the CPU load; the other values as tiles below. Home has seven application keys. USB command digit <n> for screenshots.
  • Docs: the manual's chapter "The receiver" (what the receiver expects at K2: inputs, full scale, noise and sensitivity, frequencies for an IF and for I/Q, band-limiting, I/Q balance, and what a front end should deliver; what you need, wiring, the three views, the pots, levels and sensitivity; the author's test front end with its card and the Uno's commands as an optional example), the receiver in the protocol, the front panel guide, Building and SigmaStudio; the Receiver project's recipe. With the author's test front end the receiver reaches about −108 dBm in 2.4 kHz (−102 dBm with the generator's own noise in the channel).

Audio-DSP-Lab 1.4 — serial terminals

Choose a tag to compare

@andiepp andiepp released this 25 Oct 10:15

Audio-DSP-Lab 1.4 makes the board work from any serial terminal, such as PuTTY or Tera Term, with their default settings.

Firmware 1.4, protocol 1 (requests may also end with CR; terminal mode), application 1.4, panel firmware 1.4. The application only changes its version number.

Downloads

File What it is
Audio-DSP-Lab-1.4-windows-x64.zip The Windows application (self-contained), the board's and the panel's firmware with their flash tools, and the documentation as Markdown and PDF
Audio-DSP-Lab-firmware-1.4.zip The firmware for the board and the panel with the flash tools alone

Not the "Source code (zip)": it holds the repository, without AudioDspLab.exe and the firmware images; download Audio-DSP-Lab-1.4-windows-x64.zip above.

Updating from 1.3

  1. Flash the board: firmware\Flash-Firmware.cmd COM5 (your board's port). Its stored settings stay.
  2. Flash the front panel, if you have one: firmware\Flash-Panel.cmd.
  3. Replace AudioDspLab.exe with the new one.

What's new

  • Serial terminals work. PuTTY and Tera Term send CR alone when you press Enter, but the board waited for an LF and stayed silent. A request may now end with CR, LF or CR LF.

  • Terminal mode. A request ending with CR alone tells the board that a person is typing. From then on, that port:

    • echoes what you type;
    • takes Backspace (BS from Tera Term, DEL from PuTTY);
    • ends its lines with CR LF, so every answer starts at the left.

    A request ending with LF, as the application, the panel and scripts send it, switches the port back. Each port keeps its own mode. Hosts that follow the protocol are not affected.

  • Over WiFi through the panel, a request may also end with CR.

  • Docs:

    • The manual's section on serial terminals shows where to set the port in PuTTY and Tera Term.
    • Protocol.md describes the line ends and terminal mode.
    • Opening the port with DTR and RTS both on, as these terminals do, does not reset the board.

See CHANGELOG.md for every change.

Licences

Audio-DSP-Lab is MIT-licensed. The board's firmware contains:

  • arduino-audio-tools and libhelix (GPL-3.0);
  • esp-dsp (Apache-2.0).

The panel's firmware contains LVGL (MIT). See THIRD-PARTY-NOTICES.md in the packages.

Audio-DSP-Lab 1.3 — the front panel's spectrum

Choose a tag to compare

@andiepp andiepp released this 25 Oct 08:44

Audio-DSP-Lab 1.3 improves the front panel's spectrum. In the THD and Spectrum views of the Analysis page, harmonics now stand out as spikes against a dB grid.

Firmware 1.3, protocol 1, application 1.3, panel firmware 1.3. The board's firmware and the application only change their version number; the changes are in the panel's firmware.

Downloads

File What it is
Audio-DSP-Lab-1.3-windows-x64.zip The Windows application (self-contained), the board's and the panel's firmware with their flash tools, and the documentation as Markdown and PDF
Audio-DSP-Lab-firmware-1.3.zip The firmware for the board and the panel with the flash tools alone

Not the "Source code (zip)": it holds the repository, without AudioDspLab.exe and the firmware images; download Audio-DSP-Lab-1.3-windows-x64.zip above.

Updating from 1.2

  1. Flash the front panel: firmware\Flash-Panel.cmd (the panel's port).
  2. Flash the board: firmware\Flash-Firmware.cmd COM5 (your board's port). Its stored settings stay.
  3. Replace AudioDspLab.exe with the new one.

Without a front panel, nothing changes for you. The update only keeps the versions level.

What's new

  • The whole spectrum on the panel. The THD and Spectrum views now draw all 256 of the board's spectrum points instead of 64. Each point is the strongest FFT bin in its stretch, so every harmonic stands out as a spike of its own.
  • A dB scale on the panel's spectrum. The scale runs from 0 to −120 dBFS (it was −140), with a grid line every 20 dB, labelled −20, −60 and −100.
  • A taller plot while measuring. The values take the tiles' place in a smaller font, so the plot grows into the room they leave.
  • No more gaps in the panel's spectrum. The panel's receive buffer now holds a whole spectrum answer, 16 KB instead of 4 KB. Before, points could get lost while the screen was drawing, and the plot showed a straight line across them. An answer with a line missing now keeps the spectrum already on screen.
  • Grid lines in the panel's plots (equalizer, analysis, synthesizer) are a little brighter.
  • Docs: the panel's screenshots of THD and Spectrum are new, and the manual and the front panel guide describe the new scale.

See CHANGELOG.md for every change.

Licences

Audio-DSP-Lab is MIT-licensed. The board's firmware contains:

  • arduino-audio-tools and libhelix (GPL-3.0);
  • esp-dsp (Apache-2.0).

The panel's firmware contains LVGL (MIT). See THIRD-PARTY-NOTICES.md in the packages.

Audio-DSP-Lab 1.2 — analysis with THD and spectrum

Choose a tag to compare

@andiepp andiepp released this 22 Oct 08:59

Audio-DSP-Lab 1.2 turns the response analyzer into Analysis: a Frequency Response, THD and Spectrum part. It also gives the DSP its true clock, and the manual gains a mechanical design chapter.

Firmware 1.2, protocol 1 (new requests and events only), application 1.2, panel firmware 1.2.

Downloads

File What it is
Audio-DSP-Lab-1.2-windows-x64.zip The Windows application (self-contained), the board's and the panel's firmware with their flash tools, and the documentation as Markdown and PDF
Audio-DSP-Lab-firmware-1.2.zip The firmware for the board and the panel with the flash tools alone

Not the "Source code (zip)": it holds the repository, without AudioDspLab.exe and the firmware images; download Audio-DSP-Lab-1.2-windows-x64.zip above.

Updating from 1.1

  1. Flash the board: firmware\Flash-Firmware.cmd COM5 (your board's port). Its stored settings stay: WiFi networks, stations, your SigmaStudio program.
  2. Flash the front panel, if you have one: firmware\Flash-Panel.cmd. Board and panel of the same release belong together.
  3. Replace AudioDspLab.exe with the new one.
  4. Keep the Frequency Response reference again. A reference kept with 1.1 was measured at the DSP's old, wrong clock.
  5. For THD and Spectrum, the board needs the analysis' DSP program with its serial output. The firmware carries it; nothing to do in SigmaStudio.

What's new

  • The DSP's clock is right now. Firmware 1.0 and 1.1 gave the ADAU1701 24.576 MHz instead of 12.288 MHz, because the ESP32's MCLK pin carries the APLL, which runs at twice the port's MCLK. The DSP ran at twice its rating, and its converters made sporadic single-sample errors. Now:

    • the DSP samples at 48 kHz with its core at 96 kHz;
    • all DSP frequencies are computed for that rate;
    • a K3→K2 loopback measures about 0.016 % THD;
    • the Frequency Response is flat within 0.3 dB from 20 Hz to 20 kHz.

    If you run your own SigmaStudio programs, they now run at the rate SigmaStudio assumes.

  • Analysis (formerly Response) has three parts, in the application (Measure), on the panel (the Resp / THD / Spec key) and in the protocol (the application's word stays analyzer):

    • Frequency Response: the sweep, as before.

    • THD: plays a tone and measures what returns on the line input, continuously, about every 1.6 s. For each channel you get:

      • the fundamental's level;
      • THD (H2 to H10) and THD+N (20 Hz to 20 kHz);
      • each harmonic;
      • the spectrum.

      It uses an 8192-point FFT with a Blackman-Harris window and averages 4 captures. New: thd, harmonics, spectrum points, ! thd.

    • Spectrum: measures what comes in without a tone of its own. It gives the RMS from 20 Hz to 20 kHz and the five strongest peaks per channel. The board's open input measures about -97.5 dBFS. New: spectrum, spectrum peaks, ! spectrum.

  • On the front panel, the spectrum is drawn below the keys. While THD or Spectrum measures, its values take the place of the settings tiles:

    • THD: the tone's frequency, then THD, THD+N and the level of each channel;
    • Spectrum: the RMS and the strongest peak of each channel.

    Stop brings the tiles back.

  • How the samples get to the ESP32. The analysis' DSP program sends both line inputs untouched to the DSP's serial output (MP6, clocks on MP10/MP11). The ESP32 receives them on its second I2S port (GPIO32, 13, 19). It needs about 82 KB of heap while it measures, so it also runs after the radio has played. New errors: busy, no-memory, no-clock.

  • Mechanical design. A new manual chapter covers the 3D-printed enclosure for the board and the front panel:

    • the STL files in CAD;
    • photos of the built unit: the box on its own, all the parts, the empty panel case with the connector between box and panel, and the complete assembly;
    • drawings of the parts;
    • how to wire the USBi socket and the panel's 5 V supply.
  • Front panel: the panel lets go of its TX line when the board loses power. It no longer half-powers an unplugged board.

  • Board: a failed EEPROM read is retried after freeing the I2C bus. Also new are the diagnostics diag heap, diag boot, diag clocks, diag capture, diag record, diag thd-test and diag blocks.

  • Docs:

    • The overview drawing now includes the front panel.
    • The front panel chapter is self-contained.
    • The installation guide has a first measurement.
    • All documents name the project's home, github.com/andiepp/Audio-DSP-Lab.

See CHANGELOG.md for every change.

Licences

Audio-DSP-Lab is MIT-licensed. The board's firmware contains:

  • arduino-audio-tools and libhelix (GPL-3.0);
  • esp-dsp (Apache-2.0).

The panel's firmware contains LVGL (MIT). See THIRD-PARTY-NOTICES.md in the packages.

Audio-DSP-Lab 1.1 — front panel and WiFi control

Choose a tag to compare

@andiepp andiepp released this 18 Oct 17:56

Audio-DSP-Lab 1.1 adds a touch front panel for the Elektor Audio-DSP-FX board and WiFi control through it.

Firmware 1.1, protocol 1 (new requests and events only), application 1.1, panel firmware 1.1.

Downloads

File What it is
Audio-DSP-Lab-1.1-windows-x64.zip The Windows application (self-contained), the board's and the panel's firmware with their flash tools, and the documentation as Markdown and PDF
Audio-DSP-Lab-firmware-1.1.zip The firmware for the board and the panel with the flash tools alone

Updating from 1.0

  1. Flash the board: firmware\Flash-Firmware.cmd COM5 (your board's port). Its stored settings stay: WiFi networks, stations, the analyzer's reference, your SigmaStudio program.
  2. Replace AudioDspLab.exe with the new one.

What's new

  • The front panel. An ESP32-2432S028R ("CYD", 2.8", 320 × 240, resistive touch) on a three-wire cable to the board runs every application without a PC:

    • the home screen, and a settings screen (pot control, power-up, brightness);
    • each application's parameters as tiles with a value editor, and the output switch;
    • a knob strip in the knob colours; tap a knob to set what its pot plays;
    • the equalizer's curve;
    • station keys with names and the stream title for the radio;
    • Start/Stop, progress, a plot and a measurement cursor for the analyzer;
    • section keys with the filter's and the envelopes' graphs for the synthesizer.

    It connects by itself and follows changes from the pots, the PC application and scripts live. Wiring: CYD GPIO22 → board GPIO37, CYD GPIO35 ← board GPIO4, GND. Flash it with firmware\Flash-Panel.cmd. See the front panel guide.

  • WiFi control. The panel joins the WiFi networks the board keeps for its radio and lets the PC application work over WiFi, on TCP port 7000 (audio-dsp-lab.local). Set it up in the application's WiFi networks dialog (section Front panel, then Use for connecting); the port list then offers Network:

    . The WiFi passwords never leave the board over the network.

  • The board's panel port. A second protocol port (UART2, 115200 baud), side by side with USB; a value one host sets reaches the other as an event. New in the protocol: panel, wifi secrets (panel port only), ! wifi, ! panel.

  • The manual has a chapter on the front panel, with screenshots taken from the panel itself.

Licences

Audio-DSP-Lab is MIT-licensed. The board's firmware contains arduino-audio-tools and libhelix (GPL-3.0); the panel's firmware contains LVGL (MIT). See THIRD-PARTY-NOTICES.md in the packages.

Audio-DSP-Lab 1.0

Choose a tag to compare

@andiepp andiepp released this 17 Oct 18:36

First public release: six audio instruments for the Elektor Audio-DSP-FX board (ADAU1701 DSP + ESP32), run from a Windows PC over USB.

Firmware 1.0, protocol 1, application 1.0. For the ESP32-PICO-KIT V4 (PICO-D4) and the ESP32-PICO-KIT-1 (PICO-V3); the firmware detects which one it runs on.

Downloads

File What it is
Audio-DSP-Lab-1.0-windows-x64.zip The Windows application (self-contained, no .NET install needed), the firmware with its flash tool, and the documentation as Markdown and PDF
Audio-DSP-Lab-firmware-1.0.zip The firmware and its flash tool alone

Getting started

  1. Unzip the Windows package.
  2. Flash the firmware: in the firmware folder, run .\Flash-Firmware.cmd COM5 (your board's port). It keeps the board's stored settings; -Erase clears them.
  3. Start AudioDspLab.exe, choose the port and Connect. No board at hand? Choose Simulator (demo).

The installation guide covers the jumpers and the flash tool, the manual every application.

What's in it

  • Generator: sine, rectangle, triangle, saw, inverse saw and noise, 20 Hz to 20 kHz, −60 to 0 dBFS, band-limited, with a width for the rectangle (pulse) and the triangle (rise).
  • Equalizer: bass, middle and treble with adjustable frequencies on the line input.
  • Radio: MP3 internet radio over WiFi through the equalizer; eight editable stations. WiFi networks are entered from the PC and kept on the board; no credentials are compiled into the firmware.
  • Response analyzer: sweeps a device under test, with a reference to subtract the board's own response.
  • SigmaStudio mode: runs your own SigmaStudio programs; the pots go to the DSP's auxiliary ADC.
  • Synthesizer: Minimoog-style and monophonic: three oscillators, ladder filter, two envelopes, two LFOs, glide, played from any MIDI keyboard. Graphs show the filter's response and the envelopes.
  • The pots play each application's main values (P1 to P4, colour-coded in the window); switching Pot control on takes their positions at once.
  • The window: one page per application, stored settings, a protocol console, a built-in board simulator, and three themes (Classic, Studio dark, Studio light).
  • A text protocol on the USB serial port (921600 baud) with self-describing parameters and events: use it from a terminal or a script. A Python client is in tools/adl.py.

Licences

Audio-DSP-Lab is MIT-licensed. The compiled firmware contains arduino-audio-tools and libhelix (GPL-3.0); see THIRD-PARTY-NOTICES.md in the packages.