tl8roy / patina

Impementation of Embedded Rust for Hobbiests
MIT License
6 stars 0 forks source link

Decide upon Hardware Board #2

Open netzdoktor opened 4 years ago

netzdoktor commented 4 years ago

Motivation

Making RustEmbedded accessible as part of Patina would require a single, go-to hardware board that everyone is using (much like Arduino).

ToDo

Requirements

Must-Haves

Nice-To-Haves

To Be Discussed

Collaborations & Partners

Concrete Board (Families)

Feature Matrix (Sketch)

Board / Feature License T1 Support Price RAM ROM CPU On-Chip Debugger Wireless ...
??? ![yes] / ![ehh] / ![no] ??? ??? ??? ??? ??? ??? ??? ???

Copy matrix styling from Zola

tl8roy commented 4 years ago

Unmentioned, but part of the success of Arduino: Open sourced and cheap clone-able

michalfita commented 4 years ago

While Arduino started with AVR, because at that time it make sense, today reality is different. The obvious choice for now is some ARM as RISC-V (that would be more in the spirit of openness) isn't mature enough for above needs. ESP wouldn't be my choice as this target is too vendor locked for my taste. Performance wise the board should aim for Cortex-M7 or Cortex-M33 (in the spirit of new secure features, however, they may not matter that much for hobbyist). Connectivity is important factor as well. Then Tier 1 support is a challenge.

In the spirit of open design, the board has to be drawn in open-source EDA: LibrePCB, Horizon EDA or KiCAD (there are reasons why I've put KiCAD last, but I'm not starting discussion here). The question whether for starter it's better to choose existing board or straight away use some as inspiration and do the open design remains open.

TheZoq2 commented 4 years ago

To Be Discussed

Debugger or not? I'm strongly in favour of having a debugger. I think not having one available at all needlessly complicates development. Especially with probe-rs which seems to be really simple to use

That said, an included bootloader by default is probably nice so people don't have to spend extra on a debugger and the intial setup might be easier

tl8roy commented 4 years ago

To Be Discussed

Debugger or not? I'm strongly in favour of having a debugger. I think not having one available at all needlessly complicates development. Especially with probe-rs which seems to be really simple to use

That said, an included bootloader by default is probably nice so people don't have to spend extra on a debugger and the intial setup might be easier

A boot loader with probe-rs in it? Can probe-rs probe itself?

TheZoq2 commented 4 years ago

No, I meant a pre-flashed bootloader for the normal "arduino workflow". But with exposed debugger pins for when those are useful/

That's what the blue pill has, for example. (I think, I've always programmed it using the debugger)

kevswims commented 4 years ago

What about an easily attachable external debugger to save on the board cost and size? I would envision that this would normally be sold as a kit but then individuals could buy the boards standalone to use with a debugger they already have. Is there a standard connector/pinout for ARM debuggers? I haven't used very many of them.

michalfita commented 4 years ago

@kevswims There is standard 10 pin ARM connector, but I'd say that's waste of space if we don't want debugger on board. There are socket-less options offered on the market, but they usually involve expensive connector.

kevswims commented 4 years ago

Yeah, the 10 pin is big. It would really only need 6 pins max to give PWR, GND, SWCLK, SWDIO, RST, and SWO. 6pin tag connect would be great for board cost and space but the cables are expensive and not super durable. Something like this: https://www.digikey.com/product-detail/en/samtec-inc/TSM-106-01-T-SH-K-TR/SAM14849TR-ND/7632931 could be put on the edge of the board.