The C602A is an open source revamp of the classic SRA C602 com-radio. The source code is currently undergoing some last minute fine-tuning to the user interface, but is otherwise fully functional and we will soon be able to open the GitHub repository to the public.
This firmware is designed to run on custom hardware developed by other highly talented members of the FRO team. This hardware was developed using cheap and readily available components to minimise the cost of the complete upgrade packet.
The C602 com-radio was produced between 1979 and 1991 by SRA and was used by many emergency services in Sweden. Though it has now been phased out by newer and more capable systems, it had many advanced features for the time.
As a result, there exist a large number of decommissioned units in circulation. The transmitter, receiver and power modules were very well built, but unfortunately, the complex front-end user interfaces were prone to wear and tear.
In order to give these devices a new lease on life, an upgrade-project was initiated by the South-Western Skåne branch of the Swedish Voluntary Radio Organization (FRO) in 2022. New hardware has been developed to replace the old front-ends including circuit boards and 3D-printed front-panels. This project is ongoing at time of writing (September, 2023).
The new user interface is based on an Arduino Nano module together with a 16-bit color 160x128 pixel TFT display. Navigation is performed using the two-axis joystick and the volume is controlled by a dedicated rotary encoder.
Internally, the Arduino operates a compact circuitboard that in turn utilises optocouplers to interface with the 9V DC signals of the back-end hardware. Additionally, the PCB holds amplifier hardware that can control the incoming audio signal level based on current operating mode and volume.
The internal EEPROM allows the storage of 20 preset stations with separate transmit and receive frequencies, station channel number, station name and station description. There is even room for a few custom color scheme settings and preferences.
Apart from developing the software and drivers for the Arduino itself, I even developed a C#.NET Forms application to handle all necessary communication with the Arduino from a Windows PC. PC-Link can store and retrieve preset radio channels, color schemes, crystal values and much more to configure the C602A.
The software even supports a preview of the users selected color scheme.
This software is also to be released as open source on GitHub in the near future.
Initially, I developed drivers for the various circuits, protocols and other subsystems present in the prototype hardware. Some experimentation was required to test the responsiveness and capabilities of the display with several custom fixed size fonts and other GUI features. Later, based on the projects functional requirements, I designed an efficient, extensible and easy to maintain software architecture for the project.
The incredibly cheap Arduino Nano is based on a single ATMega328 microcontroller which truly is a pleasure to work with. However, at 16MHz, it is not the fastest chip in the shed and has very limited onboard memory (32 KiB Flash, 2 KiB RAM, 1 KiB EEPROM).
As the frontend hardware protoype neared completion, the software was adjusted and tested together with the physical radio which brought to light some very interesting and at times puzzling quirks of the backend analog radio. But these initial issues were quickly solved and the complete system update is finally nearing completion.
The main screen mode now displays all information about a single channel and the icons near the bottom indicate radio status and squelch mode. The system even supports CTCSS.
Clicking the joystick will switch the operating mode to scanning. In this mode, the user can choose to scan manually through all 768 possible frequency combinations or allow automatic scanning. The central vertical bars depict the three available frequency bands relative to each other and are recalculated automatically based on the individual base crystals installed on any given radio.
This mode also displays the maximum and minimum attainable frequencies using these crystals and the values of the crystals themselves.
And since we built this update on the quality back-end of the SRA C602, it would be remiss to not show a little respect by starting up with the appropriate logo!
But at the same time, credit where credit is due...
So a big "Thankyou" to everyone at FRO for helping me make this firmware better with your great ideas, comments, suggestions and support. Together with our superb hardware team we will soon bring these radios back to life.