Boards For Playful Exploration Of Digital Protocols

Teaching people efficiently isn't limited to transmitting material from one head to another -- it's also about conveying the principles that got us there. [Mara Bos] shows us a toolkit (Twitter,
nitter link
) that you can arm your students with, creating a small playground where, given a set of constraints, they can invent and figure communication protocols out on their own.

This tool is aimed to teach digital communication protocols from a different direction. We all know that UART, I2C, SPI and such have different use cases, but why? Why are baud rates important? When are clock or chip select lines useful? What's the deal with the start bit? We kinda sorta figure out the answers to these on our own by mental reverse-engineering, but these things can be taught better, and [Mara] shows us how.

Gently guided by your observations and insights, your students will go through defining new and old communication standards from the ground up, rediscovering concepts like acknowledge bits, bus contention, or even DDR. And, as you point out that the tricks they just discovered have real-world counterparts, you will see the light bulb go on in their head -- realizing that they, too, could be part of the next generation of engineers that design the technologies of tomorrow.

The toolkit she shows consists of boards each equipped with three toggle switches, some through-hole resistors and an LED, a buzzer signaling about short-circuits, and AAA battery holders to make the boards self-contained. These boards could easily be products of a soldering course themselves! Plugging these boards together with ever-abundant RCA cables, students work together in small groups, using switches on one set of boards to transmit data to the other set. She made a video demonstrating how these boards work, which is embedded below.

You don't always need to stand in front of a whiteboard while teaching something -- often, a few custom boards will do the trick, and oftentimes better. We've seen educational PCBs for logic gates before, and when it comes to kits you can hand out for experiments, a whole lot of concepts like snap-together magnetic circuit blocks. If you wonder why all these different tools are needed, remember that we've talked about how education systems can fail a hacker's mind.

We thank [Chaos] for sharing this with us!

Two years ago, I wanted to explain some folks digital protocols like I²C. I wanted to skip the boring stuff; make it a hands-on experience. So I made these little boards that they could use as I/O pins and invent their own protocols to talk to each other across the table. 1/3 pic.twitter.com/si4W3eUqVu

-- Mara Bos (@m_ou_se) April 4, 2022

#mischacks #education #educational #i2c #i2cinterface #protocoldesign #rca #serialprotocol #spi #steameducation #uart

Boards For Playful Exploration Of Digital Protocols

Teaching people efficiently isn’t limited to transmitting material from one head to another — it’s also about conveying the principles that got us there. [Mara Bos] shows us a too…

Hackaday

Bridging the PC and Embedded Worlds with Pico and Python

Although protocols like I2C and SPI are great for communicating between embedded devices and their peripherals, it can be a pain to interface these low-level digital interfaces to a PC. [Alexandre] typically used an Arduino to bridge between the PC and embedded worlds, but he got tired of defining a custom serial protocol for each project. Inspired by MicroPython's machine module, [Alexandre] has developed u2if—an implementation of some of MicroPython's machine module for PC—using a USB-connected Raspberry Pi Pico to bridge between a PC and low-level digital interfaces.

u2if consists of two parts: the PC portion is a Python implementation of a portion of the MicroPython machine module, and the Raspberry Pi Pico receives some custom C++ firmware. Thus far, [Alexandre] has implemented functionality for the onboard ADCs, I2C, SPI, UART, and GPIO lines as well as additional support for I2S sound and the WS2812B addressable LED.

In addition to the u2if package, [Alexandre] has designed a PCB to break out all of the Raspberry Pi Pico's interfaces in a handy 3×3.9″ board. We especially like that multiple headers are supplied for I2C, including one with enough space to mount an SSD1306 OLED display.

We think this could be an incredibly useful tool, and what makes it even more impressive is that it uses a board many of us already have laying around. If you want a dedicated device for interfacing with low-level digital buses, you may want to check out the GreatFET.

#raspberrypi #gpio #i2c #i2cinterface #micropython #raspberrypipico #spi #ssd1306

Bridging The PC And Embedded Worlds With Pico And Python

Although protocols like I2C and SPI are great for communicating between embedded devices and their peripherals, it can be a pain to interface these low-level digital interfaces to a PC. [Alexandre]…

Hackaday