Mini review of ORICO “USB 4.0” M.2 NVMe SSD enclosure

Orico USB 4.0 M.2 NVMe SSD enclosure review

ORICO has sent me a sample of a USB 4.0 M.2 NVMe SSD enclosure for review, which was timely as I did not have a fast USB storage option for testing. In this post, I’ll check out the hardware, show how to install an NVMe SSD, and test performance in UP Xtreme i11 mini PC since it happens to come with a USB4 port. ORICO USB 4.0 M.2 SSD enclosure specs and unboxing The exact model I received is the ORICO M234C3-U4 with a Rose Gold aluminum enclosure (107x50x17mm), supporting M.2 M-Key and B+M Key 2230, 2242, 2260, 2280 SSDs (more on that later), and offering up to 40 Gbps through its USB 4.0 port. The device ships with a USB Type-C to USB Type-C/Type-A cable, a thermal pad, a heatsink, two screws, and a multilingual user manual. There’s only one USB Type-C port one the device. M.2 NVMe SSD […]

Open-source hardware USB Type-C industrial camera features Lattice Crosslink NX FPGA

Gaurav Singh, acting as Circuit Valley, has designed an open-source hardware USB 3.0 Type-C industrial camera with three boards: one to capture data through a CMOS sensor,  another based on a Lattice Crosslink NX FPGA to handle image processing, and finally, a board equipped with an Infineon FX3 USB 3.0 controller for sending the video data to the host. This design allows the DIY camera to be extremely flexible, as for instance, you could keep the FPGA and USB board, and simply change the sensor board for a better/different camera. A 3D printable enclosure is also provided, and the camera supports C-mount lenses, so the lens can also be easily changed as required. Here’s what the final result looks like. Camera specifications: Sensor board Sensor for example Sony IMX290, IMX327, or IMX462 Oscillator FPGA/Host board interface – High-density connector with I2C, 4-lane MIPI with clock, I2C, a few other control […]

CherryUSB – A lightweight USB device/host stack for embedded systems

CherryUSB is a lightweight open-source USB device/host stack for embedded systems with one or more USB interfaces. The stack implements various class drivers such as CDC, HID, MSC, audio, video, and so on. It’s apparently part of Boufallo Lab SDK (e.g. for BL702 MCU), and has been ported and tested with WCH CH32V307 RISC-V MCU, STMicro STM32F4, and Nuvoton NUC442 Cortex-M4 microcontroller, as well as a two Arm Cortex-M3 microcontrollers I’ve never heard of: EastSoft ES32F3 and MindMotion MM32L3xx. CherryUSB device stack highlights: Support for USB2.0 full and high speed Endpoint irq callback USB classes support Composite Device Communication Device Class (CDC) Human Interface Device (HID) including “Custom HID” Mass Storage Class (MSC) USB VIDEO Class (UVC1.0,UVC1.5) USB AUDIO Class (UAC1.0, UAC2.0) Device Firmware Upgrade CLASS (DFU) MIDI CLASS (MIDI) Test and Measurement CLASS (TMC) Vendor class Remote NDIS (RNDIS) support Support WINUSB 1.0,WINUSB 2.0 with BOS (Binary Device Object […]

T-Dongle ESP32-S2 WiFi development board comes with two USB OTG ports

LilyGO has been very busy in recent weeks, and their latest product is the “T-Dongle ESP32-S2” development board that looks very much like Espressif ESP32-S3-USB-OTG board development board but is equipped with the single-core WiFi-only ESP32-S2 processor instead of the dual-core ESP32-S3 SoC with WiFi 4 and Bluetooth 5.0. The T-Dongle ESP32-S2 board is designed for the development of USB applications and comes with USB OTG female and male ports, as well as the same 1.14-inch color display found on T-Display RP2040/ESP32 and T-PicoC3 boards. T-Dongle ESP32-S2 development board specifications: Wireless SoC – Espressif Systems ESP32-S2 single-core Xtensa LX7 processor @ up to 240 MHz with  320 kB SRAM, 128 kB ROM, WiFi 4 connectivity Antennas – 3D antenna, IPEX antenna connector Storage – MicroSD card socket Display – 1.14-inch full-color IPS LCD Display (ST7789V SPI controller) with 240 x 135 resolution USB 1x USB OTG female port to connect […]

WCH CH343 USB to serial chips support 1.8V to 5V IO voltage, 6 Mbps baud rate, custom VID/PID

WCH CH340  family of USB to serial chip is very popular, and often found on development boards for debugging/access to the serial console, but the company has now introduced the CH343 “Gen3” chip – just like CH9102F apparently – with a higher 6 Mbps baud rate, support for 1.8V, 2.5V, 3.3V, and 5V IO voltage, and the ability to request custom USB VID/PID numbers. Three variants exist with CH343P, CH343G, and CH343K with different packages: QFN16, SOP16, and ESSOP10 respectively. CH343P contains an EEPROM for easy customization, while CH343G and CH343K PID/VID can still be customized for larger orders. CH343 key features and specifications: Full-speed USB 2.0 device interface Hardware full-duplex serial UART interface with baud rate varies from 50bps to 6Mbps. Automatic identification and dynamic adaptation of common communication baud rate of 115200bps and below. Supports 5, 6, 7, or 8 data bits, as well as odd, even, space, […]

ESP USB Bridge project converts ESP32-S2 or ESP32-S3 into a USB to UART/JTAG chip

Espressif’s ESP USB Bridge is a project based on the ESP-IDF that leverages ESP32-S2 or ESP32-S3 USB interface to use the board as a USB to UART or USB to JTAG debug board. It can serve as a substitute for USB to TTL debug boards based on CH340 or CP2104 for instance, be used with OpenOCD in JTAG bridge mode, and also flash UF2 firmware file to the target board. As just mentioned, there are three main use cases: Serial bridge mode with a terminal program or a firmware flashing tool like esptool. In that case, it just works like your typical USB to TTL debug board JTAG bridge mode for JTAG debugging with OpenOCD, and if the target board is based on ESP32, you can use openocd-esp32 project Mass storage device where the board can be accessed by a file manager on the host computer. One of the specific […]

WCH CH348 is an 8-port USB to serial chip with up to 48 GPIOs

If you need to control or debug multiple devices over UART devices, you’d be glad to learn WCH has just launched the CH348 USB to serial chip with eight UART ports. Two models are offered CH348L in an LQFP100 package and CH348Q in an LQFP48 package. Both offer eight UART interfaces, but CH348L comes with more CTS/RTS and DTR/hardware flow control signals, as well as DTR, DCD, RI signals, and support for independent voltage for I/Os. CH348 key features specifications: High-speed USB device interface Hardware full-duplex serial port, integrated independent transmit-receive buffer Baud rate varies from 1200bps to 6Mbps. The serial ports support 8 data bits, odd, even, and none parity, 1/2 stop bit. Each serial port comes with a 2048-byte receiving FIFO and a 1024-byte transmitting FIFO. Signals RTS, DTR, DCD, RI, DSR, and CTS supported for hardware flow control The MODEM interface signal pins and 485 transmit and […]

Raspberry Pi RP2040 gains an extra USB port through PIO’s (programmable I/Os)

The Raspberry Pi RP2040 specifications only list one USB 1.1 Host/Device hardware interface, but developer’s Sekigon Gonnoc decided to leverage the microcontroller’s programmable I/Os (PIO) to add an extra USB port that also works in host or device mode. While the C library is still supposed to be a work in progress Sekigon implemented full-speed (12 Mbps) and slow-speed (1.5Mbps) host, full-speed device, USB hub, and multi-port support. There’s even a demo with three “Pico Pico USB” keyboards acting as USB hubs and HID plus a wireless mouse to show the results. The implementation uses one PIO for the USB transmitter using 22 instructions and one state machine and another PIO for the USB receiver using 31 instructions and two state machines, as well as one 1ms loop timer for the host, and one PIO interrupt for the receiver. You’ll find the code to implement the extra USB port on […]