Home - williamgardner2017/Hampod_Program GitHub Wiki

Welcome to the Hampod_Program wiki!

Hampod Project

Introduction

The Hampod is a device that allows blind and visually impaired operators to be able to use their equipment as well as a fully sighted user, giving accessibility without the need for a personal computer. The Hampod will be designed to work with a variety of supported gear. The Hampod series of Amateur Radio station accessories will be stand-alone, single board computer-based text-to-speech devices designed to provide speech output and accessibility to common station equipment such as transceivers, antenna controllers and rotor controllers, SWR/Power meters and other equipment capable of data exchange, both USB and serial. Some of the basic features include connecting and communicating with multiple rigs, being able to switch between several modes, and outputting text-to-speech for different actions. The Hampod will be equipped with USB ports for modern rigs and serial ports for the older models. The goal is to be able to handle more than two rigs at once when compared to the original model.

Context

The original Hampod, created by Mr. Santello, served as a solution for blind and visually impaired operators, bridging the accessibility gap within the Amateur Radio station community. However, there were several challenges that ultimately led to its end of life. For starters, the deteriorating vision of the creator became an issue, specifically for the production department. Additionally, the difficulty in sourcing the components posed serious obstacles. Regarding the actual device components, due to available technology, inability to save user preferences, the constraint of having only two firmware options, and the lack of being able to alter text-to-speech settings were all issues. These problems prompted the need for an updated version that could address these issues and offer an enhanced user experience.

So why was the Hampod project initiated? Well, for one as stated above, the life of the Hampod needed to be extended. Secondly, several of us needed a Senior project to complete during our Senior Year at Rose-Hulman Institute of Technology, and this project came to fruition through the advisor of the Rose-Tech Radio Club.

Requirements

There were several requirements the team made in order to solve the issues of the original Hampod.

Ability to be DIY

By utilizing both affordable materials and an easy-to-follow construction process, the Hampod will solve the original issues related to components.

Cheap to Build

The Hampod construction will be quite simple through making it a cost-effective DIY project. The core structure will be created from affordable materials all around. First up is the single board computer, that being the NanoPi Neo. While small in both size and price, it will have plenty of resources to be able to handle the software given to it. Next on the list are the case and buttons. The housing will be designed with cost-effectiveness in mind, likely being made of 3-D printed material. The buttons will be basic yet reliable and tactile, beneficial for a blind ham radio user. Finally, the open-source software. The software is to be run on the Hampod and posted on Github, allowing anyone to be able to download the package and install it.

Easy to Find Components

The Hampod will be switching from the original components to more modern supported components. The text-to-speech component is also being removed and replaced with text-to-speech software. Alongside these changes, the Hampod will be set up to have its components easily switched out for other components with minimal change to the firmware, which will be open source. By making these changes, it makes sources of the components easier and less restricting compared to the original Hampod.

Multiple Rigs/Rotators/Amplifiers

The Hampod will be able to connect to more parts of a Ham radio set up than just the Ham Radio itself. This will include connecting to the Rigs, Rotators, and Amplifiers as well. The Hampod will also be able to swap between the connected parts during operation allowing for one device to control an entire setup with minimal fuss.

Output Text-to-Speech

The Hampod will use a software text-to-speech system that will allow the Mode Developers to output custom text though the speaker of the Hampod. This will also allow the Hampod to output any data on a radio even if there was not pre-made recording of said audio.

Code Modification

The software for the Hampod will be open source and set up such that users can implement changes to their own Hampod and share their changes with other users. The software of the Hampod will be created with readability and ease of changing in mind. The goal will minimize the number of existing areas a user would need to change to add new features. An example of this is having sample the modes users will be able to reference to add their own modes to the Hampod. Alongside the sample modes, there will also be a dedicated place used to load up said modes making the user only have to change one file to add more modes. Another example of ease of Modifiability of the code is with connecting to new hardware components. The firmware is set up such that each hardware component will have its own area for communication so that if a user wants to change the hardware of the Hampod, all they would have to change is the relevant firmware file for said component.

Replicate Original Hampod Functionality

For the radio control functionality of the original Hampod, each of the original modes will have new corresponding modes in the new Hampod. The new modes will have mostly the same key layout as the original functionality. Due to limitations, any original radio control functionality that was bound to a letter key will be moved due to the letter keys being used for menu navigation. For the non-radio control functionality of the original Hampod will be on a case-by-case basis. For the second shift or set the original Hampod software used a mix of, we only took shift and second shift to converge the different existing methods into one. The functionality to switch between modes has been reworked to as a tradeoff between familiarity and expandability, Though to help remedy this trade off, some of the letter keys will be dedicated to user defined mode switches. The config mode will be kept relatively the same in terms of menu layout but will have the navigation keys moved from the letter keys to an up, down, left, right pattern on the number keys. Lastly the volume up and volume down will be kept the same as in the original.

Security

The Hampod will contain a sort of built in security system by using two methods: the use of a non-root user and intentional absence of Wi-Fi connectivity (with periodic, short-duration connections solely for updating purposes). In computing, the "root" user has elevated privileges and access to all files and commands on a system. By utilizing a non-root user, the Hampod restricts access to critical system components, minimizing the risk of unauthorized or malicious actions. The second component of the security system is the intentional absence of Wi-Fi connectivity, with occasional, brief connections specifically designated for updating purposes. This mitigates potential vulnerabilities associated with internet connectivity. By limiting the exposure to online networks and only allowing short-duration connections for essential updates, the Hampod reduces the risk of remote exploitation or unauthorized access.

Budget

Like all other projects, the Hampod will have constraints that will influence the resulting system. The project budget cannot exceed $300. The budget also must be as low as possible to allow for the most user-friendly DIY experience. This affects all components of the project, from the hardware, software, and other expenses that use the budget. To achieve full functionality within the given budget, some trade-offs or compromises must be made. For example, a software-based text-to-speech was used. This might use up resources from the single board computer.

Memory

The Hampod will have an increased memory and disk space allowing it to store multiple radio drivers as compared to the limit of two the original Hampod has. This will allow users to connect to many more radios without having to update the Hampod. This extra memory also allows us to use a software-based text-to-speech system which will also help reduce the component cost.

Disclaimers

Please note that what was completed during this project might have slight errors, that need to be tweaked, both in the hardware and software. Our Team only had an ICOM 7300 and Kenwood TS2000 to test the system on.

Pages: https://hampod.com/