• WANTED: Happy members who like to discuss audio and other topics related to our interest. Desire to learn and share knowledge of science required. There are many reviews of audio hardware and expert members to help answer your questions. Click here to have your audio equipment measured for free!

RPi4 + CamillaDSP Tutorial

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
976
Likes
1,000
Location
Germany
Anyone have a Topping DM7 config file?
I guess the OktoDAC config file should work with the DM7 as well since both are 8 channel DACs.
You just need to change the name of the capture device.
 

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
Thanks @juliangst and @mdsimon2. I'll give that a try when I receive my DM7.

For anyone having trouble locating components or looking for Amazon alternatives:

USB panel mount - no adapter needed (USB-C male to USB-A female)
5.5mm x 2.1mm DC female panel mount - these are prefab 18awg and will mount in an 8mm hole
6v 4a power supply - have not had any voltage issues with this set at 6v - using with this on/off switch
Netac 250GB SSD - for those wanting a "real" (and external) drive instead of SD card
Breadboard jumper wires - 12" female to female, 20awg
 
Last edited:
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
From this pic it looks like there are small spacers used in mounting the OLED but I don't see that mentioned in the text?

Good spot. That is from an earlier version where I only had 6 mm screws which are too long so I used some 3 mm spacers to make it work.

You bring up a good point though, I have several faceplates and most are OK with 5 mm long screws with no spacers but some do not quite have enough thread depth for a 5 mm screw. I've revised the instructions to a show a 3 mm screw which will be much more forgiving of thread depth variations while still having enough thread engagement.

Michael
 
Last edited:

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
Is there a way to quickly test the OLED without finishing the whole CamillaDSP setup?
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Is there a way to quickly test the OLED without finishing the whole CamillaDSP setup?

Sure, try the attached routine. It uses rpi-gpio and is the same as normal oled routine but all CamillaDSP references have been removed and hardcoded values for each part of the display are used. It doesn't have any time out so the display will remain lit as long as the routine is running.
 

Attachments

  • oled-test.py.zip
    9.3 KB · Views: 27

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
Sure, try the attached routine. It uses rpi-gpio and is the same as normal oled routine but all CamillaDSP references have been removed and hardcoded values for each part of the display are used. It doesn't have any time out so the display will remain lit as long as the routine is running.
It worked but the display is scrambled.

IMG_3851.jpeg

What am I supposed to see?
 

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
That's weird I rebooted it to clear the display and now it doesn't work with oled-test.py
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Very odd, not only does it look scrambled but it is inverted. Here is what I see.

1679801777887.jpeg


Given that it is scrambled it almost makes me think the pixel counts are different. And the inversion makes me think it might be mounted upside down or the underlying controller is different. I assume you are using the exact display linked in the tutorial, spec'd as 6800 parallel? It doesn't look like there have been any changes to the data sheet since 2013.

Michael
 

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
Given that it is scrambled it almost makes me think the pixel counts are different. And the inversion makes me think it might be mounted upside down or the underlying controller is different. I assume you are using the exact display linked in the tutorial, spec'd as 6800 parallel? It doesn't look like there have been any changes to the data sheet since 2013.
After comparing to your pics, it is definitely mounted upside down, however, if I don't mount it that way part of the display is covered by the panel (unless I invert the panel so that FLIRC is on the left). The only difference between what you linked to and what I ordered is that I ordered the blue one. I ordered it with the "Pin Header Connection-6800 8-bit Parallel +US$0.59" interface.

I have not been able to get it to turn back on after that first time so I'm not sure what's going on. I've double checked the pins multiple times but will do it again tomorrow.
 
Last edited:
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
After comparing to your pics, it is definitely mounted upside down, however, if I don't mount it that way part of the display is covered by the panel. The only difference between what you linked and what I ordered is that I ordered the blue one. I ordered the "Pin Header Connection-6800 8-bit Parallel +US$0.59" interface.

I have not been able to get it to turn back on after that first time so I'm not sure what's going on. I've double checked the pins multiple times but will do it again tomorrow.

After looking at your picture the issue is that your faceplate is incorrect. There should be less space between the top of the display and the top of the faceplate than the bottom of the display and the bottom of the faceplate. Did modushop do the machining? You could solve it by rotating the faceplate, only difference is your FLIRC receiver will be on the left side.

In terms of the display the only thing that seems out of the ordinary so far is the slightly over voltage power supply but that certainly doesn't explain the garbled text. I've never run in to a garbled text issue but I have had issues where the display is blank and I think the wiring is correct but I have one connection somewhere that is incorrect and I can't find it. I've always found it best to remove all the wiring and just start over.

Assuming you can get it lighting up again probably best to start very simple and do some troubleshooting. Imagine the issue has something do with pixel count / numbering, for example in the existing code the column address doesn't start at 0x00, it actually starts at 0x1C, this seems very consistent across all SSD1322 sample code I've seen so I'd be surprised if this changed but it might be something like that.

I'd be happy to help you troubleshoot via PM. To get you started here is an even simpler routine that should print a single line of text in roughly the center of the screen saying "Hello World". If we observe how this ends up it might give us some clues.

Michael
 

Attachments

  • oled-test-simple.py.zip
    9.3 KB · Views: 28
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
That's weird I rebooted it to clear the display and now it doesn't work with oled-test.py

Were you trying to run it as a service or just running it from the command line? For future trouble shooting I would NOT run a service but run it from the command line "python3 oled-test.py". To stop running the routine just enter ctrl + C from the command line. I even wonder if you start / stop / start the routine from the command line it fix the garbled text.

I remember in the very early stages of working with displays I had white pixelated background when attempting to run a routine from the command line for the first time that cleared by starting / stopping the routine but I was almost messing around with a lot of different parameters at the time. I haven't seen that in the version I am using now that ties in to CamillaDSP.

Michael
 

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
Did modushop do the machining?
Yes, but I ordered from diyAudio Store.

You could solve it by rotating the faceplate, only difference is your FLIRC receiver will be on the left side.
This is what I ended up doing:

IMG_3865.jpeg


I actually like this better because it cleans up the cabling a little bit.

In terms of the display the only thing that seems out of the ordinary so far is the slightly over voltage power supply but that certainly doesn't explain the garbled text.
I actually tried it at 5v (it's a universal PS) and all that did was introduce voltage issues (I think that is what the periodically blinking red light means?).

I've always found it best to remove all the wiring and just start over.
I ended up doing this on the RPi side and now it works:

IMG_3871.jpeg


For future trouble shooting I would NOT run a service but run it from the command line "python3 oled-test.py".
That's how I did my testing after stopping/disabling the service.

Thanks for all the help. Now I play the waiting game for my DM7 to arrive.

->g.
 
OP
M

mdsimon2

Major Contributor
Forum Donor
Joined
Oct 20, 2020
Messages
2,515
Likes
3,369
Location
Detroit, MI
Yes, but I ordered from diyAudio Store.


This is what I ended up doing:

View attachment 274951

I actually like this better because it cleans up the cabling a little bit.


I actually tried it at 5v (it's a universal PS) and all that did was introduce voltage issues (I think that is what the periodically blinking red light means?).


I ended up doing this on the RPi side and now it works:

View attachment 274952


That's how I did my testing after stopping/disabling the service.

Thanks for all the help. Now I play the waiting game for my DM7 to arrive.

->g.

Awesome, looks great!

If you want to use longer standoffs / screws for the FLIRC I've found that it works great even if the front of the FLIRC is flush with the faceplate.

Michael
 

glc650

Active Member
Joined
Jun 30, 2021
Messages
190
Likes
68
If you want to use longer standoffs / screws for the FLIRC I've found that it works great even if the front of the FLIRC is flush with the faceplate.
Yea, don't remind me. I've been trying not to let it bother me but it looks like I need a 1-2mm longer spacer to make it flush. McMaster here I come.
 

sarieri

Senior Member
Forum Donor
Joined
Mar 1, 2023
Messages
333
Likes
216
Does anyone know if there is an elegant way of using REW with camilladsp? I have two main speakers and one sub but REW only allows two output at the same time. How do people verify their results? I can assign L channel to sub and R channel to mains but if done this way, left and right speakers cannot be calibrated separately. Many rooms have doors on one side and might need some calibration. I understand that it is possible for REW to generate some sweep file and play it externally to measure it, but my microphone is a line in microphone. I am using camilladsp in USB gadget mode.
 

juliangst

Addicted to Fun and Learning
Joined
Dec 11, 2021
Messages
976
Likes
1,000
Location
Germany
Does anyone know if there is an elegant way of using REW with camilladsp? I have two main speakers and one sub but REW only allows two output at the same time. How do people verify their results? I can assign L channel to sub and R channel to mains but if done this way, left and right speakers cannot be calibrated separately. Many rooms have doors on one side and might need some calibration. I understand that it is possible for REW to generate some sweep file and play it externally to measure it, but my microphone is a line in microphone. I am using camilladsp in USB gadget mode.
If you have a Pi 4 you can use it's USB gadget mode and connect your PC to the Pi directly.
You only need a USB C power splitter and make the Pi function as a USB Gadget device in the boot config.
CamillaDSP will appear as a normal output device in Windows audio.

One easier method I did was just using EQ APO to confirm the results and load the impulse response into CamillaDSP
 
Top Bottom