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 […]
10.1-inch RPI All-in-One PC review with Raspberry Pi 4
A couple of months ago I received “RPI All-in-One”, a 10.1-inch touchscreen display for Raspberry Pi boards, listed the specifications, checked out the package content, installed a Raspberry Pi 4 inside the display before booting my new all-in-one (AiO) PC successfully. I’ve now had time to spend more time with the PC/display and see how it performs under various conditions. I also tested HDMI and USB-C input features with a laptop and mini PC. Fan or fanless operation? After updating Raspberry Pi OS, I ran sbc-bench.sh script together with rpi-monitor to see how the Raspberry Pi 4 with 1GB RAM would perform under load with the (noisy) fan enabled.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
sbc-bench v0.9.1 Installing needed tools. This may take some time. Done. Checking cpufreq OPP. Done (results will be available in 11-15 minutes). Executing tinymembench. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Checking cpufreq OPP. Done (17 minutes elapsed). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LC_ADDRESS = "en_GB.UTF-8", LC_NAME = "en_GB.UTF-8", LC_MONETARY = "en_GB.UTF-8", LC_PAPER = "en_GB.UTF-8", LC_IDENTIFICATION = "en_GB.UTF-8", LC_TELEPHONE = "en_GB.UTF-8", LC_MEASUREMENT = "en_GB.UTF-8", LC_TIME = "en_GB.UTF-8", LC_NUMERIC = "en_GB.UTF-8", LANG = (unset) are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). It seems neither throttling nor frequency capping has occured. Memory performance: memcpy: 2595.9 MB/s (0.8%) memset: 3398.3 MB/s (2.7%) 7-zip total scores (3 consecutive runs): 5556,5650,5565 OpenSSL results: type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 61981.49k 76335.40k 82773.25k 84199.42k 84355.75k 84393.98k aes-128-cbc 62224.25k 76254.36k 82779.39k 84461.91k 84757.16k 84825.43k aes-192-cbc 55900.34k 67052.89k 71500.80k 73121.11k 73362.09k 73203.71k aes-192-cbc 55869.41k 66963.52k 71835.14k 72934.74k 73471.32k 73465.86k aes-256-cbc 50541.63k 59834.26k 63387.14k 64413.70k 64634.88k 64760.49k aes-256-cbc 50646.47k 59735.02k 63384.92k 64461.14k 64648.53k 64629.42k Full results uploaded to http://ix.io/3MfY. In case this device is not already represented in official sbc-bench results list then please consider submitting it at https://github.com/ThomasKaiser/sbc-bench/issues with this line: | RPi 4 Model B Rev 1.1 / BCM2711 rev B0 | 1500 MHz | 5.10 | Bullseye armhf | 5590 | 62100 | 64690 | 2600 | 3400 | - | [http://ix.io/3MfY](http://ix.io/3MfY) | |
No throttling was detected, and the temperature never exceeded 56°C in a room with an ambient temperature of 26°C. I then disconnect the fan, but it turns out the fan can also be easily disabled in the OSD menu […]