Skip to content

Bill Of Materials

K7MDL edited this page Jan 24, 2025 · 9 revisions

Updated 24 January 2025

Details on parts to build your own

BOM files, Gerber PCB files, and schematics for each board are located in https://github.com/K7MDL2/IC-905_Band_Decoder_on_ESP32-S3/tree/main/PCB_files

Not some parts are Do Not Install or wire jumpers instead of 0ohm resistors. For some empty SMD resistor pads to a ULN2803A, and the 2x20 header pin holes on the main board, there are shorting traces.

On the Remote board, replacing the wire jumpers at R1-4 allow using the inputs at voltages higher than 5V. On the USB board, you can cut the shorted resistor pads to isolate the unused ULN2803A inputs to use them for something else. The outputs are not connected to anything, you can solder wires to the pin pads on the bottom of the PCB and run them out to your new loads.

Enclosure for the USB Decoder

I have designed a 120mm x 74mm PCB sized to slide into Hammond 1455J1202BK aluminum box. It has 8 LEDs on the PCB. You will have to make holes in the end plates for the connectors and drill 8 holes for the LED's light pipes positioned over those LEDs. I decided to use 8 LEDs for status rather than an OLED display, but one can be added later using the ic2 bus connector on the PCB.

The optional Remote BCD Decoder board does not have an enclosure. It has 1 power on LED and 3 mounting holes for 6/32 screws in the housing of your choice. It is a small 40mm x 140mm.

CPU Module

As long as the ESP32-S3 CPU module of choice has enough output pins, either natively or through an i2c extender module, and it has at least one USB port that supports OTG, it should be usable. For the PCB I am using the ESP32-S3-DevKitC-1.

Below is the link to specs that match the clone ESP32-S3-DevKitC-1 N16R8 board I got online, 3 for $18. We are not using the PSRAM so can use a lesser version. The N8 version with no PSRAM should work as well. The 32K version (N32R8) is a bit different but might also work.

https://mischianti.org/vcc-gnd-studio-yd-esp32-s3-devkitc-1-clone-high-resolution-pinout-and-specs

The SPI PSRAM is not enabled by default. If it was, it would use pins 35, 36, 37 which are used for driving LEDs due to the physical location of the pin vs LED mounting point. The LEDs would have to move to alternate available pins if PSRAM. The onboard RGB is powered off 5V on this clone board, not 3.3V as the original board does. It is on pin 48 which is unused by me. TO use it you also need to solder a RGB jumper on the CPU board.

As noted elsewhere, you need to solder a resistor onto the CPU module to supply 5V to the USB Host connector. I used a 0603 size SMD 1K resistor tacked to the connector facing side of the 2 diodes that isolate 5V and USB Host Vbus. The radio does not draw any significant current, just needs to see the 5V to active the USB com port. A normal USB2.0 host port provides 5V@500ma current limited.

Displays

For your won builds you can choose to have a display, no display or LED indicators. I support 8 programmable and dimmable LEDs by default and designed the PCB to use them. With some relatively simple code added, an SSD1306 OLED can be used. The color LCD in the M5AtomS3 is already working though you have to extend the IO to make it do anything useful other than display time, date, grid, and frequency. You can add in your own display code if you want something different. At startup I poll the radio for frequency, mode, extended mode, time, location, and UTC offset. I calculate the current grid square to 8 digits. It is shown in the debug and on the M5 AtomS3 display.

** IO pins

If building your own decoder, there is no reason you can't change the total number of IO pins as long as your hardware has free pins available. Adding 2 more pins to each group of 6 pins (Band Select and PTT groups) is the easiest to do since the patterns are represented in 1 byte values. There is a different project for using the 905 with a transverter. Adding another group of 8 would be the next step. I have other Band decoder projects that already support more pins, on several IO devices, but this project is a more targeted and simplified project starting out with 6 pins per group to match the IC-905's 6 bands. It also needs to be set to something well defined to work on a PCB.

Hardware List

The PCB has been designed and tested. A schematic and PCB files are published in this repo along with the full list of parts (BOM) needed for the PCB builds. There are 2 PCBs, the main USB Decoder and a new optional board I call the Remote BCD Decoder which is general purpose and can be used to reduce the cabling required between the USB decoder and a RF unit located a long distance away.

Cabling

Cable lengths here are assuming the decoder is to be mounted on the top or back of the 905 controller. Otherwise adjust the length of the cables to suit your needs. 1x Mounting bracket of some sort. Hammond has optional mounting tabs. 1x 6" DC power cord with 2.1mm x 5.5mm barrel power plugs to connect radio to box. The power cord that normally plugs into your 905 can now be plugged into the rear USB Decoder DC power jack where it is looped through the Decoder to the 6" cable for convenience. 1x 6" PTT cable, 1/8" stereo plug on one end, phone plug on the other, tip and ground. ring not used. 1x 6" USB Type C to Type C cable. Suggest one or more snap-on ferrites be snapped on. 1x HD 15-pin male D-Sub plug connector. I like to use the breakout version which offer 16 green micro terminal strips inside the cover, no soldering required. A picture of this connector is on the PCB Version Wiki page.

The 1/8" audio jack is not used today. It is for possible future analog CI-V bridging. There are wire pads near the connector. You could wire this connector in parallel with the PTT Phono jack to allow using a standard stereo 1/8" to 1/8" audio cable for PTT. Only the tip is used. The ring is ALC to the Radio, not used here.

The 4 pin XH connector is for using optional 24V supply or DC-DC converter to send out to the remote board for 24V relays.

Clone this wiki locally