These CH32 mikrocontrollers are great and dirt cheap. I've build a small DC motor controller with them to control a toy robot: https://github.com/h0lad/MiniSpeedController

The bigger ones have PHYs for USB HS, USB-C (5Gbps) and 10/100M Ethernet integrated (!). And their development environment (Mounriver Studio) isn't too bad - I didn't had the immediate urge to port everything to CMake/VSCode.

But they need some kind of pin planning tool. It's awful to use the datasheet and find the correct pin functionalities and their mutual exclusions... STM32 mastered this with their STM32CubeIDE tool: select a feature (like USART1) and the right pins light up - alternate pins are easy to locate.

They also should clean up their license mess on OpenWCH (their GitHub page). Lots (all?) of their HALs are Opensource - but the right version with right SPDX tags are often a bit hidden.

A pin planner- without the code gen of STM32Cube- would be doable as a website.

I made a basic one for the RP2350- https://rp2350b.pinout.xyz/

Though STM32Cube has a very different approach, handles lots of mutually exclusive features and peripherals and a bunch of extra stuff for controlling code gen IIRC.

Nothing irks me more than "check out my neat-o PCB design" and there's no schematic.

It's kicad which means you can use kicanvas to view it. For example: https://kicanvas.org/?github=https%3A%2F%2Fgithub.com%2Fh0la...

What an amazing tool: it loads and displays the kicad native files in a simple web browser, but moreover - you don't have to be the intermediary, cloning some repo and then uploading the individual files to a website.

I wish that existed for more weird binary formats. Altium have 365 but you have to have signins to use it, and they cost named-user seats.

I use KiCAD so I know it well. Unfortunately that site is in alpha and I am unable to zoom in to see the schematic clearly.

Use Ctrl+mousewheel to zoom.

(Unfortunately, it does not zoom on the cursor but on the center of the screen).

It seems that a person can also click to select an object on the board, and then use the "zoom to selection" button near the bottom-right of the viewport, to bring things up to a more-visible size and place [some of] them on-screen.

Vertical panning is then accomplished by rolling the scrollwheel. Horizontal scrolling can be accomplished by tilting the scrollwheel on a mouse that is so-equipped.

(Perhaps bizarrely, I was unable to discover any other way to pan.)

FWIW - On my laptop (track pad), I expected to click-drag or ctrl-drag to move it, but on a track pad it's two-finger swipe to move it left/right. then pinch zoom.

For me control-mousewheel zooms and shift-mousewheel pans horizontally.

pebkac error

Oh.. I love this web tool. Thanks for showing!

Feel free to have a look at the "pcb" folder.

Sorry, but I am not installing KiCAD or cloning a repo just to look at a schematic. Since the beginning of time electronics hobbyists have been posting schematics in bitmap or pdf format. It should be in the readme.

I already had KiCad installed, so I uninstalled it to see how long it would take. It took me 51 seconds to clone the repo and reinstall KiCad. I thought this wasn't too bad.

But the joke was on me — when I tried to open the PCB file, KiCad said: "KiCad was unable to open this file because it was created with a more recent version than the one you are running. To open it you will need to upgrade KiCad to a version dated 12/29/2024 or later."

So I now think your position is reasonable. Also I think I need to upgrade Debian.

KiCad sounds to me like a great target for a project based Nix Shell install.

Always have the right version for it "locked". It works well with most tools except those that save stuff in the .config folder as it messes up isolation.

If you find the nix language daunting, for basic stuff like nix shell setup its easy but also LLMs are good for it.

I'd agree with you in the past, when KiCAD didn't work as nicely with git. And for a professional project, I'd still at least keep snapshots of every milestone with "compiled" output.

But for a hobby project I really don't see the need. It takes a few extra minutes to install KiCAD, clone the repo, and view the schematic at any point in time.

Sorry my friend - but embedding static PDFs in Git is my opinion an anti-pattern. The KiCad (or EDA) sources should be the single source of truth, with visuals generated/exported locally when needed.

If you don't like it.. well it's a free world and every engineer has it own preferences :-)

Neglecting a schematic is an anti-pattern. And I never said it had to be PDF. Besides, of all the crap people shove in Git repos, a simple bitmap that compresses well and conveys extremely useful information has to be the least offensive.

Maybe an idea for the next project: setting up a CICD chain which auto-generates them for releases. Will take a piece of your critics with me.

That's an excellent idea!

The pin mapping barrier was quite off-putting to me. However I've been tracking progress in the Zephyr RTOS project and the whole line is getting better support by the day

The more recent MounRiver releases are so clearly VSCode with the serial numbers filed off.

Older ones were Eclipse with the serial numbers filed off.

Both VS Code and Eclipse are open-source, so that's fine. Android Studio was also Eclipse with the serial numbers filed off, for example, before they switched to IDEA.

Can you change the polarity (direction) of the DC motors with this board?

Yes. The DRV8837 has a pin for the direction. It's a H-Bridge.