Bluetooth HID on Artemis Thing Plus (or other board?)

I want to make a few different custom game controllers:

  • a button plate for my force-feedback steering wheel, which needs to be wireless

  • a button box, which will be wired

  • an MMO-orientated gamepad, which I prefer to be wireless but can live with being wired

I have some minor experience with Arduino and similar boards and Raspberry Pi, but haven’t touched any programming for Bluetooth. From what I’ve seen, the easiest approach would be for me to use boards capable of being a HID since the racing simulator I’m using on Windows 10 needs to see a game controller or keyboard, etc.

While looking for an appropriate board on Sparkfun for use with my first goal, the wheel plate, I got lost in all the various board types and specs and failed to notice that the Artemis Thing Plus doesn’t do HID before I purchased it a while back.

https://www.sparkfun.com/products/15574

I just did a search across Sparkfun products:

https://www.sparkfun.com/search/results?term=hid

It looks like the only board of reasonable size for the project capable of Bluetooth and being a HID is the Artemis Development Kit.

https://www.sparkfun.com/products/16828

That’s a bit much to pay when I just want to make a simple game controller—especially more than one, plus it’s a bit large, and if I understand correctly, that only applies to the USB interface and not Bluetooth, correct? I can use a wired Teensy LC or 3.2 for the button-box and, if need be, the MMO-controller. I suppose I can add an RN-42 Bluetooth SMD Module to my Artemis Thing Plus, but that seems silly.

https://www.sparkfun.com/products/12574

I found mronetwo’s project, but he hasn’t updated in a year and it looks like he may have dropped it. I don’t think I have the expertise/energy to continue it.

viewtopic.php?f=172&t=52751&p=214508&hilit=hid#p214508

https://gitlab.com/MrOneTwo/bluetooth-keybd-artemis

To keep cost, size, and learning curve down, do I need to go with something like an Adafruit Feather and just save the Thing for another project?

https://learn.adafruit.com/ble-hid-keyb … cuitpython

Or am I focusing too much on Bluetooth HID? Is there a better way for the Artemis Thing Plus to look like a game controller to Windows 10 wirelessly? Heck, I’ll take over USB and use it for the button box at this point, even if that’s a waste of capability.

Thanks for any help.

I haven’t gotten any Bluetooth HID working yet, so I can’t help out there. However, I know there are built-in HID libraries for the Arduino IDE. Look under Examples > USB

I have used it with the [SAMD21 MCU, but I have never tested it with the Artemis (you’ll have to double check that it is capable of emulating an HID).](Having Fun and VR Gaming with the Razor IMU - News - SparkFun Electronics)

Santa_Impersonator:
but I have never tested it with the Artemis (you’ll have to double check that it is capable of emulating an HID).

That’s what I was hoping for help with. The description for the dev kit says:

An updated USB interface (MKL26Z128VFM4 Arm® Cortex®-M0+ MCU, from NXP) allows the Artemis Dev Kit to act as:

  • Mass Storage Device (MSD): Used to provide drag and drop programming to the Artemis Module.

  • Human Interface Device (HID): Used for the debugging interface to the Artemis Module.

  • Communication Port (COM): Used to provide a serial communication UART between the Artemis and the USB connection (PC).

The Artemis Thing Plus makes no mention of this interface, so it makes me think that HID is not fully supported on it. I was hoping for verification one way or the other.

Make sure you re-read that… the HID capability is provided by the NXP “interface” chip and not the Artemis module. See the [hookup guide for more details.](Getting Started with the Artemis Development Kit - SparkFun Learn)

I guess it’s yet another one of these mini boards that goes in the “for some undetermined future project” box then. Thanks for verifying.

What you could potentially do is have the NXP chip operate at the HID (not sure how that works) and have the Apollo3 receive bluetooth information. Not exactly sure if that’d work. However, you probably can’t have the Artemis DK operate as bluetooth gamepad directly… I’d eventually like to try to figure out if the Apollo3 is capable of that. Unfortunately, I can’t verify that it would without running down a deep rabbit hole, which I wish I had the time for.

Another fun project, if I had time, was took try using Sensory: https://www.youtube.com/watch?v=BjoyTRujFc4

I got as far as getting the Sensory app working, you just send them an email to get a trial license and it is free to use as long as you don’t “commercialize” it in a product. The next step was getting the firmware from Ambiq, but they had an NDA contract… which kind of defeated the purpose of getting it working for a SparkFun blog post. Sadly, it meant I wouldn’t be able to post code or instructions on it. It would have been cool to create a voice command based HID or bluetooth device.