Connecting up the Buttons and LCD Module
RPI Pin | Description | TalKKonnect |
1 | 3.3 VDC Power | NC |
3 | GPIO2 SDA1 (I2C) | Online LED |
5 | GPIO3 SCL 1(I2C) | Participant LED |
7 | GPIO4 GPCLK0 | Transmit LED |
9 | Ground | To 2.2K Resistor –> Pin 3 LCD Module |
11 | GPIO17 (GPIO_GEN0) | NC |
13 | GPIO27 (GPIO_GEN2) | NC |
15 | GPIO22 (GPIO_GEN3) | NC |
17 | 3.3 VDC Power | NC |
19 | GPIO10 (SPI_MOSI) | NC |
21 | GPIO09 (SPI_MISO) | NC |
23 | GPIO11 (SPI_CLK) | NC |
25 | Ground | NC |
27 | ID_SD (I2C EEPROM) | NC |
29 | GPIO05 | NC |
31 | GPIO06 | NC |
33 | GPIO13 | CH DOWN Button |
35 | GPIO19 | CH UP Button |
37 | GPIO26 | TX Button |
39 | Ground | Ground for Buttons |
RPI Pin | Description | TalKKonnect |
2 | 5 VCD Power | LCD Back Light |
4 | 5 VCD Power | Pin 2,15 LCD MODULE |
6 | Ground | Pin 5 LCD MODULE |
8 | GPIO14 (TXD0) | NC |
10 | GPIO15 (RXD0) | NC |
12 | GPIO18 (GPIO_GEN1) | Pin 14 LCD MODULE (D7) |
14 | Ground | NC |
16 | GPIO 23 (GPIO_GEN4) | Pin 13 LCD MODULE (D6) |
18 | GPIO 24 (GPIO_GEN5) | Pin 12 LCD MODULE (D5) |
20 | Ground | NC |
22 | GPIO 25(GPIO_GEN6) | Pin 11 LCD MODULE (D4) |
24 | GPIO08 (SPI_CEO_N) | Pin 6 LCD MODULE (EN) |
26 | GPIO07 (SPI_CE1_N) | Pin 4 LCD MODULE (RS) |
28 | ID_SC(I2C ID EEPROM) | NC |
30 | Ground | Pin 1 LCD MODULE |
32 | GPIO12 | NC |
34 | Ground | Pin 16 LCD MODULE |
36 | GPIO16 | NC |
38 | GPIO20 | NC |
40 | GPIO21 | NC |
Screenshots of talKKonnect
Bill of Materials and tools That I used to Build the talKKonnect
Exterior Parts 1. Plastic/Metal housing (The one I used was ABS Plastic 260 x 220 x 100 MM) x 1 2. Push Button Micro switch (Up/Down Channels) x 2 3. Eight (8) Pin Panel Mount Microphone Jack x 1 4. Volume (Potentiometer 100KA) x 1 5. Volume Knob x 1 6. Red LED 3mm x 1 7. Green LED 3mm x 1 8. Yellow LED 3mm x 1 9. Blue LED 3mm x 1 10. LCD Display (20 x 4) 4 Rows HD44780 with Parallel Interface 11. RJ45 female wall socket x 1 12. 3.5mm Mono Panel Mount Jack x 1 13. 6x30 mm Panel Mount Fuse Holder x 1 14. 1 Amp 250V Fast Blow Glass Fuse x 1 15. 3 Pin SPST Toggle Switch x 2 16. AC Power Cable
Interior Parts 1. Raspberry Pi Model 3 b+ x 1 2. Raspberry Pi Universal Official Power Supply _5.1V 2.5A x 1 3. GOOD 5Hv2 USB Virtual 7.1 Channel 3D Audio External Sound Card Adapter x 1 4. 3.5mm Mono Plug x 2 5. Main Power Transformer 220V to 24-0-24 Volts Center tapped Transformer 6. Electrolytic Capacitor 4700 uF/50V 7. 0.1 uF Ceramic Capacitor x 1 8. TDA2030a mono amplifier Kit x 1 9. Diode 1N4001 x 2 10. Diode 1N4148 x 1 11. 2SC536 Transistor x 1 12. Resistors 330 Ohms 1/4 Watt 5% for LEDs x 3 13. Resistor 560 Ohms 1/4 Watt 5% for LED x 1 14. Resistor 150 Ohms 1/4 Watt 5% for LED x 1 15. RJ 45 Male Connector + CAT 5e Cable x 1 16. 40 Pin Male 2.54mm spacing single row
Accessories 1. Shrink Tube 2. Electrical Tape 3. Hot Glue Gun 4. Screws & Nuts 5. Metal Standoffs 6. Colored AWG 22 Wire 7. Colored AWG 24 Wire 8. Shielded Mono or Stereo Cable 9. Cable Ties 10. External Speaker with 3.5mm Mono Plug 11. Solder 12. Solder Flux 13. Female to female jumper wires
Tools 1. Soldering Iron 2. Solder Sucker 3. Hot Glue Gun 4. Drill and Drill Bits of Various Sizes 5. Box Cutters 6. Pliers 7. Screw Drivers 8. Round and Flat Files
Desk Microphone 1. PC Desktop Microphone x 1 2. Plastic Box x 1 3. PTT Micro switch x 1 4. UP/DOWN Micro switch x 2 5. Shielded Cable with 8 Core 6. Eight (8) Pin Microphone plug x 1
Microphones I built and Modified
I built one desktop microphone and modified one ICOM mic for the talKKonnect
Building talKKonnect
I will be creating a Bill of Materials of the hardware and also creating a github account to share the software shortly.
On the hardware side I will create
- Block Diagram of the system
- Any Circuit diagram(s) for Amplifiers used etc
- Photos of the USB sound card I used
- Photos of the MIC I built
- Shopping Lists
- etc
On the software side I will share
- github source code release
- step by step installation instructions
Why did I create talKKonect
Building something always has made me happy and feel that I am spending my spare time usefully. I have a passion for radio communications and building my own radios. Electronics and embedded systems are also a passion of mine.
I believe in learning by doing and recently the most cost effective way to learn and break things is in software because there are no costs. You can fail multiple times and all you loose is your time. No risk of blowing anything up. It’s the combination of hardware and software that I find exciting.
I have been wanting to learn and program in “C” after looking at so many videos online and reading a few books I did not get very far. However doing this project and spending about 2 months I have realized the only way to really learn something is just to go ahead and do it.
I want to learn about version control tools such as github, bug trackers and how to create open source software and the open source software ecosystem.
The ultimate goal is to have a community of like minded people who take and improve on the hardware and software. People who test and give feedback. People who create documentation so that others can follow the project and build these units easily. Make friends so that we can teach each other and learn together. Maybe we can create our own server and channel for people to exchange ideas.
Oh and also my wife says I spend to much time watching TV, so since the start of the project I have not watched much.
Features of talKKonnect
Hardware Improvements
- Use External Mic and push buttons on the device for Channel Up/Down navigation
- Has a 4×20 LCD Screen
- Has a built in Amplifier using the TDA2030 Chip
- Has a volume adjustment knob
- Self contained unit with all power supplies built in
- Female RJ45 connector at the back for network connectivity
- 4 LEDs that show status such as online, other participants in channel, Transmit Mode and an LED that flashes as there is voice activity
Software Improvements
- Colorized LOGS on debugging terminal for events as they happen
- Can play an alert sound as events happen
- A Roger Beep like effect that lets the remote party that you have released the PTT button
- Mutes Speaker when pressing PTT to prevent feedback and give a radio like experience
- Channel seek
- LCD with useful information for showing status, channel joined, who is speaking, etc.
Thank you to all those people who made this project possible
A list of people /organizations I would like to thank. Without these people talKKonnect would not be possible. I have learned so much and had so much fun and sleepless nights building this device
- Tim Cooper for the gumble library and for barnard a text based mumble client for cli linux
- Daniel Chote for making talkiepi
- The developers who created and maintain the mumble protocol and server
- Raspberry Pi Foundation
- FreeSWITCH, Anthony Minessale II and the freeswitch team
- Linux Foundation and the people who create and maintain linux
- Arduino and ESPRESSIF
- The creators and maintainers of golang
- The solder smoke podcast and those homebrewers who show their work on the internet
- Tayeb Meftah who was always there to test talKKonnect and give me inspiration
- Ariya my little girl who could somehow manage to make talKKonect core dump
- Mumble free online public server FPS Network Server 4 Fillipino Gamers who were always there as a great for testing the sound quality and the functioning of talKKonnect on a live production server
- and so many more of those selfless people who share their knowledge and experience ….
talKKonnect Gallery
I have posted some pictures of my man cave and the building of talKKonnect.
You can see that the unit has an LCD which is informative and give information such as
- Display the IP and Port of the server connected
- Display TX when Transmitting (Press the PTT Key on the Microphone)
- Shows Name of amount of people in the channel joined
- Shows last server event
- Shows who last spoke
- Shows any errors or warnings
- Shows any received text messages
There are also channel UP/Down button both on the unit and on the microphone for the user to easily navigate through the channels.
There are a total of 4 LEDS
- Shows that you are online
- Shows that there are others logged into the same channel as you
- Shows that the device is in PTT mode (Transmitting)
- Shows that someone is speaking
There is also a volume knob on the bottom right of the unit for adjusting the volume.