Connecting up the Buttons and LCD Module

Raspberry Pi 3 b+ Pinouts
HD44780 4×20 LCD Parallel Interface Pinouts
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

Screenshot after logging in
Starting up talKKonnect
Debugging message showing channels after pressing channel up button
Console showing who is speaking

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

Modified ICOM Microphone for talKKonnect
Homebrew Desktop mic for talKKonenct with PTT and up/down buttons

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.

LCD Showing Server Connected to and Latest Event
The talKKonnect on the shelf
Picture of the showing the insides with the top cover open
Picture of the showing the insides with the top cover open
Picture of the showing the insides with the top cover open
LCD showing the channel connected to, the amount of users in the channel and who was the last person who spoke in the channel
A picture showing my man cave in which I spend way too many hours
Side view of the building process
Top view of the building process
Side top view of the building process
LCD showing the channel connected to, the amount of users in the channel and who was the last person who spoke in the channel
The red channel up and down push buttons on the left side on the unit
Another picture showing my man cave in which I spend way too many hours
The Completed talKKonnect Unit.