Posts

Microsoft Xbox Adaptive Controller with Logitech Extreme 3D Pro Flight Stick

Image
The Logitech Flight Stick with hat switch connected to the Microsoft Xbox Adaptive Controller (XAC) is a good solution of one-handed Xbox gamers but the XAC ignores the hat switch. The joystick splitter project is one way to solve this problem using Arduino compatible boards. Enabling the hat switch makes one handed gameplay much easier. This project also changes the default button mapping so the buttons work for most games. https://github.com/gdsports/xac-joystick-splitter The project does not require modifying the joystick or the XAC. The joystick splitter works by capturing USB joystick messages from the Logitech joystick then sending them out to the two XAC USB joystick ports. The hat switch appears to the XAC as another joystick.

Using Beagle USB 12 on Ubuntu 18.04

I upgraded from Ubuntu 14.04 to 18.04 then found the Total Phase Data Center software for the Beagle USB 12 no longer works. strace shows a number of missing shared libraries. The solution is to copy the missing libraries from 14.04 into the Data Center local library directory. data-center-linux-x86_64-v6.73/lib/ libpng12.so.0 libgstinterfaces-0.10.so.0 libgstapp-0.10.so.0 libgstpbutils-0.10.so.0 libgstvideo-0.10.so.0 libgstbase-0.10.so.0 libgstreamer-0.10.so.0

Adafruit M4 (SAMD51) and Playstation 3 Controller over Bluetooth

Image
The USB Host Library for SAMD  now supports the PS3 game controller over Bluetooth. This is a port of the PS3BT code from the USB Host Shield 2.0 project. The Metro M4 is an Arduino compatible board from Adafruit. The SAMD51 is a Cortex M4 running at 120 MHz and has hardware floating point, 512 KB Flash, and 192 KB RAM. Components starting from the Metro M4 board. Adafruit Metro M4 with USB OTG to host adapter and USB Bluetooth plug USB FTDI serial board for serial console and power USB phone/tablet charger, 5V Playstation 3 controller (clone) with Bluetooth FTDI    | Metro M4 board ------  | --------- 5V      | VIN GND     | GND RXD     | TX-1  (Serial1) TXD     | RX-0  (Serial1)

USB Host Library for SAMD

Image
The USB Host Library for SAMD  is based on the USB Host Shield Library 2.0 with modifications to work on Arduino and Arduino compatible SAMD boards. Some drivers (ftdi, pl2303, cdcacm, HID, MIDI, Xbox controller, and Playstation controller) have been tested and some not at all (ADK and Bluetooth). The Arduino Zero, M0, and MKR Zero boards are known to work. A few Adafruit M0 (Trinket M0 and Feather M0 Express) and Metro M4 boards are also known to work. The library uses the built-in USB OTG hardware also known as the native USB port. The MAX3421E controller is not supported. The Arduino Due native USB port is not supported. USB Host Library for SAMD

Teensy 3.6 USB host printer driver released

Image
The Arduino ESC/POS printer library has been released. It is designed to work with USB receipt printers on the Teensy 3.6 USB host port. The Teensy 3.6 USB host printer driver is required. https://github.com/gdsports/USBPrinter_t36 https://github.com/gdsports/ESC_POS_Printer The ESC/POS printer library is based on the Adafruit Thermal printer library but is designed to work on USB receipt printers. ESC/POS refers to the commands to control the printer fonts, graphics mode, etc. The following is a useful reference. https://reference.epson-biz.com/modules/ref_escpos/index.php

Dvorak, Colemak, and Teensy 3.6

My fork of the keymapper project is another result of experimenting with Teensy 3.6 USB host. The keyboard remapper supports alternate keyboard mappings including QWERTY, Dvorak and Colemak. Hot keys are defined to make it easy to switch among mappings. Both USB ports of the Teensy 3.6 are used. The host port is where the USB keyboard plus in. The device port is where the computer plugs in. The remapper reads key codes from the keyboard, swaps key codes if needed, then writes the key codes to the computer.

Teensy Typewriter

Image
I have been experimenting with the Teensy 3.6 USB host library. The first result is the Teensy Typewriter project which connects a Teensy 3.6 with a USB keyboard and USB printer. Anything typed on the keyboard comes out on the printer. Next up (maybe) an ESC POS printer command library similar to the Adafruit Thermal Printer library. The commands are not quite the same and the Adafruit library includes lots of timing specific to the Adafruit thermal printer. After that the next project title will be "Teensy Typewriter ft. SMS". I have an Adafruit FONA somewhere. The idea is an SMS hardcopy terminal reminiscent of Telex/TWX machines.