Skip to content

asterics/BleenyButton

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bleeny: an nRF52840-based low cost BLE Button

The Bleeny Button is an assistive switch for creating a key press or other HID activities using Bluetooth Low Energy (BLE). It can be used to control SmartPhones, Tablets, Computers or AAC Software like our free and open source Asterics AAC. The Bleeny Button utilizes the affordable Tenstar Robot devboard (aka nice!nano) with the Nordic nrf52840 microcontroller. A good summary of the features of this SoC/board is provided at the Zephyr documentation page. The source code builds with PlatformIO, using the Adafruit nRF52 and Bluefruit libraries. The code is based upon the BLE keyboard example

Requirements

  • install VSCode/PlatformIO and build a project for the Adafruit Feather nRF52840 Express (or a similar Adafruit nRF board, to install the nRF platform packages)
  • add the files for the nice nano board as described here: Nicenano-NRF52-Supermini-PlatformIO-Support

Usage

  • build and upload the demo code (note that the Serial USB CDC interface must be enabled in the code in order to use the auto-upload via DFU in PlatformIO)
  • pair the BLE device (e.g. Bleeny-214D, the unique number is composed from the mac address of your device)
  • attach a pushbuttons to GPIO pin 017 and GND (optionally, more buttons can be connected to pins 020, 022, 024 and 100)
  • when pressed, the buttons shall trigger keys (default settings are: SPACE , ENTER, 1, 2 and 3)

Notes regarding low power operation / current consumption

In paired active mode, current consumption is about 1.2mA @ 3,3V (which can reduced to ~1mA if the activity LED is not used).
After an adjustable time of user inactivity (constant SLEEP_TIMEOUT_MS), the nRF enters hibernation / deep sleep where current consumption drops to ~1,4uA @ 3,7V. (For this, the LDO for providing external VCC must be disabled, else around 40uA are consumed). This could be further improved by supplying power directly to the VDD pin on the backside of the PCB, see this post in the Arduino forum A wakeup can be triggered by pressing any of the configured buttons. This will cause a system reset. BLE connection to a paired host is usually re-established in 1-3 seconds.

Suggested hardware setup

In the hw folder, STL files for a 3D-printed enclosure are provided for housing the microcontroller PCB, one tactile pushbutton (size 12 x 12 mm, height 10mm) and a 170mA LiPo battery. Using this setup, a BLE switch can be made for less than 10 € material cost!

parts and size comparison parts mounted in base assembled Bleeny Button

Acknowledgement

This work has been accomplished at the UAS Technikum Wien in course of the R&D-project InDiKo (MA23 project 38-09), which is supported by the City of Vienna.

About

A BLE keyboard demo using the affordable Tenstar Robot nrf52840 devboard (aka nice!nano).

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages