CPU Board Iss 3.4 with Raspberry Pi Pico2 (RP2350), USB Hub, E2Prom, Interface glue logic and connectors
CW Decode sub-board Front panel TFT Bezel
The small button on the Raspberry Pi Pico (Note the small white button close to the red USB plug in the 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
Firmware: Current version is V138. Install procedure:
The firmware can obtained by emailing me and I will email you the .UF2 file. Find the email address on the Contact page. There are two ways of installing / updating the firmware:
The first is to plug the PC computer USB directly into the Raspberry Pi Pico2 directly. This can be done either with the Pi Pico plugged into the CPU board or not. For this a USB - USB type C cable is required.
Press and hold the small white button on the Pi Pico (BOOTSEL Button) and plug in the USB cable into the PC and Pi Pico. The PC should make a chime acknowledgment sound (If the sound is on). Either: An options pop up will ask what to do, if this happens select 'Open folder to view files'. This window might also automatically open with no need to select it.
When this pop-up window appears the PI Pico is acting as a memory stick. There will be two files showing: INFO_UF2.TXT and INDEX.HTM
Drag and drop the UF2 Firmware File sent to you into the pop-up folder, just as if you were saving a file to a memory stick.
The .UF2 file (firmware) will automatically download to the Pi Pico2 and then install it automatically. Next the Pi Picp2 will do a reset and run the new firmware.
The folder will then disappear from the PC screen.
All done. It is as simple as that.
Features
1 x Raspberry Pi Pico2. The Raspberry Pi Pico is high-performance microcontroller board with an RP2350 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 also work, but the WiFi option has never been explored and 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 / 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. (A 600ppr can also be used and option selected)
An on board USB 4 port hub for interaction to a PC (etc) using USB for a) CAT control for such as WSJT-X, FLRIG and many other rig control programmes. b) USB audio stick for remote operation and digital modes (WSJY-X works fine and FT8 & WSPR fully tested), c) a SDR stick for displaying a Waterfall digital interface. d) and any other useful 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 a plug in CW Decoder sub-board.
Construction
Read ALL of the construction notes carefully before proceeding to get a good understanding.
Construction and mounting of the Keypad
All resistors and capacitors are SMD and supplied mounted
Mount and solder the 20 push buttons. They fit on the REVERSE side of the PCB. Be especially careful to ensure they are mounted completely flat against the surface of the PCB and solder two opposite of the 4 connections, and check again they are completely flat and straight. Next solder the other two of the four connections of each button. If they are not flat they will interfere with the holes in the Front Panel. If there is any tiny interference you can carefully file the side of any particular hole with a needle file.
Fit and solder a 6 pin IDC to the FRONT of the board, meaning the other side to the buttons. When connecting to the CPU Board be careful to observe the orientation of the connector that Pin 1 on both ends aligns with Pin 1 on the other end. This connector fits into J7 (KEYPAD) on the CPU Board.
The three LEDs should be supplied mounted already. If not then solder three 0805 size SMD LEDs. Green for RX, Yellow for TX and Red for OnAir is suggested. The -ve, or Cathode end has to be on the GND (Ground-plane) end. See picture below.
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.
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.
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.
Most parts are SMD and come already fitted.
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.
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.
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.
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.
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.
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.
Screw on the 4 x 2mm threaded spacers until ONLY HAND TIGHT.
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.
Fit the CPU PCB onto the TFT connector and the 4 of M3 screws pass through the 4 x holes in the CPU PCB.
Lastly fit the 4 x M3 nuts on the M3 screws. DO NOT OVER TIGHTEN.
CPU Board Construction
320 x 240 3.2″ COLOUR TFT display is now the only display option. It uses the ILI9341 MCU. If you are not using the HamPiRadio front panel / case you can of course use other size TFT displays than 3.2″ as long as it is 320 x 240 bits and uses that MCU. Also check the connector. If wanted the TFT display does not necessarily have to be mounted onto the CPU, it can be connected using a ribbon cable.
Most parts are SMD and come already fitted.
Fitting hand mounted parts: I always fit High parts and electrolytic caps last, as they are easy to burn with the side of a soldering iron.
The Raspberry Pi Pico and the TFT Display are mounted into socket strips which are 8mm high. (See pictures). The TFT socket strip is on the REAR of the board.
When all the parts are fitted to the top of the board, the TFT can be plugged into the back, and two 10mm spacers and nylon screws and nuts used to mount it to the CPU board (?re-check). Just use the two mounting holes furthest away from the connector for this. (The other holes are not needed, and the TFT holes are very close to the glass, and not worth using).
Next the CPU Board can be mounted to the front panel. This is done with 4 x M3.
At this time there is no bezel for the TFT. (Needed: A contributor to design a bezel. I note JLCPCB are now doing 3-D printing…)
Other parts to be mounted are:
5W 16V Zener diode. This is to safeguard against any spikes coming in the 13.8V supply line. I have seen a couple of these diodes go short-circuit meaning they have protected everything else.
L1. Use one larger or two smaller Ferrite beads. Mount using a piece of tinned copper wire 0.6mm of thicker.
Fit the J10, J21 & J22 16, 20 and 26 pin IDE Headers for the connection to the BPF, PA and Radio Boards. Carefully observe orientation.
Fit Pin Header connectors. Carefully observe orientation. If you have no intention of using a PC for remote sound, CAT control or Waterfall then the USB Hum is not needed so J1, 3, 4, 5, 6 do not need to be fitted. For firmware programming of the Pi Pico a USB can be directly connected.
Rotary Controller and VFO cables.
Due to the construction of these cables with JST plugs being rather fiddle, they can be ordered already constructed. If you have purchased your ow rotary encoder then the following construction will be needed. The tune/function rotary controller is supplied with a screened 4 wire cable that is long enough for both cables:
Before cutting the cable ensure that on that the encoder purchased has actually got a) a long enough cable and b) that it is screened cable. Unfortunately some suppliers supply encoders that do not have screened cable. If this is the case you can still try without a screen, but you might experience small clicking sounds when tuning on some bands. It is not that difficult to disassemble the rotary encoder and fit 4 core screened cable yourself.
As a sanity check measure the cable. it should be 1 or 1.5mtrs in length. Cut the cable 200mm away from the rotary encoder body. For the VFO cable to the Radio board use 400mm of the piece of cable cut off.
Strip back the outer covering of the three ends so that approximately 25 mm of screen is exposed. Slide on a 20 or 25mm length of heat-shrink sleeve that is a snug / close fit over and further than the screen.
Un-braid the exposed screen to free the 4 inner wires.
Strip back the wires so only about 2mm of inner tinned copper is showing, and tin with solder. Firmly twist the screen cable and tin the end as well. Fit a length of heat-shrink sleeve that is a snug / close fit over this screen leaving about 4mm exposed.
Using a JST wire crimping tool fit the individual JST sockets to each needed wire. (If you don't have a crimp tool It is possible to crimp them using small snipe-nosed pliers and solder them but you'll need to be good as it is tricky)
Fit the wires / plugs to the 5 and 6 way JST shells as per the diagram. Do this thoughtfully of how they plug in the PCBs, it can be confusing at first and easy to get wrong! As a sanity check look at the silk screen markings indicating the cable colours next to the JST plugs on the CPU board (J14 & J19) and Radio board(J6).
Rotary Encoder JST Plug pin colours. 1 Red, 2 empty (X), 3 Green, 4 White, 5 Black, 6 Screen (scr)
VFO Cable JST Plug pin colours. 1 Screen(scr), 2 empty(X), 3 Black, 4 Green, 5 White
Rotary Encoder Cable - 6 pin
CPU - Radio Board VFO Cable - 5 pin
Programming and Powering up
Prior to final construction the CPU board can be tested 'on the bench' to ensure all is well:
Before powering up the board Program the Pi Pico firmware. This can be done with the PI Pico plugged into the CPU Bard or not. See the instructions at the top of this page.
Ensure the Pi Pico2 is plugged in correctly. The USB socket on the Pi Pico2 points toward the centre of the CPU board.
Connect the CPU board to the Tune/Function Rotary Encoder and the Keypad board.
The CPU Board is normally powered up through the 20 way Ribbon cable from the PA Board. For bench testing however you can supply 12 to 13.8V to 2 pin JST connector J8. Observe polarity very carefully. To indicate the correct polarity - and +are marked in silk screen on the PCB below J8
Power up the CPU board and 3 x LEDs should light up (5v, 3.3V and USB 3.3V). The TFT should display information and the RX led on the Keypad should be on. Push-buttons should work and Tune should change the frequency.
All functionality will not work as yet as there is no Radio Board connected.
Final construction of the CPU Board and Front Panel assembly
The Keypad and CPU can now be mounted to the Front Panel:
First mount three LED Lenses for RX, TX and OnAir in the 3 holes. These holes should be large enough but due to manufacturing tolerances the holes might need opening up a little with a round needle file. When fitted it is a good idea to use something like nail varnish to paint over the plastic on the back of the lenses so that the light from each LED don't not show through the wrong lenses.
For the Front Panel you can use whatever M3 screws you like. Both black painted flat-head Pozidriv and Hex Drive screws look good.
The keypad then mounts to the Front Panel using 4 x M3 x 12mm screws with 4 x 12mm hex threaded spacers and 4 x M3 nuts.
The front Bezel, CPU board and TFT Display mount to the Front Panel using 4 x M3 x 25mm screws with 10mm hex spacers in-between with M3 nuts on the CPU PCB. There are also 3 x 3mm spacers in-between the TFT and the front panel. (Diagram / photo to follow MW)
Next the Tune/Function rotary control. Use ??mm M3 screws. Do not use longer ones or damage can 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 then three of the holes will line up with the Front Panel holes, but only three of the six.
Plug everything up. The Pi Pico connects to the USB Hub, any of J1, 3, 5 or 6 USB-Down connections. The USB to USB-B Panel mounting cable connects to J4 only (Or any USB Cable to a PC that works for you. This is the USB-UP connector. There is a red LED D5 near the USB Hub IC U3 that lights when a PC USB is connected. The PC should also give an audible USB Connected sound.
Any errors found or improvement suggestions please email them in, appreciated.
Keypad PCB. 3 x SMD LEDS are mounted on the rear for RX, TX and OnAir