-
1Gather required hardware
See the components list for the hardware necessary to use DSP PAW. You will also need a computer running either Windows or a Linux-based operating system.
-
2Download required software
Windows
Download and install the programs listed below. You should ensure that all of these programs are added to your PATH.
- git: https://git-scm.com/downloads
- The arm-none-eabi GCC toolchain: https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
- OpenOCD: https://openocd.org/pages/getting-openocd.html
- make:
https://gnuwin32.sourceforge.net/packages/make.htm
Linux
You will need the same programs listed above, though it would make more sense to go through your distribution's package manager to obtain them. On Debian-based systems, the following command should work:
sudo apt install git gcc-arm-none-eabi openocd make
- git: https://git-scm.com/downloads
-
3Obtain and compile the microcontroller firmware
Open a terminal or command prompt in the folder or directory where you would like to keep the DSP PAW firmware files.
Use git to download the DSP PAW source package:
git clone https://code.bitgloo.com/bitgloo/dsp-paw.git cd dsp-paw
Next, use git to fetch the project’s submodules (i.e. third-party dependencies):
git submodule update --init --recursive
You can now enter the firmware directory and compile the source code:
cd firmware make
This should produce a directory named “build” which contains the file “ch.hex” (among others). This is the compiled firmware file that will be programmed onto the microcontroller.
-
4Program the microcontroller with the DSP PAW firmware
Plug the NUCLEO board into the computer's USB port.
With a terminal or command prompt open in the firmware directory, it should be possible to program the NUCLEO with a single command:
openocd -f interface/stlink.cfg -f target/stm32l4x.cfg -c "program build/ch.hex verify reset exit"
Ensure that the command completes successfully.
-
5Connecting the DSP PAW add-on board
You should now have a programmed NUCLEO board and an assembled DSP add-on board.
First, set jumper JP5 on the NUCLEO (next to the reset button) to E5V so that the add-on board powers the microcontroller.
Second, remove the SB57 jumper on the back side of the NUCLEO board. This is a jumper resistor which will require desoldering.
Finally, stack the add-on board onto the NUCLEO. The board aligns with the NUCLEO's Arduino header, and should make for an easy fit.
You can now plug a USB cable into the add-on board to power everything up. If set up correctly, the status LED should go white for a couple seconds, followed by a steady green blink.
-
6Setting up the IDE
The source code for the IDE is included in the dsp-paw repository, kept inside the gui folder.
On Linux, you will need to compile the source code yourself. This requires GCC, make, and development libraries for SDL2.
For Windows, pre-compiled binaries will be made available on the DSP PAW repository website, under the Releases section. Otherwise, you may also compile the source code.
With the prerequisites installed, simply run make to compile the code. The result will be an executable named stmdspgui.
-
7Testing the connection between the hardware and GUI
With the IDE running and the hardware connected to the computer through the add-on board USB port, you can test the USB connection by opening the "Device" menu and choosing "Connect". The GUI's log should say "Connected!" if successful.
If you have issues on Linux, confirm that your user has permissions to access the device (e.g. /dev/ttyACM0).
-
8Next steps
You are ready to work with DSP PAW!
The "File" menu of the GUI has some algorithm examples that you can read through.
Keep an eye on the repository website too for wiki pages or other documentation on using DSP PAW. In the meantime, there are some older wiki pages on the old GUI repo that you can check out.
-
9Next steps: Connecting input signals and viewing output signals
Input signals can be connected through either the 0.1"-pitch header or the 3.5mm jack. The input and output ports support a +/- 2V range, so most signal generators or audio sources should be acceptable. If you do not have an external input source available, you can use the on-board signal generator. Simply wire together the generator output's and signal input's positive and negative pins, then configure the generator through the IDE.
The output signal can be analyzed with an oscilloscope through the 0.1"-pitch header, listened to through the 3.5mm jack (capable of driving small speakers and headphones), or captured through the IDE. There are two possibilities with the IDE: recording the output samples to a comma-separated (.csv) file, or showing the output signal in real-time through the "Draw samples" window. More notes on using the IDE are available in the IDE's wiki.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.