Hacker News new | past | comments | ask | show | jobs | submit | arrw's comments login

Very cool guide.

But if you are worried about soldering more fiddly stuff like those ARM processors: It doesn't have to be that big, STM32 is nice if you need the power, but for smaller stuff smaller controllers can be preferrable.

E.g. one may also consider using VUSB, which is a library that bit-bangs USB on small Atmel microcontrollers: https://www.obdev.at/products/vusb/index.html Example board schematic we've used to teach students Linux kernel module programming: https://gitlab.cs.fau.de/i4/passt/passtboard-v2 with firmware http://www.poempelfox.de/ds1820tousb/ and https://gitlab.cs.fau.de/i4/passt/ds1820tousb

Also very easy, if you are inclined towards Arduino style programming there are tons of boards you can just use as USB devices with the included libraries in very few lines of code, for example https://www.az-delivery.de/en/products/digispark-board


> if you are worried about soldering more fiddly stuff like those ARM processors

If soldering's a worry, you can get quite reasonably priced dev boards with the microcontroller USB port already fitted and working - such as the NUCLEO-F429ZI https://www.st.com/en/evaluation-tools/nucleo-f429zi.html

Very similar to the NUCLEO-F103RB board the post author used, but as well as the USB connector at the top of the board for the built in programmer/debugger, it also has one at the bottom of the board, wired straight to the microcontroller.

You can also download the board's schematics, if you want to copy their choice of ESD protection and suchlike.


There's also things like the CH32V203 [1] which is a TSSOP-20 with hardware USB and costs around $0.81 in singles. The software side might be a little more ... challenging, though.

https://www.wch-ic.com/products/CH32V203.html?


Software USB can also be done on the 10 cents CH32V003:

https://github.com/cnlohr/rv003usb


They offer some fairly usable example reference code for a lot of the on-chip functionality-- including USB peripherals. I was able to turn their CH32v3xx examples into a pretty capable custom-keyboard firmware.


CH32F series is more or less the same and actually has CoreSight SWD and clone STM peripherals


Quite a few years ago I wrote a tool as a university project that can extract C (and to a lesser degree C++ and Pascal) struct definitions from DWARF debug symbols and output VHDL or LaTeX/TikZ diagrams: https://gitlab.cs.fau.de/arw/st


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: