Skip to content

Latest commit

 

History

History
75 lines (64 loc) · 2.84 KB

documentation.org

File metadata and controls

75 lines (64 loc) · 2.84 KB

Kind note

The keyboard project is a bit on the backburner. The current code is functional for the enthusiast and will work as advertised. Currrently, the display interface is not finished (PR welcome ;)). Further, the esp32 C1 used here ended up consuming quite a lot of battery. From some initial tests, the esp32 can, in the worst case, end up consuming up to 150mah. This lackluster performance compared to say the nicenano!v2 prevents its from forming a nice base for a long lasting keyboard. By eliminating the wifi antenna from earlier builds by using bluetooth mesh functionality this was reduced to 50mah on the units I have. Although a great improvement, it still requires to recharge the keyboard every 2 days or so.

Installation

The flashing and dependencies are handled through Platformio. Install platformio using the install instructions. I installed it using mamba

mamba install platformio

Familiarize yourself with platformio framework. Their documentation is way better than this one.

Flashing

Currently splitboard supports two modules operating in conjunction. One board acts as a host that interfaces as a bluetooth Human Interface Device (HID) with the external device. In addition, it also works as a host server for the other half. Both halves have to be flashed with these differences in mind.

The consequence being that one has to flash one of the halves with the master role and the other half with the slave role. Configuration is handled in src/config.hpp; the variable serv_addr should contain the mac address of your target server previously mentioned. The mac address can be obtained through platformio through:

pio device list

after connecting the device with a usb connection that supports data transfer.

Flashing can be performed by running

pio run -t upload --upload port /dev/ttyusbX

where @x is the port of one of your halves. Alternatively one could use the provided `flash.py` by running

python flash.py

Troubleshooting

Bluetooth not connecting after flash

Bluetooth sometimes prevents reconnect after the device is flashed. This bug has unknown origin to me and could be related to BLE framework used. It can be fixed by removing the bluetooth devices on the connected device and reconnecting

Bluetooth connection takes long to establish

Sometimes the bluetooth connection takes a long time to connect. In particular, this may occur when initially connecting the device to computer. I believe this is caused by the server looking for a client and overwhealming the processor preventing any connection to establish. This is best circumvented by first powering both halves on, and then connecting it to a device.