piHPSDR MIDI Console

78 views
Skip to first unread message

Łukasz Radzikowski

unread,
Mar 30, 2026, 1:00:49 PM (2 days ago) Mar 30
to Radioberry

I’ve built a simple MIDI control console for piHPSDR based on RP2040.

Features:

  • 16-button matrix keypad (4×4)

  • 5 rotary encoders (with push buttons)

  • “Shift” function via encoder press (encoders 2–5 act as additional virtual encoders)

  • USB-MIDI device (plug & play)

The console is very easy to configure in piHPSDR using its built-in MIDI learning function — every button and encoder can be assigned to any function.

For VFO control I used a CNC handwheel encoder (modified for smooth rotation), plus standard low-cost encoders for the rest.

Project (open source, build + pinout included):
https://github.com/SQ5BAR/piHPSDR-MIDI-Console/

73, SQ5BAR

Message has been deleted

Wim PE1PWR

unread,
Mar 30, 2026, 2:26:03 PM (2 days ago) Mar 30
to Radioberry

I have made it to and its works great.

Wim de PE1PWR 73s



Op maandag 30 maart 2026 om 19:00:49 UTC+2 schreef Łukasz Radzikowski:

Hank Wolfla

unread,
Mar 30, 2026, 3:00:50 PM (2 days ago) Mar 30
to Hank Wolfla, Radioberry
I am having problems loading software into my pi4.  When it comes to the install the software the program it can’t execute the install program. Any suggestions.  Hank Wolfla. K9LZJ

Sent from Gmail Mobile


--
You received this message because you are subscribed to the Google Groups "Radioberry" group.
To unsubscribe from this group and stop receiving emails from it, send an email to radioberry+...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/radioberry/51111248-7928-4a6e-bec4-1a0ffb981fe6n%40googlegroups.com.

Łukasz Radzikowski

unread,
Mar 30, 2026, 3:33:51 PM (2 days ago) Mar 30
to Radioberry

Hi Hank,

Could you share some installation logs here?

In particular, it would be helpful to see the full output from the build process and any messages shown when uploading the firmware or connecting the device. If possible, please include information about your setup (operating system, toolchain, and any modifications you made), as well as any errors or warnings you encountered. This will make it much easier to diagnose the issue.

P.S. I’ve added a precompiled firmware file (rbc_midi_pico.uf2) to the build directory in the GitHub repository. The compiled file is fully functional, and I’ve also shared the source code as a base for further development if you’d like to modify or extend it.

If you don’t plan to make any changes, you can download this file and copy it directly to the RP2040 Pico (do not confuse it with the Raspberry Pi 4 — they are different devices). Before doing so, put the board into mass-storage mode by holding the BOOTSEL button while plugging it into USB. After that, you can drag and drop the rbc_midi_pico.uf2 file directly onto the RPI-RP2 drive. You can perform this file copy on any computer without installing the Pico SDK.

73 Łukasz
SQ5BAR

Łukasz Radzikowski

unread,
Mar 31, 2026, 6:28:05 AM (yesterday) Mar 31
to Radioberry

The circuit shows a control console based on the RP2040 Pico, equipped with a 4×4 button matrix (16 buttons) and 5 rotary encoders. The first encoder is used for VFO control and does not include a push button, while the remaining encoders have integrated push buttons. The buttons are connected in a matrix to reduce the number of GPIO pins used, while the encoders use separate signal lines (CLK, DT, SW) to detect rotation direction and button presses.

The system is powered from the Pico’s 3.3 V supply, with a common ground for all components. The microcontroller scans the button matrix, reads the encoders, and sends MIDI messages via USB to the host device. The console can be connected to a Radioberry and used with piHPSDR, or directly to a computer and used with openHPSDR or any other SDR software that supports MIDI controllers.

If any encoder operates in the wrong direction, simply swap the CLK and DT lines.

The wiring diagram is attached for reference.


Zrzut ekranu z 2026-03-31 12-15-01.png

Negativ Zero

unread,
Mar 31, 2026, 6:38:31 AM (yesterday) Mar 31
to Łukasz Radzikowski, Radioberry
Excellent job Lukasz,and tnx so much,appreciate that.
If i understand correctly,you haven't pcb...obviously 2.54mm raster universal pcb.
For info you can find last version PIHPSDR -- 2.7 on net.
I use 2.6 with my GUI mod(,just some things).
MANNY THANKS my friend,and happy Easter!

Łukasz Radzikowski

unread,
Mar 31, 2026, 7:03:09 AM (yesterday) Mar 31
to Radioberry

Hi Negativ Zero,

Thank you for your kind words :)

Yes, I don’t have a dedicated PCB as such — I used a standard 2.54 mm perfboard. I made a simple PCB just for the buttons; the rest is wired point-to-point.

If you design a PCB for this, maybe you could share it with others?

My Radioberry MIDI Console looks like this:

Zrzut ekranu z 2026-03-31 12-58-39.png

Best regards,
Łukasz SQ5BAR

Dave Lapp

unread,
11:03 AM (7 hours ago) 11:03 AM
to Radioberry
Hi,

I'm curious how you did the square caps on your buttons.  How are they attached to the switch top?  Can you share some pictures that show the details?

Thanks, 
Dave L 

Łukasz Radzikowski

unread,
12:36 PM (6 hours ago) 12:36 PM
to Radioberry
Hi Dave,

I’ve just uploaded the 3D models of the display frame, the console frame (for buttons and knobs), and the button itself to GitHub. There’s a built-in 3D model viewer, so you can inspect each part from every angle. Feel free to use them as you like!

In the project, I used standard 12×12 mm tact switches mounted on a universal prototyping board with a 2.54 mm pitch. The 3D-printed button caps (made from black TPU for a softer feel) are glued directly onto the switches. The labels were made as laser engravings on silver engraving laminate.

The central knob is a CNC handwheel available on Chinese marketplaces for around a dozen euros. I removed the internal “clicking” mechanism (it is easily accessible from the front after removing the cover). Inside, there is a spring-loaded ball bearing, which makes the movement very smooth. I ordered the 5V version, but it works perfectly well at 3.3V.

The remaining knobs are inexpensive, widely available encoder modules with built-in pull-up resistors, and the knobs themselves are also easily available from Chinese marketplaces.

Due to the spatial mounting on the frame, I decided not to design a dedicated PCB. It doesn’t look particularly great—definitely not for the faint-hearted :)—so I’ll spare you the photos. Just kidding.

Best regards,  
Lukasz  
SQ5BAR
Reply all
Reply to author
Forward
0 new messages