PCB devboard the size of a USB-C plug

(github.com)

137 points | by zachlatta a day ago ago

23 comments

  • Lwrless an hour ago ago

    I recently got my hands on an M5Stack NanoC6 (https://docs.m5stack.com/en/core/M5NanoC6), it's also quite small and I'm pretty happy with it. It has onboard IR and a Grove connector, good enough for IoT projects at home.

  • stephen_g 3 hours ago ago

    Title is inaccurate, it's really designed to be about the size of a USB-C receptacle , the plug is the other side (in this case the part of the cable that plugs in to this board)

  • ecesena an hour ago ago

    I dream of an open board like the yubikey nano. This is very nice!

  • tl2do 6 hours ago ago

    I'm interested in this too. I've been using STM32 NUCLEO boards, which are cheap and capable, but even the smallest ones are noticeably larger than this. I'd love to see an STM32 version of this project.

  • george_max 6 hours ago ago

    Very nice. I am wondering -- why have a devboard this small?

    • rolph 6 hours ago ago

      ...trust me this is the best USB cord ever try it out for free, ill sell you some cheap if you get a couple friends to buy some.

      https://shop.hak5.org/products/omg-cable

      https://phreakboutique.com/blogs/tutorials/using-your-new-ev...

      thats how the grift starts...

      • rkagerer 5 hours ago ago

        That's it, I'm going back to parallel port cables for everything now.

        • jasongill 5 hours ago ago

          The parallel port (at least in it's later implementations) actually supports DMA - I'm sure that data exfiltration via the parallel port is hard, but probably not impossible...

          Nothing is safe, unfortunately!

          • toast0 4 hours ago ago

            The parallel port controller can DMA, that lets the driver tell the port hey, send this buffer out to the port and let me know or read this many bytes into this buffer and let me know. It's not peripheral controlled DMA like with firewire or PCI.

            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.

          • throwup238 3 hours ago ago

            It’s almost certainly impossible on modern systems. The southbridge which allowed DMA to parallel port was absorbed into PCH and slowly stripped of legacy LCP support by chipset and motherboard manufacturers.

  • chrisallick 6 hours ago ago

    This looks awesome, I'd love to get one. Question, what's the advantage over something like the ESP32C3 and the like? Just even smaller?

    • rkagerer 6 hours ago ago

      If it helps, I've used earlier Atmel AVR chips, as well as the ESP32-S3.

      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.

      • girvo 5 hours ago ago

        > If the C3 instruction set is anything like the S3, I'm willing to bet it's not as straightforward.

        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

        • rkagerer 5 hours ago ago

          Thanks for correcting me. Are there any good, small "Hello World" examples of RISC-V programming with the C3 you can point me to? I'd love to get a sense of how it compares in practice.

      • claytongulick an hour ago ago

        I'll second this.

        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.

    • samhclark 5 hours ago ago

      It isn't necessarily smaller. See https://github.com/PegorK/f32

    • throwaway81523 6 hours ago ago

      It's a much less fancy cpu that's very small. No wireless. Lower powered I would expect. But it's an MCU with something like 16KB of flash and 2KB of ram if I remember right. The analog stuff on it is supposed to be pretty good. The Anduril flashlight firmware (toykeeper.net/anduril) is a somewhat popular application that can run on it.

      • tgsovlerkhgsel 6 hours ago ago

        > Lower powered I would expect

        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.

  • vdcjhhhcfdd 3 hours ago ago

    That's not a plug. To be precise, that's the opposite of a plug xD

  • polalavik 6 hours ago ago

    Why not usb c male?

  • motorducky 4 hours ago ago

    That thing is sexxxy. Very nice board, beautiful documentation.