Close
0%
0%

CHUSBIE552 - CH552 Development board

Wanting to get more development boards of this little 8-bit MCU out into the wild

Public Chat
Similar projects worth following
This is my take on an effective development board for the WCH CH552. Designing a board to keep costs low and but expose enough features for embedded designers to make the most of the capabilities.

The over all go is to increase the adoption of this little low cost MCU, and help to generate more software support.
USB is everywhere and designing low power USB devices sound not be difficult or expensive.

The CHUSBIE552 has many features that will be useful for developing with the CH552. The board is fitted with either the CH552T and the cheaper CH552G for  those who need less IO pins. 

The CHUSBIE552 has:

  • CH552T or CH552G MCU 
  • 2 x indicator Leds on P3.0 and P3.1 for easy debugging. 
  • Micro USB socket for programming and native USB operations.
  • Power Led 
  • landings for optional external HC49 crystal and load capacitors  for precise timing operations.
  • Bootloader select button 
  • Reset Button 
  • Breadboard friendly pinout

Features Added for V2

  • USB-C port with USB-PB control (feature on the CH552 can be over-ridden)
  • VCC reverse protection.
  • VBUS back-powering protection ( Protects Host device from back-powering can be over-ridden)
  • Pin for V-BUS made available on pinout

Features of the CH552

  • Enhanced E8051 core MCS51 compatible instruction set which 79% of single-byte instructions are single cycle instructions, instruction average
  • Faster than standard MCS51 8 - 15 times, specific data XRAM fast copy instruction, dual DPTR pointer
  • 16KB capacity reprogrammable non-volatile memory ROM, may all be used to program memory space; or may be divided as for a 2kB Bootloader
  • DataFlash: 128 bytes of data can be repeatedly rewritable nonvolatile memory, support rewriting data in bytes
  • RAM: 256 bytes of internal iRAM, can be used for temporary storage and fast data stack; 1KB xRAM for slower bulk storage.
  • USB: Embedded USB transceiver and the USB controller support the USB-Device device mode, supports USB type-C master-slave detection,Support USB 2.0 full-speed 12Mbps or low-speed 1.5Mbps. Supports up to 64-byte packets, the FIFO built, supports DMA
  • Timer: 3 sets a timer, T0 / T1 / T2 standard MCS51 timer.
  •  Capture: Timer T2 extended to support 2-channel signal capture.
  •  PWM: PWM outputs 2, PWM1 / PWM2 2 8-bit PWM output.
  •  UART: 2 groups of asynchronous serial ports, support higher baud rate, UART0 standard MCS51 serial port.
  • SPI: SPI controller built-in the FIFO, up to half the clock frequency of the system frequency Fsys with serial data input and output. Simplex multiplexing, supports Master / Slave mode from the master
  • ADC: 4 channel 8-bit A / D analog-digital converter, a voltage comparator support.
  • Touch-Key: 6-channel capacitive sensing, supports up to 15 touch keys, support independent timer interrupt.
  •  GPIO: GPIO pins support up to 17 (inclusive XI / XO and RST signal pins and USB).
  • Interrupt: Support group interrupt signal source 14, including a standard group 6 MCS51 compatible interrupt (INT0, T0, INT1, T1, UART0, T2), and an extended set of 8 interrupt (SPI0, TKEY, USB, ADC, UART1, PWMX, GPIO, WDOG), wherein the GPIO interrupts may be selected from seven pins.
  • Watch-Dog: 8-bit watchdog timer preset WDOG, support the timer interrupt.
  •  Reset: reset signal supports four source, and internal power-on reset, reset and watchdog timeout support software reset, optional outer pin Reset input unit.
  • Clock: Built 24MHz clock source, may be supported by multiplexing GPIO pin external crystal.
  • Power: low-dropout voltage regulator 5V to 3.3V, 3.3V, or even support 2.8V 5V supply voltage. Support low power Wake from sleep, support for USB, UART0, UART1, SPI0 as well as external GPIO wake.
  • Chip built a unique ID number. 

  • 1 × WCH CH552 can use either the CH552G of the CH552T
  • 4 × 0.1 uF 16v 0603 MLCC Capacitor Jellybean part many available
  • 1 × 10118193-0001LF Connectors and Accessories / Telecom and Datacom (Modular) Connectors
  • 2 × PTS810SJM250SMTR LFS Switches and Relays / Switches
  • 3 × 330R ohm 0603 SMT thick film resistor Jellybean part many available

View all 6 components

  • New version 2 PCBs have arrived and initial run up

    Gee Bartlett12/07/2020 at 21:23 0 comments


    Version 2 PCBs

    Unfortunately I have been sitting on this project for a little bit and failed to update things here. I did go ahead and order the new version 2 PCBs back in August and they arrived sometime near the end of August.

    I love the way these PCBs look the silk could be a little cleaner but they feel like a finished product. As you can see I went for panels again I wanted to have boards that i could populate just in case everything turns out to be good. 

    I ended up sitting on these for quite a while 3 months buy the looks of thing as cash and time constraints also the usual thing of getting distracted by something else.

    Eventually I got around to hand assembling one of them with the CH552T chip as i want to make doubly sure that all the IO signals are connected as expected. 

    Initial Testing 

    I went through hand soldering the components.  AAAARRRGGGHHHHHH, it took at least 2 attempts to get the USB-C socket soldered correctly i made a total mess first attempt.

    Its messy but managed to get enough on the board to perform some initial tests.

    The 3V3 regulator runs nicely and the VBUS reverse protection works well. I couldn't put in the reverse protection diode that i had ordered as the landing was too small for that one so if everything else is well I will look at specing a new part to fit the landing.

    The great news is that the USB is working and the Bootloader shows up in the WCHISP software which gives me a lot of hope for this. I Was also able to upload a bin file so fingers crossed its all good. 

    What Next....

    Well after this initial run up it's time to have a stencil made and to produce the first production test units. One of each MCU variant. Then it will be production units for the Tindie store.   

  • v1.0 launch and the v2.0

    Gee Bartlett08/02/2020 at 06:54 0 comments

    This will be a little retrospective so I apologise in advance.

    Both the CHUSBIE552(G) and the CHUSBIE552(T) where released back in early June on Tindie and where quite successful. I have sold a few them and they where received well. 

    The plan in is now to do some updates to the board for version 2. 

    I am adding extra protection for the USB host onboard reverse protection and changing the socket over to USB-C and patching in the CC connections for USB-PD management. 

    I'll keep you updated on how things go.  

  • First prototypes

    Gee Bartlett05/28/2020 at 17:23 0 comments

    Built the first two prototypes to test full before purchasing the components for the first production run. I have both the G and T variants.

  • PCB arrival

    Gee Bartlett05/27/2020 at 08:56 0 comments

    So great to reach this stage. Its just a nice feeling to have something  physical in your hands. 

    Looking forward to building the first few for testing and making sure all the functions work.  Then hopefully release. :)

  • PCBs yummy

    Gee Bartlett05/25/2020 at 08:55 0 comments

    Hoping to receive the first batch of 40 PCBs in the next few days. This in enough to do a small production run as they a re coming in panels of 2x4.

    I have never had panelisation done by JLCPCB before so I am hoping everything turns out ok. I'm looking for this to be the first product I have designed to be launched on my Tindie store. 

View all 5 project logs

Enjoy this project?

Share

Discussions

Clyde D. Corpuz wrote 08/06/2020 at 07:30 point

This is a very neat idea!! I can imagine a lot of possibilities for chips like these especially for simple USB-enabled devices or even just an all-around tinker tool. Sucks that this isn't supported as much as other microcontrollers though, but you're doing a great job letting other people know cheap MCUs like these exist. I haven't delved into programming with the 8051 cores but this made me want to try.

-CC

  Are you sure? yes | no

Gee Bartlett wrote 12/07/2020 at 20:59 point

sorry i didn't reply sooner thank you for the comment and support, more and more support is coming for this chip as there is now a fairly stable Arduino plugin for it ;)   

  Are you sure? yes | no

Just4Fun wrote 08/02/2020 at 10:09 point

Interesting! I've done a board with a CH552G ( https://hackaday.io/project/169671 ) some months ago, but I haven't the time to play with the SW side too much... 

BTW: Having Forth running here may be an interesting idea...

  Are you sure? yes | no

Gee Bartlett wrote 05/29/2020 at 15:38 point

Worth a look :) in theory it should run. maybe get it running on UART first then adapt in the usb serial. 

  Are you sure? yes | no

crun wrote 05/29/2020 at 10:51 point

It would be very cool if these could run Forth  https://github.com/jamesbowman/8051forth   , especially via usb serial. Then you would need no toolchain at all to use them!

"CamelForth/8051 requires .... at least 8K of PROM and 1K of RAM. To use the resident Forth compiler, additional RAM must be "dual-mapped" (accessible in both Program and Data spaces)"

  Are you sure? yes | no

Gee Bartlett wrote 05/30/2020 at 14:02 point

That was a rabbit hole and still not completely sure what i'm looking at in theory i can be retargeted to the CH552. Needs some SFR changes and the memory map sorting out but it looks as though it is possible.  

  Are you sure? yes | no

crun wrote 06/16/2020 at 20:18 point

I see James has done work with CH559, so he might be keen, and knowledgable about the memory map etc.  https://github.com/jamesbowman/CH559sdccUSBHost

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates