Making Devices' NightUSB Is a Compact Board for Experimenting with Microchip PIC18F14K50 USB Support
Designed for a minimal footprint, this tiny dev board makes it easy to try out the PIC18F's integrated USB 2.0 capabilities.
Pseudonymous open hardware and software developer "Making Devices" has designed a compact development board built for those looking to experiment with the USB capabilities of the Microchip PIC18F: the NightUSB.
"The [Microchip] PIC18F14K50 is USB-2.0 fully compatible, so this small dev board aims to explore the USB communication," Making Devices writes of the compact board. "Simulating mouse, keyboard, make small scripts for BADUSB behaviour, and so much else can be done with this microcontroller. On the other hand, most of the IO pins of the PIC18F are available in the board, so even if you don't have any project with an USB, you can use the board as a normal dev board."
The chip at the heart of the board, Microchip's PIC18F14K50, is based on the eight-bit PIC architecture and comes with a single core running at up to 48MHz, 512B of static RAM (SRAM) plus 256B of dual-port RAM (DPRAM), 16kB of program flash, SPI and I2C buses, and a nine-channel 10-bit analog to digital converter (ADC) with two comparators.
It's the chip's integrated USB 2.0 support that Making Devices focused on with the NightUSB, though. Designed for a minimal footprint, the development board slots straight into a host machine's USB port with only a 470nF capacitor between the USB port and the microcontroller. A demo firmware acts as a mouse jiggler β though general-purpose input/output (GPIO) and USB pins are brought out to 0.1" pin headers if you want to do something more complex.
The design of the board is finalized, Making Devices says, but it does come with a warning: "it does not [feature] isolation between the PIC and the USB," its creator says, "so it should be handled quite carefully."
More details on the project are available on Making Devices' Instructables page, while the source code and hardware design files have been published on GitHub under the GNU General Public License 3 and the Strongly Reciprocal version of the CERN Open Hardware License 2 respectively.