TESLA meshtastics banner

TESLA meshtastics

13 devlogs
12h 17m 48s

a desk node for monitoring my local meshtastic mesh. - That’s probably going to be in my next ship.
For now we only have a T9 keyboard with a code that emulates meshtastic supported keyboard IC.

This project uses AI

It was used for code exclusively, the text is such human.
As for code I had no Idea about where to begin so I generated framework and TCA driver implementation.

Demo Repository

Loading README...

Tomas Kuchta

Shipped this project!

Hours: 12.3
Cookies: 🍪 187
Multiplier: 15.22 cookies/hr

Super happy with how neatly this turned out!

It’s a keyboard nokia style custom designed and fabricated to go inside a TESLA PA system case with custom emulator of MT supported IC. It was super fun overcoming the hard challanges. Ex. not knowing anything about I2C, TCA8418 and how to fricking emulate it. AI is great at this as it was ablr to help with a bit of encurigment. EMH fist try it didn=t work, second the keys were messed up and it worked on the third try!

It’s meant to be mounted inside a the TESLA and it will be a desk node to monitor the local mesh. Like a base station.

Tomas Kuchta

It’s finished!

The nano scared me! I have plugged it after like two weeks in and it worked wonderfully. Then I’ve re flashed it and it started bootlooping IDK why but one more flash fixed it.
The code worked previously but with the help of AI we were able to make the code cleaner at least hopefully.
And in between I did code reviews of the generated code and fixed some issues myself. Mainly a unused state machine lol.

After that I went on to write the readme and an image of the finished project shouldn’t hurt. :)

There it is after a lot of hours I managed to learn more about the IC, Meshtastic, T9 keyboards, chineese nanos, retro fitting…

Attachment
0
Tomas Kuchta

At first I was fighting with vibecoding. And copilot wasn’t able to do anything that would work. And I wasted a hour going back and fourth debuging and etc.
I was trying to do too much at once . At first I was going to do just the TCA implementation but then I got feature sniped into doing the whole code. But It quickly turned into a tangled mess.

So I’ve started thinking with my own brain. Should’ve done it a lot earlier. And have used copilot as a tool.
And I have just focused on the basics. So I striped down the I2C code as it was only spaming the terminal. And focused on just reading the keyboard. And I was able to make a super reliable code.
It setups, enters loop, turns built LED in off, sleeps, on interupt it set’s up the pins for reading, reads, holds until released and loop continues.

Attachment
Attachment
Attachment
0
Tomas Kuchta

I’ve wired everything tohether.
The modules were mde before starting this HC project.
I could have just made a nice board that would plug in the IDE connector neatly. But I chose to make a mess with the wires.
It was pretty hard finding the right GPIO in the mess. But I managed to get everything working. Atlest appart from the “Canned message” three button navigation.
Also I have vibecoded a funky implementation of the TCA8418 IC on I2C. but the system just hang’s there so I need to put more effort into it.

Next I’ll do a proper implementation of the IC. Also this is the same one I’m using on travel buddy. neat :)

Attachment
Attachment
0
Tomas Kuchta

So I made an angled holder to hold the Vision master E290 with its case.

The design is pretty simple.
Although the fillet is way too big and it doesn’t fit too well.

After printing it I brought it into my workshop where I’ve drilled holes and screwed it all together.

Attachment
Attachment
Attachment
0
Tomas Kuchta

I’ve assembled it and integrated it into the case.

Firstly I tried to test fit it, but the PCB was a bit bigger. So I’ve shortened it to size. Used the holder thingi as a guide to drill holes, while avoiding traces, but I was lucky as I don’t have traces in the area.
Then everything got screwed up into the case.

Next I’ll do the code and wire it up to the VisionMaster, which I haven’t had at the time.

Attachment
Attachment
0
Tomas Kuchta

Today I forced ChatGPT to write code for me. Then I ran into free limitations. Time to switch to copilot with my free GH pro. :)
I’m doing it in class so psst. ;)
It’s just blinking D13 when an interrupt is triggered.
I need to think about the layout and how to make better code for it. It’s pretty good for now as it sleeps and wakes on a button press. The only thing that’s bugging me is that I have put one row on another set os interrupts.

Attachment
Attachment
0
Tomas Kuchta

In DDM I also drilled holes and put all the buttons in. But I realized that I didn’t drill a few holes so I didn’t bother.
But when I went to solder all the diodes, I noticed that I didn’t drill a lot of holes. So I took a rotary tool in my workshop and finished it. I was pretty scared that I’ll break the drill bit. Luckily I didn’t
i don’t have the nano here, so I’ll try to get it working later.

Attachment
Attachment
Attachment
0
Tomas Kuchta

At our shool we use the good old school method of etching our PCBs. I etched on tuesday after shool club.
The steps were:

  1. Print out the design on paper
  2. Cut the cuprexit to size and sand it
  3. Apply fotoresist and cure it in a oven
  4. Make the paper transludcent using oil and expose it in UV
  5. Develop it in a developer agent
  6. Find that it didn’t develop propertly and scribble all over using a marker
  7. Remove the Copper in a acid foam bath - A teacher kindly etched for me as the after school club was ending.

Evhery step is so time consuming. I’ve made a batch of three PCB’s in total which took me like 2.5 hours after school to make. Also you need to babysit evhery step in the process, as it can go downhill really fast. Like on this etch. ;-)
It’s cumbersome to log the full 2.5 hours and it wouldn’t be honest so thats why I’ll log around a halve a hour. Please feel free to make adjusments

And there it is perfectly imprerfect PCB.

After that I cleaned it using Líh (Ethanol or rubbing alcohol?! I have no idea what it is in english). Drilled holes in DDM as I hadn’t had more time after shool. Which was about halve a hour.

Attachment
Attachment
Attachment
Attachment
2

Comments

Tomas Kuchta
Tomas Kuchta 4 months ago

Please give this log more attention.

A X O S
A X O S 4 months ago

I don’t understand any of these yet, kinda non electric guy hoping for a great project. May logic gates bless you .

Tomas Kuchta

Today I’ve routed the PCB.
It started with measuring the pitch between switches.
Next I set a custom grid to the measured pitch, which is 17.5mm.
It was routed without too much thought on MCU pins as all digital pins have the functions that I need. I firstly ordered them in order, which was a mistake.
Next was assingning the pins. And adding the two headers. I also had one header with spare GPIO but that would be too much hassle.

I’ll bake it with my other PCB. I mean, etch it.
Then I’ll code the code and integrate it.

Attachment
0
Tomas Kuchta

Made a KiCAD footprint for TESLA 3 FK 573 00, whatever that means.
It’s super simple as I only need the pitch, hole diameter and dimensions.
I first began by placing one pad, changing it to THT added the measured hole diameter of 1 + 0.1, and the pad sie is pin diameter + 5.
Then added the outline or f. margin, which is 14x12mm. And with a 0.1mm offset I added a silkscreen.

Attachment
0
Tomas Kuchta

Today I’ve managed to finish the schematic along with footprints.

I started researching button matrices three months ago for my project called Travell Buddy.
So I took inspiration from there. I mean that I stole my beautifully drawn matrix.
After that, I decided on MCU. In the original design, there was an ATtiny with which I don’t want to bother, as it’s meant to be a rough prototype. So I went with a simple Arduino Nano. And after consulting with ChatGPT it seems to have everything that I need!
I’ll be CNC milling the PCB, so I chose a 1N4148 diode with 1N4148 footprint. As for the switches I’ll be using the TESLA ones. I have a whole bag of them.

All that work done under a hour!?, what a beauty of having prepared things in advance.

Next I’ll make my own TESLA button footprint and route the PCB which needs to be one sided.

Attachment
0
Tomas Kuchta

Removed the keyboard from the original box. And snipped unnecessary electronics.

Attachment
0