Posts

Showing posts from February, 2018

How to create cacert.h for ESP8266 secure TLS example

How is the following root CA file created? https://github.com/esp8266/Arduino/blob/master/libraries/ESP8266WiFi/examples/HTTPSRequestCACert/CACert.ino Here is one way to do it by hand. If you need to do this a lot, a Python script could probably do all of it. In FireFox connect to "https:://api.github.com". In the address bar, to the left of the URL, click on the circled 'i' icon for more information. Click on the '>' icon. Click on "More Information" button at the bottom of the window. In the new window titled "Page Info - https://api.github.com", click on the "View Certificate" button. In the "Certificate Viewer" window, click on the "Details" tab. In the "Certificate Hierarchy" top window pane click on "DigiCert High Assurance EV Root CA" so it is highlighted. Click on the "Export..." button at the bottom of the page. At the bottom of the page select "X.509 Certif...

MIDI USB Host to DIN with Arduino SAMD Board

usbh_midi_samd is the USBH_MIDI driver from the USB Host Shield 2.0 project to the ArduinoCore-samd project. Most of the time was spent fixing bulk in/out pipes. A USB OTG to host cable or adapter is required. The driver has been tested minimally on an Arduino Zero but it should work on other boards based on the SAMD family. For example, the driver works on an Adafruit Trinket M0.d https://github.com/gdsports/usbh_midi_samd

Mini Untztrument

miniuntz is based on the code at [Adafruit's Mini Untztrument tutorial](https://learn.adafruit.com/mini-untztrument-3d-printed-midi-controller) but miniuntz does not depend on Teensy USB code. It uses the Arduino MIDIUSB library by Gary Grewal which simplifies the software installation. miniuntz has been tested on the SparkFun Pro Micro 5V which has the same processor (32u4) as the Leonardo. The Adafruit Itsy Bitsy 5V also has a 32u4 processor so it should also work. miniuntz has been tested on the Adafruit Trinket M0 with bidirectional logic level changer.  Analog inputs are not tested. But the Trinket M0 should have 3 inputs for analog input, if desired.  This should also work with the Itsy Bitsy M0, Feather M0, SparkFun SAMD21, and Arduino Zero. All use 3.3V logic levels so a logic level converter is used. https://github.com/gdsports/miniuntz

Arduino MIDI UART to USB converter

Bi-directional converter between MIDI USB and MIDI UART. There are many pages that describe how to connect a UART port to DIN connectors so it is not covered here. Install MIDI Library and MIDIUSB libraries. Tested using Arduino IDE 1.8.5. Maximum System Exclusive size is 1024 bytes. Tested in 32u4 boards such as Arduino Leonardo, SparkFun Pro Micro, and Adafuit Itsy Bitsy. Tested on Arduino Zero and Adafruit Trinket M0. It might work on other SAMD21 boards. SAMD21 has more RAM so the System Exclusive size could be made larger, if needed. https://github.com/gdsports/MIDIUARTUSB

USB Metamorph Project

Imagine plugging a USB keyboard into a small box then plugging the small box into a computer. Pressing keys on the keyboard produces MIDI CC messages. Image plugging  a USB keyboard into a small box then plugging the small box into two computers. Pressing keys on the keyboard sends keystrokes to both computers. The USB metamorph project explores connecting one ore more USB controllers, host and device, in useful ways. The Adafruit Trinket M0 makes it cheap and easy to experiment with multiple USB controllers. The interconnection will use UART for simplicity but SPI and I2C interfaces are available on the Trinket M0. The SAMD21 native USB port is USB On-The-Go (OTG) which means it supports host and device modes. To use USB host mode, all that is needed is a simple USB OTG to host cable. More details over at github.com .