Playing with 10BASE-T1S and 10BASE-T1L
Designed some boards and wrote an Open Alliance SPI driver to talk to the NCN26010 and ADIN1110 MAC-PHYs.
Designed some boards and wrote an Open Alliance SPI driver to talk to the NCN26010 and ADIN1110 MAC-PHYs.
Converts 10BASE-T to 10BASE-T1L. Powerable over PoE or PoDL and can be a PoDL injector. Theoretically works over 1km.
Inspired by Hak5’s design, I wrote a generic Zephyr app with similar core functionality. I even wrote a reverse shell payload to demonstrate.
Quick little 2-layer BGA board with USB HS and SDHC.
First time doing BGA w/ KiCad, PoE, nonstandard PHY, Ethernet magnetics, writing an Ethernet driver, and using the FreeRTOS+TCP stack.
Is this art?
Compact, battery-powered, and uses ripple counting for encoderless closed-loop motor control. Not perfect, but consistent enough for 0402 parts.
Added core support for the CH32X035 along with USB FS, USB PD, ADC, and UART drivers. Supporting other CH32V parts will be relatively straightforward.
First time using a RISC-V microcontroller, iCE40 FPGA, and an LTC2320 ADC. It streams 8 channels of differential 16-bit 48kHz ADC readings over USB as audio.
Developing for CH32V using 100% open-source components, true to the essence of RISC-V.
While still lacking in many features, I’ve added just enough support to get the LPC845-BRK and my own LIN breakout working.
An easy to deploy hardware and software solution for converting any oven into a Wi-Fi enabled reflow oven. This is just one.
With much more experience under my belt, I challenged myself both in size and processing power in the next version of my lightsaber.
First time trying solar power, PIC, and FRAM.
Recreating patented technology yet again but this time using OSH Park for the PCBs.
First try at a BLE project with the Pi Pico W since SDK support was recently added.
A breakout for the FT4232H so I can do JTAG/SWD.
Wanting to demystify how commodity ESCs work, I built a trapezoidal sensorless BLDC driver. It doesn’‘t have FOC (yet) but it does have LIN.
Transmits button, microphone, accelerometer, and magnetometer data when awake and sips 2.5uA while asleep.
Designed as an open-source alternative to the PCAN-USB Pro, JABICAN-USB Pro runs JABI to provide isolated CAN and LIN access over USB.
Since LIN transceivers are glorified level translators and LIN is slow enough to bit-bang, I built a LIN node using an ATtiny10.
By connecting the RMII interfaces of two PHYs, this board bidirectionally converts between 100BASE-T1 and 100BASE-TX packets.
Inspired by the CAN API, I designed a LIN API for Zephyr along with one implementation built on top of the UART driver.
Easily access any microcontroller’s peripherals from anywhere! Supports all major operating systems and libraries are available for C++, Python, and gRPC.
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.
During the great chip shortage of 2021, I decided it was about time I designed something with an FPGA on it.
This board marks quite a few firsts including using a BGA part, solder stencil, ethernet PHY, custom DAPLink, and Zephyr RTOS.
Thanks to some netizens dumping FTDI EEPROMs, I was able to hack together my own Xilinx programming cables.
A rough guide to getting Linux booted on Zynq using Vivado and PetaLinux written by someone taking their first steps into that wonderful world.
My first legitimately useful open source project, stbridge is a Python wrapper for the STLINK-V3’s bridge API.
A low cost compact device that provides APRS messaging capabilities to cheap HAM radios.
A one bit overhead wear leveling algorithm for storing fixed size data in EEPROM. Based on Danny Chouinard’s work.
This glorified camera slider halves my etch times and improves etching consistency all in an overkill but stylish form factor.
The Black Magic Probe is a pretty interesting open source ARM debugger project, so I decided to modify the existing design and make one myself.
While browsing through KiCad, I learned about the clever Tag-Connect system. Given the high cost, I decided to replicate the design for myself.
After my ST-Link V2 clone broke, I scoured the web for a way to build one from scratch. I ended up with a custom ST-Link with built-in UART VCP.
For a first try, not a terrible attempt at designing my own battery pack for UR@B. It did save quite a bit of money.
The logical next step to Concept Micromouse v1. I still haven’t gotten to full maze solving, but it’s a step forward.
With a week of winter break left, I tried my hand at designing a concept Micromouse to inspire our next generation of Micromouses for the DeCal.
After much trial and error, I’ve refined my simple and cost effective process for making PCBs w/ soldermask at home.
It’s about time I stop soldering wires directly to lithium batteries so I salvaged a microwave transformer to make a cheap battery spot welder.
I started off my winter break by finally upgrading the Pi 3 that had been powering my website to a proper x86-64 server.
Just for fun, I wrote a simulator for the flood fill algorithm for the Micromouse DeCal I helped teach this semester.
Just about everything you need to know about setting up a WordPress server yourself.
In a relatively straightforward build, I learned how DC current clamp meters work and ended up with a surprisingly functional device.
Some free time and a project idea provided the perfect opportunity to get my feet wet with TensorFlow and OpenCV.
Compact, Ergonomic, Functional - behold my Wireless Arduino Nunchuk
Curiosity as to the identity of a mystery accelerometer taught me about logic analyzers, the ATtiny817, and low level communication with the nRF24l01+.
Turned a leftover arc lighter kit into an even smaller version of my first one.
It’s the perfect way to transport and rejuvenate etchant while being really easy to manufacture.
What better way to light things on fire than with electricity?
After trying basically every other method in the book, I finally made a tool that allowed me to make PCBs at home easily, reliably, and precisely.
All the power, convenience, and GPIO of a Raspberry Pi in the compact form factor of a USB stick.
A cute little STM32 based Xbox controller. Perfect for on the go gaming.
A functional and fun Pi Zero powered Gameboy to relive some nostalgic memories.
A fun little keypad mostly used to make sure I don’t break my keyboard with how much gaming I do.
For the SciOly 2018 season, I tackled the numerous challenges involved in making a device for the Mission Possible event and placed 2nd at Nationals.
For the SciOly 2018 season, the numerous rule changes for the Hovercraft event proved a fun and respectable challenge.
Instead of studying for a math test, I spent a week coming up with the nerdiest promposal I could.
Repurposing a toaster oven that’s older than I am to help out with reflow soldering.
With a bit of free time and a bunch of parts I had lying around, I constructed the 4th iteration of my lightsaber.
Seeing how much a 3D printer revolutionized my engineering, I decided to design and build my own CNC router.
What initially seemed simple turned out to be an incredibly fun and rewarding experience. An interesting challenge with a clever solution to match.
Tasked with the manipulation of stacks of pennies, I went through 4 revisions of robot arms before I had one good enough for the National competition.
My attempt at an Electric Vehicle for the SciOly 2017 season which, due to a few key mistakes, did fail.
The perfect addition to any Star War fan’s lightsaber collection. Also one of my favorite projects and it has stayed working for far longer than I expected.
With more experience around my belt, I decided to try my hand at making another coil gun, but this time smaller and without the long charge times.
For the SciOly 2016 season, I built an Electric Vehicle and optimized multiple factors to maximize speed while maintaining accuracy.
During my first year in the Troy SciOly team, I had a really fun experience building and competing with my robot arm. It was the perfect event for me.
Excited with the completion of v1, I challenged myself to build another lightsaber, but this time using the crossguard style. Also, it had to be red.
Just for fun, I built another lightsaber as a test platform for different hilt designs and blade mounting ideas.
With a reignited love of Star Wars, I got to work building my very own lightsaber in true Jedi fashion.
Something fun I put together after I built a regular PVC bow.
During the Hunger Games craze back in the day, I decided to take a look at archery. I ended up with something I want to do for a lifetime.
During the summer before high school, I decided to try my hand at making my very own robot. It was the perfect opportunity to try a bunch of new things.
I’ve been playing with Lego for as long as I can remember. This was one of my favorite builds and surprisingly still intact today.
After finishing v1, I decided to crank things up and make a six-stage one. It was big, bulky, and barely functional, but a lot of fun to operate.
One of my earliest projects. It bridged my love of Lego guns with my newfound passion of electrical engineering.
For my birthday, I asked my dad if I could build my very own gaming computer. He said yes.
A compiled list of the cheatsheets I made while at Berkeley.
Finally graduated! The end of one amazing chapter and the start of another.
It still can’t do maze-solving (from lack of trying and resources), but it’s much smaller, easier to assemble, and runs Python.
Another year, another bunch of courses.
It’s a bit much to make a post for every single class I take, so here’s all the major courses I took during Spring 2020 and Fall 2020.
For a first try, not a terrible attempt at designing my own battery pack for UR@B. It did save quite a bit of money.
The logical next step to Concept Micromouse v1. I still haven’t gotten to full maze solving, but it’s a step forward.
With a week of winter break left, I tried my hand at designing a concept Micromouse to inspire our next generation of Micromouses for the DeCal.
Just for fun, I wrote a simulator for the flood fill algorithm for the Micromouse DeCal I helped teach this semester.
The thrilling final project for CS170 tasked us with finding the best algorithm for approximating the optimal solution for an NP-hard problem.
A course with a bit of an information overload about the big ideas of computer architecture that ended up being one of my favorite courses.
In a relatively straightforward build, I learned how DC current clamp meters work and ended up with a surprisingly functional device.
An excellent class all about data structures.
A brief overview of the voice controlled robot that took up most of the semester’s lab time.
A brief overview of the work I did on the main electronics assembly in our sub for the RoboSub 2019 competition.
A class on the Micromouse competition. Map out a maze, solve it, then speed through it.
A little board I designed for CalSol.
A brief overview of the power distribution board I designed for our sub.
An excellent crash course on the circuit board design process. It’s also the perfect intro to my favorite EDA software KiCad.
For the SciOly 2018 season, I tackled the numerous challenges involved in making a device for the Mission Possible event and placed 2nd at Nationals.
For the SciOly 2018 season, the numerous rule changes for the Hovercraft event proved a fun and respectable challenge.
Ergonomic, economical, and manufacturable - these were the design goals of the cardboard chair for our final project in IB Design Tech.
Star Wars themed salad tongs I made during IB Design Tech.
For a Physics C project, we built a mousetrap vehicle according to the SciOly rules for that year.
For my summer internship during junior year of high school, I worked at CalState LA designing a low-cost, lightweight robot arm for a teleoperation robot.
What initially seemed simple turned out to be an incredibly fun and rewarding experience. An interesting challenge with a clever solution to match.
Tasked with the manipulation of stacks of pennies, I went through 4 revisions of robot arms before I had one good enough for the National competition.
My attempt at an Electric Vehicle for the SciOly 2017 season which, due to a few key mistakes, did fail.
For our Physics 2 project, we had to build a wooden tower based off the year’s SciOly rules. For a first try, I didn’t do too bad.
For the SciOly 2016 season, I built an Electric Vehicle and optimized multiple factors to maximize speed while maintaining accuracy.
During my first year in the Troy SciOly team, I had a really fun experience building and competing with my robot arm. It was the perfect event for me.
Just a brief overview of what Muscatel did for Robo-Cross in 2015. With the time that I had, I helped somewhat.
An exciting event that came in from rotation that marked the start of my tinkering with robotics.
For the SciOly 2018 season, I tackled the numerous challenges involved in making a device for the Mission Possible event and placed 2nd at Nationals.
For the SciOly 2018 season, the numerous rule changes for the Hovercraft event proved a fun and respectable challenge.
What initially seemed simple turned out to be an incredibly fun and rewarding experience. An interesting challenge with a clever solution to match.
Tasked with the manipulation of stacks of pennies, I went through 4 revisions of robot arms before I had one good enough for the National competition.
My attempt at an Electric Vehicle for the SciOly 2017 season which, due to a few key mistakes, did fail.
For the SciOly 2016 season, I built an Electric Vehicle and optimized multiple factors to maximize speed while maintaining accuracy.
During my first year in the Troy SciOly team, I had a really fun experience building and competing with my robot arm. It was the perfect event for me.
Just a brief overview of what Muscatel did for Robo-Cross in 2015. With the time that I had, I helped somewhat.
An exciting event that came in from rotation that marked the start of my tinkering with robotics.
After several years on WordPress, I realized my use case would be better suited for a static generator like Jekyll. To better maintainability and security!
My friend wanted to use the template I wrote for my résumé so here it is.
Hello there! Obligatory first post.
A retelling of my adventures in lock picking during the school year. Of course, I made sure I didn’t do anything illegal.
Instead of studying for a math test, I spent a week coming up with the nerdiest promposal I could.
A half-joking but totally true recount of how I got into UC Berkeley.
Where it all started. How I discovered my passion.
A rough guide to getting Linux booted on Zynq using Vivado and PetaLinux written by someone taking their first steps into that wonderful world.
A one bit overhead wear leveling algorithm for storing fixed size data in EEPROM. Based on Danny Chouinard’s work.
Just a short little tutorial about getting a basic QTouch example up and running.
A little how-to on the basics of getting the CAN bus up and running on an STM32 microcontroller using Mbed or STM32CubeIDE.
After much trial and error, I’ve refined my simple and cost effective process for making PCBs w/ soldermask at home.
Just about everything you need to know about setting up a WordPress server yourself.
Curiosity about the cheapest Atmel MCU led to the ATtiny10. Despite what at first may seem like severe limitations, it’s pretty capable.
An excellent opamp for prototyping.
Atmel’s relatively new lineup of chips is quite promising.
A pretty cool sensor salvaged from a really old mouse.
A nifty little chip whose versatile features gave it a very warm welcome into my parts bin.