Recent Posts

100BASE-T1 Converter

By connecting the RMII interfaces of two PHYs, this board bidirectionally converts between 100BASE-T1 and 100BASE-TX packets.

Zephyr LIN Driver

Inspired by the CAN API, I designed a LIN API for Zephyr along with one implementation built on top of the UART driver.

JABI (Just Another Bridge Interface)

Easily access any microcontroller’s peripherals from anywhere! Supports all major operating systems and libraries are available for C++, Python, and gRPC.

2022 Courses

Finally graduated! The end of one amazing chapter and the start of another.


After parsing through much documentation, I learned enough to design a DAPLink probe based around the ever-popular STM32F103.


I might be a couple years late to the party, but here’s a tiny board powered by LUFA’s AVRISP MKII project.’


After learning about the 6 wire measurement technique in industry, I decided to make a board to try it out. It’s also an auto-ranging 4-wire ohmmeter.


It still can’t do maze-solving (from lack of trying and resources), but it’s much smaller, easier to assemble, and runs Python.

2021 Courses

Another year, another bunch of courses.

Spartan 7 Breakout

During the great chip shortage of 2021, I decided it was about time I designed something with an FPGA on it.

K66F Breakout

This board marks quite a few firsts including using a BGA part, solder stencil, ethernet PHY, custom DAPLink, and Zephyr RTOS.

FTDI Xilinx JTAG Programmer

Thanks to some netizens dumping FTDI EEPROMs, I was able to hack together my own Xilinx programming cables.