Keyboard FeatherWing as standalone Meshtastic device?

I’ve only come across this project recently, and it looks like a really neat project. However, most usage seems to be via a connected phone app.

I recently got a Keyboard FeatherWing from Adafruit, and it seems like the perfect form factor for a standalone Meshtastic device. Has anyone looked into using one of these to build a standalone Meshtastic device?

1 Like

I had looked at them before, there didn’t seem to be a esp32 radiofruit available which would be necessary to make it work I think. I do think it is possible to write a plug-in that allows for messages to be sent from a connected keyboard like the M5 Stack CardKB.

So I’ve never worked with either Meshtastic or the Feathers before but… it sounds like the platform is modular and you could maybe stack this with this? Not sure if you could use those together in conjunction with the Keyboard FeatherWing though, and the radiofruit doesn’t say it’s been tested with the ESP32 feathers.

I also am interested in a stand-alone device. I suppose a RaspberryPi Zero combined with a PiSugar2 battery and one of the standard LoraWan modules would work fine… but battery life would be much shorter than the LoraWan boards are capable of.

I think the CardKB I2C keyboard is the most likely path to a stand alone device at this time, stacking a bunch of feather wings together creates an expensive (at least $150 a unit), large and pretty fragile device to actually use.

All the pieces are there for someone to get it working now, but the reality is that there are better complete ESP32 devices, and better modular nrf52 platforms to use.

I know people are using PI’s with android running the app to connect to larger screens, but a tracphone is $29 so a portable pi unit seems pretty impractical.

I was thinking more in ways of the command-line access via Linux.

Regarding the CardKB I2C: I’m not knowledgeable on the nitty-gritty of the meshtastic firmware. I presume that using that would require writing custom firmware with a contact-list, send-message system, and such, right? And I presume this is written in C? I’ve written very little C and it was extremely slow-going when I did, so I’m hoping there’s an easier way. :slight_smile:

Termux for android is a good terminal.

A plugin needs to be written pretty similar to this one, and it need some screens Serial communication plugin | Meshtastic, search for CardKB on the discord. It is C, but it would be simplified single page Arduino like C. The node and user data and message functions are already available on device.

Seeing the keyboard featherwing sparks the idea of the stand alone device, but what we really need first is the I2C keyboard support and plugin

1 Like

I was hoping this could be wired up to work.


More software than wiring really, the keyboard featherwing needs an I2C keyboard plugin and support for a totally new color screen. I think once the keyboard is supported it is a much simpler project.

I have two. If @mc-hamster wants to give it a try I’ll mail one to him.

If what you need is i2c keyboard support, I’ll give it a go.

If what you want is display support, user interfaces isn’t really my thing :slight_smile:

3 Likes

My idea here is to use a rotary encoder to choose from canned messages. See my post in this topic:

With that said maybe the first step is to use a supported device that includes an already functioning screen.

As for the display I imagine there are two stages. 1st get the existing layout to show on this screen. 2ed configure new screen layouts for larger displays.

Somewhere in-between those two projects is support for using the keyboard to send messages and the supporting interface pages…

Maybe keyboard support can be rolled out in multi stages. First stage would likely allow mapping of the basic interface buttons to an i2c device. Second stage likely requires enhancements to the on device user interface.

I’ll stop here since others likely have a better grasp on this then I do.

The plumbing to support ST7735 based TFT displays is already in the code.

See: TFTDisplay.cpp

1 Like

Please @mc-hamster we really need an I2C keybord.The interface really doesnt matter just make something basic that works

2 Likes