But I just checked and it seems that they now accept CCs again.
Best practice is to have a completely opto-isolated USB connection between your dev system and test hardware. You can buy a USB opto-isolated system for like $100 that will tell you downstream currents and isolate your hardware.
The impression I get of WCH and their CH32 line is it ... draws heavy inspiration from STM32.
WCH provide English translated datasheets and reference manuals. They're fine.
Their own recommended toolchain is a fork of GCC. But as far as I can tell, they haven't shared their changes anywhere. The specifics of the changes they've made are a bit beyond my understanding, though.
With the open source distributions of GCC toolchains work just fine. I've built Rust crates as firmware libraries for them.
That the CH32X035 is very simple to design for (& low cost) means I'd rather make use of it for hobbyist keyboard PCB designs compared to the RP2040.
I had to put in more effort regarding RAM use and flash size, but I managed to fit a game into the 16kb limit regardless: https://github.com/kpcyrd/game-streetcat2026
They're seriously tiny; basically answering the question, "What if mechatronic prototypes didn't need to be the size of an Altoids tin?"
This is an stm32l432kc in the form of a yubikey nano.
https://shop.hak5.org/products/omg-cable
https://phreakboutique.com/blogs/tutorials/using-your-new-ev...
thats how the grift starts...
Nothing is safe, unfortunately!
You can absolutely exfiltrate data via the parallel port... that's why you attach printers or zip disks... it's just that it needs host participation.
Who is going to x-ray each and every cable they buy? And who keeps track of where they sourced what cable?
there is an interception and controlled delivery often used to get at the big problems.
you should never trust a "ground score" if your doing anything bad, it could be a controlled delivery.
considering current events i speculate there may be an uptick in this type of security operation.
https://www.schneier.com/blog/archives/2014/03/cottonmouth-i...
8-bit AVR is an extremely clean, relatively simple instruction set that can be viably hand-coded. It's fairly straightforward to calculate the exact number of cycles your code will use, which is handy for applications requiring deterministic timing and for knowing worst-case execution time of interrupt handlers.
If the C3 instruction set is anything like the S3, I'm willing to bet it's not as straightforward.
Atmel also tends to do a better job of their documentation. I've lost count of how many confirmed errata I've reported to Espressif, and the time (and steam) I lost troubleshooting them in the first place.
I like the S3, and it's heaps powerful, but for small projects that don't need advanced peripherals like Wifi, DMA, etc. I can envision that AVR as being a fine choice.
Its not, not really anyway. The Xtensa LX7 in the S3 is very weird, though also quite fun to play with. The C3 is RISC-V
Doing asm on the AVR is beautiful, you can count clock cycles easily and then observe them on the scope.
I wrote a bit banging serial interface for an AVR once and had a mystery when I was testing it from a PC just with a basic echo. Every Nth character would be wrong. Was able to figure out a timing problem by counting clock cycles and found the bug in my code.
Was cool to see it align with what I was seeing on my oscilloscope.
With the right software, ESP32 can be incredibly low power. Like "months on 3xAA batteries" for watching a pin with the ultra low power subsystem and then occasionally waking up and making a HTTPS call over WiFi.
Bluetooth is lower energy than WiFi, but in your scenario the energy used for the radio is quite low anyway.
I never did a formal study to see how much of that power use was standby vs. power-on usage, how much of the standby usage was the ESP32 vs. the board/voltage regulators/pulldowns, how much of the power on usage was radio vs. e.g. all the crypto (we're doing asymmetric crypto for the TLS handshakes on batteries here, that isn't going to be cheap!) etc.
I just slapped it together and found it good enough to not care further.
You can use a different resistor according to the power draw and how sensitive your volt meter is.
You'll probably need to power it up with the resistor shorted, and only remove the short once it's in sleep mode, to measure the current.
For example, this project is a 2-layer PCB. Those are bog standard. With this small of a footprint it can be printed on a single surface and cut out. The schematic they posted keeps everything on a single surface for print. This is also an operation any fab can easily perform. If you order from China, even cheaper (even accounting for duty cost + S&H).
I'd be more concerned about the MCU and the components rather than the cost of a custom PCB.
[0]: https://github.com/user-attachments/assets/0f7962d5-38e1-4bd...
The really expensive stuff is through hole components and bulk components (relays, connectors, etc) because they need separate machines (wave soldering, large pick and place).
Placing small components is dirt cheap due to machines like SIPLACE SpeedStar. [0]
We just launched https://stasis.hackclub.com, another similar electronics program.
If you know any teens that want to get into PCB design, please encourage them to join Hack Club and these programs!