We were looking at WCH @Patrick_RISCV for a USB to serial chip to replace the CP210x, when we remembered a lot of chatter a few years ago about the CH552 series of ultra-low-cost 8051 microcontrollers with native USB. you can kinda sorta code these with Arduino https://hackaday.io/project/172143-ch55xduino and we thought it could be an interesting QT Py since it has so few pins but does cover the basic use cases: 4 ADC, UART, SPI and maybe even I2C with a bitbang connection? Still, for very very basic USB projects maybe it would be useful, particularly since it has a ROM USB bootloader. Here’s a simple design we whipped together. Since there isn’t a lot of muxing or IO available, MISO and A2 share the same pin. Some interesting unusual things to watch for: reset is backwards from how we’d expect, and bootloader mode is entered by pulling D+ to 3V? Any CH55x experts out there who want to take a look and see if we got it all wired right? Anything we missed?
Halloween season is here! Check out all the posts, gift guides, and more!
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7:30pm ET! To join, head over to YouTube and check out the show’s live chat and our Discord!
Join us every Wednesday night at 8pm ET for Ask an Engineer!
Join over 38,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord
CircuitPython – The easiest way to program microcontrollers – CircuitPython.org
New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — NEW PRODUCT – ScoutMakes DRV5032 Digital Magnetic Hall Effect Sensor
Python for Microcontrollers – Adafruit Daily — Python on Microcontrollers Newsletter: Adafruit Grand Opening, Profile MicroPython Memory and More! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi — Classic editor
EYE on NPI – Adafruit Daily — EYE on NPI Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey
Adafruit IoT Monthly — Garden Lights, Bluetooth 6.0, and more!
Maker Business – Adafruit Daily — A look at Boeing’s supply chain and manufacturing process
Electronics – Adafruit Daily — When do I use X10?
2 Comments
Sorry, the comment form is closed at this time.
Author of ch55xduino here.
The ch552 uses vcc for USB IO, and it has internal regulator to generate 3.3V for core. If you want a 5V board, ldo is not needed and neopixel should be connected to 5V. If you want a 3.3V board, I need to check how the 3.3v pin should be connected. But VCC should definitely be connected to 3.3V
For ch552, 3.3V voltage limit code speed to 16M
Finally get to access to internet and laptop.
RESET can be repurposed as IO by setting the configuration bit. So the resistors and capacitors may not be needed, there is internal pull-down on reset anyway.
It seems you do want the board to run on 3.3V, then you need to connect 3.3V to VCC. In this way there is no risk to break the external boards. However, I think it is also OK to keep the LDO for external 3.3V boards, and add pull-up resistors to 3.3V. Then the chip can work at 24M with 5V power, and the IO can be configured to open drain and work with 3.3V I2C.