CPU Board

Updated May 2025

Installing the Firmware: Current version is V30 May 2025

The small button on the Raspberry Pi Pico (Note the small white button in this picture) is called the BOOTSEL Button. It’s used to enter the bootloader mode, which is necessary for flashing new firmware onto the Pico. When connected to a computer via USB while holding the BOOTSEL button, the Pico will appear as a USB mass storage device, allowing you to drag and drop the firmware (usually a .uf2 file) onto it

  • These instructions are for a Windows PC type computer (Desktop/Laptop etc).
  • To program the Pi Pico a standard type USB to computer cable will be needed (A phone charging/data cable). Just to confuse things, some cables are only charging cables (2-wire) ! You need a data cable (2-wire)). Pi Pico boards can also come with different USB connectors, either USB Micro or USB Type C. See the picture below. USB Type C is the more modern and is becoming the standard.
  • The firmware can obtained by emailing me and I will email you the .UF2 file. Find the email address on the Contact page.
  • If the Pi Pico is unplugged from the CPU Board, all the better. Otherwise ensure that the CPU board / Radio is not powered up.
  • Press and hold the BOOTSEL button on the Pi Pico and plug in the USB cable to the computer. (By pressing the button this forces the Pi Pico into UF2 mode (also called Bootloader mode or Programming Mode). Release the Pi Pico button. (There will be no LEDs lit on the Pi Pico or other indication it has power from the computer).
  • A the Pi Pico is connected to the computer, the computer will make a audible announcement sound and an Windows Explorer pop-up window will appear. The PI Pico is now acting as a memory stick would. There will be two files showing in the pop-up window on the computer display: INDEX.HTM and INFO_UF2.TXT
  • Next, ‘drag and drop’ or ‘copy / paste’ the UF2 Firmware File (It will be named HamPi_Pi_Pico_v33.ino.uf2 for V33) you received to the PI Pico Explorer folder.  Wait and the file will be automatically download to the Pi Pico. The firmware will automatically install itself and then the Pi Pico will reset and run the new firmware. The Firmware File HamPi_Pi_Pico_v33.ino.uf2 (eg) file will disappear from the folder on the computer.
  • The USB cable can now be disconnected and the Pi Pico powered on and used.
  • Note: When the Pi Pico is now powered on a LED will flash intermittently.

Features in full

  • 1 x Raspberry Pi Pico. The Raspberry Pi Pico is high-performance microcontroller board with an RP2040 Dual-core Arm Cortex M0+ microprocessor clock running at 133 MHz. (Designed by Raspberry Pi in the United Kingdom). This project uses the standard Raspberry Pi Pico. (A Raspberry Pi Pico W will work, but the WiFi is disabled)
  • 20 button Keypad (a sub board with 6-wire connection see below for picture)
  • 3.2″ TFT colour display that fits on the rear of the CPU PCB.
  • Digital logic and radio function control interfaces.
  • A main Tuning and Function Rotary control that plugs in to the TUNE connector on the CPU PCB. This rotary control is a 400ppr (Pulse per revolution) device and has a lovely smooth tune and spin action.
  • An on board USB 4 port hub for interaction to a PC (etc) using USB for a) CAT control (CAT software to follow). b) USB audio, c) a Waterfall digital interface and any other desired USB device.
  • A sturdy USB-Up USB-B connection to a desktop / laptop and fits on the rear panel. USB-Up means the connection between a USB Hub and the computer connected.
  • An optional connector for an external CW Decoder PCB using a PCI controller, if found necessary. CW Decoder firmware might work internally on the P Pico.

Construction

Build time: Keypad Board less than 1 hour, CPU Board less than 1.5 hours, Mounting onto the Front Panel 1 hour

Read ALL of the construction notes carefully before proceeding to get a good understanding.

Construction and mounting of the Keypad

Above: The Kepypad PCB

CPU Board – Hand fitted parts list

Reference #QuantityCircuit Id.PartDescriptionComment
120Push Buttons
220Push Button Caps
31J16 pin header
Non Soldered PartsQuantityPartDescriptionComment
14M3 Screw 12mm longBlack head domes as standard
246mm M3 hex brass threaded spacers
34M3 nuts
416 way flat cablewith 6 pin female header each endTo CPU Board connector J7

1. On this Keypad PCB there are 20 push buttons and one 6 pin IDC plug that have to be hand soldered.

2. All resistors and capacitors are SMD and supplied mounted on the Kaypad PCB

3. Mount and solder the 20 push buttons. They fit on the front side of the PCB (See centre picture) along with the other SMD mounted components. Be especially careful to ensure these buttons are mounted firmly and completely flat against the surface of the PCB. There are 4 connections on each button. Initially solder 2 opposite connections on each button. Next, check again that the buttons are completely flat and straight on the PCB. Next solder the other two of the four connections of each button. If all buttons are mounted and soldered correctly in this way they will operate correctly and not interfere with the holes in the Front Panel. If there are any tiny interferences when fitting the Front Panel, they can be carefully file the side of any particular holes in the Front Panel with a needle file. Press each of the 20 buttons, they should click and click again on release and move freely without sticking.

4. Fit and solder a 6 pin IDC to the REVERSE of the Keypad PCB (See picture above right). When connecting to the CPU Board using the 6 way flat cable, be careful to observe the orientation of the connector. Connect the BLACK wire to Pin 1 on both ends, I.E. on both the Keypad and the CPU Board connector J7.

5. Thee keypad can now be mounted to the Front Panel:

6. Fit three LED Lenses for RX, TX and OnAir in the 3 holes on the front of the Front Panel.

7. For the Front Panel you can use whatever M3 screws you like. Both black painted flat-head Pozidriv and Hex Drive screws also look good.

8. The keypad then mounts to the Front Panel using 4 x M3 x 12mm screws with 4 x 6mm M3 hex brass threaded spacers and 4 x M3 nuts. First the screws through the 4 x holes in the Front Panel. Next the 6mm spacers, then the Keypad PCB and lastly the 4 x M3 nuts. Ensure the correct orientation, the 6 pin connector goes next to the Tune / Function Rotary Encoder.

Construction and mounting of the CPU Board and TFT Display

A constructed CPU Board (Central Processing Unit). The highlighted pares are mostly self explanatory. IDC connectors are for connection to the other three boards. BPF (Bandpass Filter Board, 16way), PA (Power Amplifier, 20 way) and Radio Board (26 Way). Be sure to solder in place observing the correct orientation, with the slot / key to the top.

  1. A 320 x 240 3.2″ COLOUR TFT display is now the only display option. It uses the ILI9341 MCU IC and connects on the REVERSE side of the board to the 14 pin connector marked TFT.
  2. If you are not using the HamPiRadio front panel / case you can mount the TFT Display remotely from the CPU PCB using a ribbon cable.
  3. Most parts are SMD and come already fitted.
  4. Fitting hand mounted parts: Fit small and low parts first, and high parts such as IDC Connectors and electrolytic caps last, as they are easy to burn with the side of a soldering iron.
  5. The TFT socket strip is mounted on the REAR of the board using a socket strip which is 8mm high. Solder this on the reverse of the board. (See photos on this page). The TFT Display plugs into this socket strip – but not yet, when the other construction is completed.
  6. The Raspberry Pi Pico is also mounted into socket strips which are 8mm high. (See pictures). To keep these socket strips aligned for soldering, they can be plugged into a Pi Pico and mounted to the CPU for soldering.
  7. WARNING. Be very careful with handling and mounting the TFT Display. It is fragile and made of glass and can be damaged. When fitting it is only necessary to hand tighten the threaded spacers. The 4 x M3 nuts on the CPU PCB that secure the TFT Display can be done up a little tighter than hand tight, but do not over tighten. An overtightened TFT Display can easily be damaged or warped when mounted leading to the display looking poor.
  8. When all the hand fitted parts are fitted to the top of the board the Front Panel, Display Bezel, TFT Display and CPU Board can be mounted together.
  9. Offer up the Bezel with the thicker edge to the left when looking at the Front Panel. Push the 4 of 25mm screws through the 4 holes in the Bezel and then the Front Panel.
  10. Screw on the 4 x 2mm threaded spacers until ONLY HAND TIGHT.
  11. Fit the TFT onto the 4 of M3 screws and then screw on the 4 of 10mm threaded brass hex spacers, again UNTIL HAND TIGHT.
  12. Fit the CPU PCB onto the TFT connector and the 4 of M3 screws pass through the 4 x holes in the CPU PCB.
  13. Lastly fit the 4 x M3 nuts on the M3 screws. DO NOT OVERTIGHTEN.

CPU Board – Hand fitted parts list

Reference #QuantityCircuit Id.PartDescriptionComment
11D1116V Zener diodeSpike safeguard
21L1100uH Choke1A
31J2026 pin IDE Headers13 x 13, 2 rowsto Radio Board
41J2116 pin IDE Headers8 x 8, 2 rowsto Bandpadd Filter Board
51J2220 pin IDE Headers10 x 10, 2 rowsto PA Board
61J82 pin JST plugfor test power 12-13.8V
71J194 pin JST plugfor I2C bus to Radio Board (VCO control)Use 4
81J144 pin JST plugFrom Tune/Func Rotary Control
91J25 pin JST plugUnusedIntended for possible RTC (Real Time Clock)
102J15, J164 pin JST plugUnusedNo need to fit
111J45 pin headerUSB UPTo USB-B on rear panel
121J15 pin headerUSB 1To Raspberry Pi Pico USB for CAT control and Firmware update etc.
133J3, J13, J145 pin headersUSB 2, 3 & 4For other (optional) USB devices in this radio. Eg. Sound stick, Waterfall SDR stick.
141C501000uF Capacitor
152U12 x 20 way Female Pin Header StripFor plugging in the Raspberry Pi Pico
161J121 x 14 way Female Pin Header StripFor plugging in the TFT DisplayMounted on the Reverse side B of the PCB
Non Soldered PartsQuantityPartDescriptionComment
112.54MM (0.1″) 6 way cable with Dupont female endsFor connecting the Keypad to the CPU BoardEnsure Pin 1 is connected to Pin 1
21TFT
31Rotary ControllerCable cut to ????mm
Save off-cut wire
400 Pulse Per Revolution (PPR) recommendedSee cable build instructions below
41I2C VFO connection4 way Screened Cable Length ???? mmJ19 on CPU Board to J6 on Radio BoardSee cable build instructions below
5
  • Front Panel
  • Fit the Tune/Function rotary control. Use 3mm M3 screws with flat heads. Do not use longer screws or damage will be caused inside the device. Note there are 6 threaded holes in the Rotary Control and three holes in the Front Panel. By turning the Rotary Control body three of the holes will line up with the Front Panel holes, but only three of the six holes.

Programming and Powering up

NOTE: On V2 of CPU Board there is no Test Power connector (Now resolved for future versions). the easiest way to power this board is through by connecting a Radio Board, supplied with 12 / 13.8V.

  1. Before powering up the CPU board program for the first time program the Raspberry Pi Pico with the latest version of the firmware. The instructions are above.
  2. The CPU Board is normally powered up through the 20 way Ribbon cable from the PA Board when the HamPiRadio is completed. For bench testing of the CPU 12 or 13.8V can be supplied to this board to J8 marked ’12V Test’. Alternatively if a Radio Board and / or BandPassFilter (BPF) Board is connected the supply voltage can be introduced there and the the supply feeds to the other boards through the ribbon cables. Power is only then needed on any one of the boards.
  3. Switch on and the TFT should display information and the green RX led should be on. Push-buttons should work and Tune should change the frequency (when the Radio Board is connected)
  4. All functionality might not work as yet if there is no Radio Board connected. This can be done when with a 26 way ribbon cable. The Radio Board is powered through this cable.

Loading

Scroll to Top