Blueprint

Nif-T

An all in one smart home automation board with built in POE input, Ethernet RMII, and Google Home integration.

Created by Logan Peterson Logan Peterson

Tier 1

17 views

0 followers

Logan Peterson Logan Peterson submitted Nif-T for ship review ago

Logan Peterson Logan Peterson added to the journal ago

Shot and edited the projects demo video!

I made a video of the board running the demo program I made!

The first thing I did was make an idea of what I wanted to show off.

This included the relay outputs, LEDs, buzzer, and custom web control interface.

With these in mind I shot a bunch of a and b roll:

image

(This process took about 40 minutes)

A majority of the a roll was shot using 2x zoom with pan stabilization, which meant that the frames per second on the camera was also increased. This process probably had some kind of affect on the output quality, though I think the biggest factor / challenge for my camera was how I was having it stare basically at blinding LEDs the entire time. (This probably didn't help...)

image

Next, since I was going to add a voiceover I updated my OBS settings to include custom filters on my microphone. This massively helped with the background noise that would have showed up in the video:

image

After this I downloaded DaVinci Resolve.

image

While this was working I refined my idea of what I wanted to show off into a kind of script I could use for the voiceover.

This was my first time in a while doing something like this so I wasn't exactly sure how I was supposed to go about this. (This is my second time using DaVinci Resolve / First time this year :pf:)

I found some nice free background music and imported that into my editor, along with all of my physical hardware shots. (Getting to the music took about 25 minutes as seen in the above screenshot)

Next I used OBS to screen record the website, where I went through all its features. (That's right, its actually non continuous from the video! I bet you wouldn't notice if you watched it hehe)

image

After I got all these in my editor, I spent the next 2 hours editing (from 10-12!)

By this point I had all of the clips arranged how I wanted them, with the correct cuts and transitions. I then went to sleep...


Now the next day, I had to record the voiceover for the video, which took a while because I had to both record the voiceover, then rerecord the voiceover, then cut away the bad takes and move the clips around slightly to make everything fit.

I also ended up changing the script slightly, I threw a bit of it out since it was too long and just freestyled some parts.

image

(Even this screenshot is just the recordings that I kept!)

This is some of what the DaVinci Resolve project looks like:

image

image

By this point the video was finished, so I had it export and started uploading it to youtube.

While it was uploading, I created the thumbnail for the video:

I made the thumbnail in google drawings by first setting the background to red so I could see the edges of what my image would be.
Next I got some images that I had of the project from google photos, as well as capturing a frame from one of my b roll shots, exporting that as a png, then reimporting that into google drawings.

Screenshot 2026-04-14 181816

After I did this I opened up the KiCAD project and removed the background in the 3D render view, positioned the PCB, and took that over to google drawings:

image

So after a little bit of messing around I got this:

image
Nif-T Demo Thumbnail

The hardest part of this entire 2 day process was just figuring out how to use DaVinci Resolve. After figuring out the basics by messing with my clips the process got a bit easier but it still took a really long time to make everything work together.

You can check out the demo video here!

Logan Peterson Logan Peterson added to the journal ago

Software and Demo Preparation

Alright the board looks awesome, powers on, but doesn't run anything super helpful.
Todays session is aimed to change that.

I have a couple of things in mind for what I want in order for this board to be demo ready. First I wanted it to host a website on both an available home AP network or its own self made AP network (if it was unable to find the home AP network). I also wanted this website to be pretty in depth, with it able to change essentially everything about the board on the fly. I wanted to be able to access every single relay, led, and GPIO on the board. I wanted to be able to set up each of the GPIO pins to either act as a binary on off (as they would when relays were enabled), as a raw PWM output, or as a specific PWM output for servo motors.
Finally I wanted it to have a couple mesmerizing LED modes, so I would need to fix whatever was messing them up.
Last but certainly not least I wanted to include a song for the buzzer that I had on the board. You should definitely take a look at the demo video when that comes out hehe.

I started off by working on the LEDs. It took me a while to figure out since I was wondering if it was a hardware issue (like if I had wired the LEDs wrong) or a software one.

Eventually I found out that these LEDs are expecting a 3 byte long number for their colors, and I was sending a 4 byte long number. I had accidentally taken a snippet of code that was for RGBW leds, which caused the issue since I have only RGB leds on my board.

After finding this and fixing it I was able to get this correct rainbow across my board:

image

After getting this working and verifying that it works I created a purple fire led mode.

PXL_20260402_012047109

Its not really visible in the still image but it should look a lot better in the final demo!
I still think it looks really cool in its still image.

Next up I started trying to get the Ethernet chip up and working, but I was not able to...
I tried all variations of code before creating a snippet to test weather I could get it to boot and connect to my ESP32. Ultimately whatever I tried this returned a failure, so I brought out my oscilloscope to try and figure out the signals, since I figured the clock signal was the most likely hardware failure.

image

I probed everything on and around the Ethernet chip and its clock, and got back nothing but noise
:(

I double checked all the solder connections and they look fine on the ethernet chip:

image

The 25mhz clock appears to be mostly fine, but it is actually soldered on 180 degrees from how it should be:

image

This shouldn't be the issue though since the GND and data pins still line up. (albeit the data pins are swapped around / should be ok for passive crystals though?)
I didn't want to spend too much more time on this though so I would have time to finish the website.
If I resolder anything I would try to flip this clock around to see if it fixes the ethernet, but for now this will have to remain not working. (I cant put the board back on the hot plate since it has THT components on it.)

I started off my website as a version of my portfolio, but imagined as a developer console.
I used my dark mode from here: https://loganpeterson.org/

After this I added in the Overview, Input / Output, and Reserved / Diagnostic sections:

image

GPIO Section:

Screenshot 2026-04-01 212359

The GPIO section also includes dropdowns which can lead to a PWM and Servo direct output:

image

Input Section:

Screenshot 2026-04-01 212405

Reserved / Diagnostic Section:

Screenshot 2026-04-01 212414

The reserved section opens up to reveal the 2 pins used for system functions (buzzer and LEDs) but can technically be disabled and used for something else:

Screenshot 2026-04-01 212422

This setup gives 7-9 directly accessible PWM ports (depending on if the buzzer and LEDs are enabled) and also allows for the control of everything directly through the website.

I also added support for playing a song through the website, so you should go look at my demo to see it when it comes out!

The board will serve this website on the home network if it can find it. If it cant find it, the board will spin up its own AP network and serve the website there.

After I did all of this I was going to test out the 9v battery connector. I reached for and got out my 9V battery I got from the old arduino kit and...

image

Wow I didn't even know something could get this dead...
Its almost impressive.

After that small failure I took some nice pictures of the board!

image
image

I made these in a makeshift infinite background by propping up some A4 paper lol. It does make it look really good.

Also as you can see in my screenshot I have been writing this for a long while.. (I turned it on when I started writing for this journal) So I added 40 minutes to the time.

image

Logan Peterson Logan Peterson added to the journal ago

Soldered THT components

So at this point I have all of the SMD components soldered and working (except for the ethernet chip, I cant test that yet).

I soldered in all of the relays and edge connectors to the board:

PXL_20260205_020721574

After that I soldered in the ethernet port and the POE board.

PXL_20260205_030540562

By this point everything hardware related for the board is done! The only thing left now is to get all of the software working correctly.

(I still haven't fixed the LEDs but they do look pretty cool)

PXL_20260205_030551121

Logan Peterson Logan Peterson added to the journal ago

Fixing the board + First Code!

Alright so the state we left the board in was no shorts but it also didn't have its power on LED.

I tested across the LED with a multimeter and it read 3.3V so it seems to be working correctly. This meant that I had just placed the LED in the wrong direction. It wasn't really clear which side was the anode on the LED and I hadn't thought to look it up lol. Previously I had just checked how it looked in the 3d view, but that may have been wrong or different from my LED.

I brought out the hotplate again and took off the LED, checking again which way it was oriented:

PXL_20260204_013807959

When I was putting it back on the board (while the board was on the hot plate) I dropped the LED and couldn't find it, so I took the board off the hotplate to look for it.

Eventually I found it stuck half soldered to one of the resistors:

PXL_20260204_013612976

I was able to use my soldering iron to get the led unstuck:

PXL_20260204_021308328

I got it soldered back on in the correct direction this time and, finally, the board powers up in this beautiful purple blue light:

PXL_20260204_025923377

And the board looks like it boots!

PXL_20260204_021630352

This is the video of me putting the Nif-T firmware on the board:

Firmware upload

It doesn't do very much at the moment, since I dont actually have a google home server set up in my house just yet, but it allowed me to check that I was able to communicate with the board and program it!

The next thing I wanted to bring up were the LEDs. This was the first time I actually had the LED chips that fit my board layout, so it was also the first time I was programming for them on a board :p

It didnt take too long, but I made a LED test script that would flash the rainbow RGB barf pattern across the LEDs. I couldn't really get it to work, even taking into account the weird position of each LED.

The LEDs did turn on though and show some colors! Heres a video of me testing out the two modes I put on there:

PXL20260204030708135

(They both are a bit broken, but the LEDs are actually turning on!)

I also got some macro shots of the board:

PXL_20260204_025931672
PXL_20260204_024905974
PXL_20260204_024838467

(This last one is one of my personal favorites)

And with that, I have figured out that the board can be programmed, talk to the computer correctly over serial (the USB chip is working), work with the LEDs (though a bit incorrectly as of now), and take user input through the onboard user button. Its working up its way to being a pretty cool little device.

PXL_20260204_030320935
PXL_20260204_030340621

Logan Peterson Logan Peterson added to the journal ago

Solder time!

All of the parts have arrived! Its time to build it!

I taped down the PCBs and got some solder paste on them:

PXL_20260203_000253116

This is going to be one tiny solder job:

PXL_20260202_235926557.MP
PXL_20260203_000732383
PXL_20260203_001844486

After I got the paste on there I added the LEDs and started working on the flyback diodes. These diodes are pretty small, which is the same with a majority of the other components:

PXL_20260203_013300603
PXL_20260203_013225974

Next I put all of the resistors and capacitors on the board. The hard part here was getting the LED on there. I wanted to try and get it in the correct orientation so that it would work properly.

PXL_20260203_012146813

At this scale the components are so small I need to take a macro shot to see the features:

PXL_20260203_012017091

I checked KiCAD for the direction but it wasn't very clear, so I took an educated guess.
Here's what the board looks like at this point:

PXL_20260203_021414084.MP

I put the rest of the bigger components on with no massive issues and finally made it to the ethernet chip. This thing is insanely small and will be the smallest ic chip I have ever soldered.

Heres the chip and the projects pile of electrical bags:

PXL_20260203_022927695
PXL_20260203_022846584

I threw it all on my hotplate to cook up the board and solder everything down. Everything went down amazingly except for the 2 smallest pin size components. The Ethernet chip and the USB-C socket both had some bridging solder connections, which I could only see when inspected under a macro image of the board.

Here is the Ethernet chip with 3 shorts:

PXL_20260203_024219534
PXL_20260203_023623869

I was able to fix one of the shorts by poking at it with my soldering iron:

PXL_20260203_025233025

After a while I was able to get another one fixed (with a combination of poking it and reflow on the hotplate)

PXL_20260203_025310390

This process continued for the 3rd short:

PXL_20260203_025345673

The last bit of cleanup I did was removing the tiny extra spec of solder that had placed itself on the side of the chip:

PXL_20260203_031725651

Now, time to fix the USB-C short.

94d8eaf3-06bf-48a0-855e-4ca0f2aeac1c

Its pretty small.

PXL_20260203_025444488

I did the same thing I had done for the ethernet chip, poking the spot with my iron and I was able to fix it, where I then started to plug the board in. Instantly the USB-C connector sheared off of the PCB...

I had forgotten to add solder into the mounting holes, and of course those tiny mounting pads were not enough to hold it. (resulting in this sad picture:)

PXL_20260203_032443873

I still really wanted to test the board so I connected to the battery connectors on the board with my bench power supply and used that to supply power. Unfortunately I got no signs of life out of the board. I was really hoping to see the power led come on, but instead I got no light and some slight heat coming out of the ESP32. The current it was pulling was far too low to be a short, but for a while I couldnt figure out why it wasn't seeming to turn on.

PXL_20260203_034454394

This just brought me back to the hotplate once again. I reflowed the USB-C area and got the connector back on there. (This meant more shorts to deal with)

PXL_20260203_025940147

I cleaned up the shorts with my iron again, but had gotten some of the solder on the connector wall.
I was able to clean this up with some solder wick.

PXL_20260203_030324575
PXL_20260203_031443163

After this I filled the mounting holes with solder and the board was ready for further testing!

d4aab06f-a8da-4207-b2a7-cd83e9321b0b

CAN CAN ⚡🚀 approved Nif-T ago

Tier approved: 1

Grant approved: $94.00

Nice project

Logan Peterson Logan Peterson submitted Nif-T for ship review ago

Logan Peterson Logan Peterson added to the journal ago

Finished up the Renders, README, BOM and Firmware.

image
(Banner image)
Alright its now time to finish up this project and get it ready to ship.

Heres what the renders look like:

image
image
image
image
image
image

The BOM also got pretty long :p
image
(This isn't all of it)

Adding Ethernet + POE to this board was a lot more complicated then I intended for it lol. I actually naively intended to make this in a couple days...

At this point I also made the main firmware for the board, where it can connect to the Google Home controller and publish its commands automatically.

Logan Peterson Logan Peterson added to the journal ago

Cleaned up Silkscreen and added Art!

Heres what the board looks like now:
image

I changed every single piece of text into comic sans lol.
I also added my usual set of PCB artwork to the back!

Heres what that looks like:
image

Heres what the PCB editor looks like now:
image

Logan Peterson Logan Peterson added to the journal ago

Rerouted the PCB

The wiring is much better organized now. It did take quite a while though...

I moved the components closer to what they actually connect to in order to reduce cross board connections.
(to do this I had to redo some of the length tuned wires :pf:)

The wiring is also so much more pretty now.

Heres what the board looks like now:
image

The wiring:
Screenshot 2025-12-05 180700

and now every single component is connected with no DRC errors!
Screenshot 2025-12-05 180246

Logan Peterson Logan Peterson added to the journal ago

Layout and most of the routing

During the lock in call I created a layout which fits entirely inside a 100x100 square.

Heres what that looks like:

image

The routing got pretty interesting and its the first time I had to manually tune track distances.

Screenshot 2025-11-28 233034Screenshot 2025-11-28 233024

Heres what all the routing looked like at the end of the night:

image

(There are still 30ish things not connected atp)

Logan Peterson Logan Peterson added to the journal ago

Finished schematic for board power and IO

In the long ol car ride home I finished laying out the schematic for the other power components as well as the relay system I would use.

Again the main hardship during this session was the lack of internet connection. I was only able to use the one schematic of a relay I had downloaded prior to the trip.

image

Logan Peterson Logan Peterson added to the journal ago

Finished schematic for ESP32 specific components

On the 27th I worked on all the ESP32 specific stuff I needed for the board. The main difference between this one and my last board is that because I needed Ethernet support, the ESP32 I selected did not have built in USB support.

The USB stuff wasn't nearly as hard to figure out as the Ethernet, heres what the schematic looks like now:

image

Logan Peterson Logan Peterson added to the journal ago

Finished schematic for Ethernet specific components

On the 26th I finished up all the Ethernet specific components for my PCB. Trying to add Ethernet and Power Over Ethernet is really making this project a lot harder than I intended for it to be :P

This process was made significantly harder by the fact that I have been on a trip and only had access to the footprints and datasheets I had downloaded the day earlier.

Heres what that schematic looks like now:

Screenshot_20251127_100818

Logan Peterson Logan Peterson added to the journal ago

Figured out board requirements and most of needed parts.

I figured out the general requirements I want for this board and started looking into parts that could fulfill all of my wants.
I really want power over Ethernet available for this board and that is making things much more complicated. I've been looking over a bunch of datasheets trying to figure out something I can use. I think I have the main parts down and I just need to figure out the support components like resistors or capacitors for each one.

After this I still need to figure out how to wire up the new ESP32 board..

Current project goals:
image

Current Projects parts list:
image

Logan Peterson Logan Peterson started Nif-T ago

11/25/2025 - Figured out board requirements and most of needed parts.

I figured out the general requirements I want for this board and started looking into parts that could fulfill all of my wants.
I really want power over Ethernet available for this board and that is making things much more complicated. I've been looking over a bunch of datasheets trying to figure out something I can use. I think I have the main parts down and I just need to figure out the support components like resistors or capacitors for each one.

After this I still need to figure out how to wire up the new ESP32 board..

Current project goals:
image

Current Projects parts list:
image

11/28/2025 6:48 PM - Finished schematic for Ethernet specific components

On the 26th I finished up all the Ethernet specific components for my PCB. Trying to add Ethernet and Power Over Ethernet is really making this project a lot harder than I intended for it to be :P

This process was made significantly harder by the fact that I have been on a trip and only had access to the footprints and datasheets I had downloaded the day earlier.

Heres what that schematic looks like now:

Screenshot_20251127_100818

11/28/2025 6:52 PM - Finished schematic for ESP32 specific components

On the 27th I worked on all the ESP32 specific stuff I needed for the board. The main difference between this one and my last board is that because I needed Ethernet support, the ESP32 I selected did not have built in USB support.

The USB stuff wasn't nearly as hard to figure out as the Ethernet, heres what the schematic looks like now:

image

11/28/2025 6:58 PM - Finished schematic for board power and IO

In the long ol car ride home I finished laying out the schematic for the other power components as well as the relay system I would use.

Again the main hardship during this session was the lack of internet connection. I was only able to use the one schematic of a relay I had downloaded prior to the trip.

image

11/29/2025 - Layout and most of the routing

During the lock in call I created a layout which fits entirely inside a 100x100 square.

Heres what that looks like:

image

The routing got pretty interesting and its the first time I had to manually tune track distances.

Screenshot 2025-11-28 233034Screenshot 2025-11-28 233024

Heres what all the routing looked like at the end of the night:

image

(There are still 30ish things not connected atp)

12/5/2025 6 PM - Rerouted the PCB

The wiring is much better organized now. It did take quite a while though...

I moved the components closer to what they actually connect to in order to reduce cross board connections.
(to do this I had to redo some of the length tuned wires :pf:)

The wiring is also so much more pretty now.

Heres what the board looks like now:
image

The wiring:
Screenshot 2025-12-05 180700

and now every single component is connected with no DRC errors!
Screenshot 2025-12-05 180246

12/5/2025 8 PM - Cleaned up Silkscreen and added Art!

Heres what the board looks like now:
image

I changed every single piece of text into comic sans lol.
I also added my usual set of PCB artwork to the back!

Heres what that looks like:
image

Heres what the PCB editor looks like now:
image

12/13/2025 - Finished up the Renders, README, BOM and Firmware.

image
(Banner image)
Alright its now time to finish up this project and get it ready to ship.

Heres what the renders look like:

image
image
image
image
image
image

The BOM also got pretty long :p
image
(This isn't all of it)

Adding Ethernet + POE to this board was a lot more complicated then I intended for it lol. I actually naively intended to make this in a couple days...

At this point I also made the main firmware for the board, where it can connect to the Google Home controller and publish its commands automatically.

4/1/2026 8:36 PM - Solder time!

All of the parts have arrived! Its time to build it!

I taped down the PCBs and got some solder paste on them:

PXL_20260203_000253116

This is going to be one tiny solder job:

PXL_20260202_235926557.MP
PXL_20260203_000732383
PXL_20260203_001844486

After I got the paste on there I added the LEDs and started working on the flyback diodes. These diodes are pretty small, which is the same with a majority of the other components:

PXL_20260203_013300603
PXL_20260203_013225974

Next I put all of the resistors and capacitors on the board. The hard part here was getting the LED on there. I wanted to try and get it in the correct orientation so that it would work properly.

PXL_20260203_012146813

At this scale the components are so small I need to take a macro shot to see the features:

PXL_20260203_012017091

I checked KiCAD for the direction but it wasn't very clear, so I took an educated guess.
Here's what the board looks like at this point:

PXL_20260203_021414084.MP

I put the rest of the bigger components on with no massive issues and finally made it to the ethernet chip. This thing is insanely small and will be the smallest ic chip I have ever soldered.

Heres the chip and the projects pile of electrical bags:

PXL_20260203_022927695
PXL_20260203_022846584

I threw it all on my hotplate to cook up the board and solder everything down. Everything went down amazingly except for the 2 smallest pin size components. The Ethernet chip and the USB-C socket both had some bridging solder connections, which I could only see when inspected under a macro image of the board.

Here is the Ethernet chip with 3 shorts:

PXL_20260203_024219534
PXL_20260203_023623869

I was able to fix one of the shorts by poking at it with my soldering iron:

PXL_20260203_025233025

After a while I was able to get another one fixed (with a combination of poking it and reflow on the hotplate)

PXL_20260203_025310390

This process continued for the 3rd short:

PXL_20260203_025345673

The last bit of cleanup I did was removing the tiny extra spec of solder that had placed itself on the side of the chip:

PXL_20260203_031725651

Now, time to fix the USB-C short.

94d8eaf3-06bf-48a0-855e-4ca0f2aeac1c

Its pretty small.

PXL_20260203_025444488

I did the same thing I had done for the ethernet chip, poking the spot with my iron and I was able to fix it, where I then started to plug the board in. Instantly the USB-C connector sheared off of the PCB...

I had forgotten to add solder into the mounting holes, and of course those tiny mounting pads were not enough to hold it. (resulting in this sad picture:)

PXL_20260203_032443873

I still really wanted to test the board so I connected to the battery connectors on the board with my bench power supply and used that to supply power. Unfortunately I got no signs of life out of the board. I was really hoping to see the power led come on, but instead I got no light and some slight heat coming out of the ESP32. The current it was pulling was far too low to be a short, but for a while I couldnt figure out why it wasn't seeming to turn on.

PXL_20260203_034454394

This just brought me back to the hotplate once again. I reflowed the USB-C area and got the connector back on there. (This meant more shorts to deal with)

PXL_20260203_025940147

I cleaned up the shorts with my iron again, but had gotten some of the solder on the connector wall.
I was able to clean this up with some solder wick.

PXL_20260203_030324575
PXL_20260203_031443163

After this I filled the mounting holes with solder and the board was ready for further testing!

d4aab06f-a8da-4207-b2a7-cd83e9321b0b

4/1/2026 8:58 PM - Fixing the board + First Code!

Alright so the state we left the board in was no shorts but it also didn't have its power on LED.

I tested across the LED with a multimeter and it read 3.3V so it seems to be working correctly. This meant that I had just placed the LED in the wrong direction. It wasn't really clear which side was the anode on the LED and I hadn't thought to look it up lol. Previously I had just checked how it looked in the 3d view, but that may have been wrong or different from my LED.

I brought out the hotplate again and took off the LED, checking again which way it was oriented:

PXL_20260204_013807959

When I was putting it back on the board (while the board was on the hot plate) I dropped the LED and couldn't find it, so I took the board off the hotplate to look for it.

Eventually I found it stuck half soldered to one of the resistors:

PXL_20260204_013612976

I was able to use my soldering iron to get the led unstuck:

PXL_20260204_021308328

I got it soldered back on in the correct direction this time and, finally, the board powers up in this beautiful purple blue light:

PXL_20260204_025923377

And the board looks like it boots!

PXL_20260204_021630352

This is the video of me putting the Nif-T firmware on the board:

Firmware upload

It doesn't do very much at the moment, since I dont actually have a google home server set up in my house just yet, but it allowed me to check that I was able to communicate with the board and program it!

The next thing I wanted to bring up were the LEDs. This was the first time I actually had the LED chips that fit my board layout, so it was also the first time I was programming for them on a board :p

It didnt take too long, but I made a LED test script that would flash the rainbow RGB barf pattern across the LEDs. I couldn't really get it to work, even taking into account the weird position of each LED.

The LEDs did turn on though and show some colors! Heres a video of me testing out the two modes I put on there:

PXL20260204030708135

(They both are a bit broken, but the LEDs are actually turning on!)

I also got some macro shots of the board:

PXL_20260204_025931672
PXL_20260204_024905974
PXL_20260204_024838467

(This last one is one of my personal favorites)

And with that, I have figured out that the board can be programmed, talk to the computer correctly over serial (the USB chip is working), work with the LEDs (though a bit incorrectly as of now), and take user input through the onboard user button. Its working up its way to being a pretty cool little device.

PXL_20260204_030320935
PXL_20260204_030340621

4/1/2026 9 PM - Soldered THT components

So at this point I have all of the SMD components soldered and working (except for the ethernet chip, I cant test that yet).

I soldered in all of the relays and edge connectors to the board:

PXL_20260205_020721574

After that I soldered in the ethernet port and the POE board.

PXL_20260205_030540562

By this point everything hardware related for the board is done! The only thing left now is to get all of the software working correctly.

(I still haven't fixed the LEDs but they do look pretty cool)

PXL_20260205_030551121

4/1/2026 10 PM - Software and Demo Preparation

Alright the board looks awesome, powers on, but doesn't run anything super helpful.
Todays session is aimed to change that.

I have a couple of things in mind for what I want in order for this board to be demo ready. First I wanted it to host a website on both an available home AP network or its own self made AP network (if it was unable to find the home AP network). I also wanted this website to be pretty in depth, with it able to change essentially everything about the board on the fly. I wanted to be able to access every single relay, led, and GPIO on the board. I wanted to be able to set up each of the GPIO pins to either act as a binary on off (as they would when relays were enabled), as a raw PWM output, or as a specific PWM output for servo motors.
Finally I wanted it to have a couple mesmerizing LED modes, so I would need to fix whatever was messing them up.
Last but certainly not least I wanted to include a song for the buzzer that I had on the board. You should definitely take a look at the demo video when that comes out hehe.

I started off by working on the LEDs. It took me a while to figure out since I was wondering if it was a hardware issue (like if I had wired the LEDs wrong) or a software one.

Eventually I found out that these LEDs are expecting a 3 byte long number for their colors, and I was sending a 4 byte long number. I had accidentally taken a snippet of code that was for RGBW leds, which caused the issue since I have only RGB leds on my board.

After finding this and fixing it I was able to get this correct rainbow across my board:

image

After getting this working and verifying that it works I created a purple fire led mode.

PXL_20260402_012047109

Its not really visible in the still image but it should look a lot better in the final demo!
I still think it looks really cool in its still image.

Next up I started trying to get the Ethernet chip up and working, but I was not able to...
I tried all variations of code before creating a snippet to test weather I could get it to boot and connect to my ESP32. Ultimately whatever I tried this returned a failure, so I brought out my oscilloscope to try and figure out the signals, since I figured the clock signal was the most likely hardware failure.

image

I probed everything on and around the Ethernet chip and its clock, and got back nothing but noise
:(

I double checked all the solder connections and they look fine on the ethernet chip:

image

The 25mhz clock appears to be mostly fine, but it is actually soldered on 180 degrees from how it should be:

image

This shouldn't be the issue though since the GND and data pins still line up. (albeit the data pins are swapped around / should be ok for passive crystals though?)
I didn't want to spend too much more time on this though so I would have time to finish the website.
If I resolder anything I would try to flip this clock around to see if it fixes the ethernet, but for now this will have to remain not working. (I cant put the board back on the hot plate since it has THT components on it.)

I started off my website as a version of my portfolio, but imagined as a developer console.
I used my dark mode from here: https://loganpeterson.org/

After this I added in the Overview, Input / Output, and Reserved / Diagnostic sections:

image

GPIO Section:

Screenshot 2026-04-01 212359

The GPIO section also includes dropdowns which can lead to a PWM and Servo direct output:

image

Input Section:

Screenshot 2026-04-01 212405

Reserved / Diagnostic Section:

Screenshot 2026-04-01 212414

The reserved section opens up to reveal the 2 pins used for system functions (buzzer and LEDs) but can technically be disabled and used for something else:

Screenshot 2026-04-01 212422

This setup gives 7-9 directly accessible PWM ports (depending on if the buzzer and LEDs are enabled) and also allows for the control of everything directly through the website.

I also added support for playing a song through the website, so you should go look at my demo to see it when it comes out!

The board will serve this website on the home network if it can find it. If it cant find it, the board will spin up its own AP network and serve the website there.

After I did all of this I was going to test out the 9v battery connector. I reached for and got out my 9V battery I got from the old arduino kit and...

image

Wow I didn't even know something could get this dead...
Its almost impressive.

After that small failure I took some nice pictures of the board!

image
image

I made these in a makeshift infinite background by propping up some A4 paper lol. It does make it look really good.

Also as you can see in my screenshot I have been writing this for a long while.. (I turned it on when I started writing for this journal) So I added 40 minutes to the time.

image

4/14/2026 - Shot and edited the projects demo video!

I made a video of the board running the demo program I made!

The first thing I did was make an idea of what I wanted to show off.

This included the relay outputs, LEDs, buzzer, and custom web control interface.

With these in mind I shot a bunch of a and b roll:

image

(This process took about 40 minutes)

A majority of the a roll was shot using 2x zoom with pan stabilization, which meant that the frames per second on the camera was also increased. This process probably had some kind of affect on the output quality, though I think the biggest factor / challenge for my camera was how I was having it stare basically at blinding LEDs the entire time. (This probably didn't help...)

image

Next, since I was going to add a voiceover I updated my OBS settings to include custom filters on my microphone. This massively helped with the background noise that would have showed up in the video:

image

After this I downloaded DaVinci Resolve.

image

While this was working I refined my idea of what I wanted to show off into a kind of script I could use for the voiceover.

This was my first time in a while doing something like this so I wasn't exactly sure how I was supposed to go about this. (This is my second time using DaVinci Resolve / First time this year :pf:)

I found some nice free background music and imported that into my editor, along with all of my physical hardware shots. (Getting to the music took about 25 minutes as seen in the above screenshot)

Next I used OBS to screen record the website, where I went through all its features. (That's right, its actually non continuous from the video! I bet you wouldn't notice if you watched it hehe)

image

After I got all these in my editor, I spent the next 2 hours editing (from 10-12!)

By this point I had all of the clips arranged how I wanted them, with the correct cuts and transitions. I then went to sleep...


Now the next day, I had to record the voiceover for the video, which took a while because I had to both record the voiceover, then rerecord the voiceover, then cut away the bad takes and move the clips around slightly to make everything fit.

I also ended up changing the script slightly, I threw a bit of it out since it was too long and just freestyled some parts.

image

(Even this screenshot is just the recordings that I kept!)

This is some of what the DaVinci Resolve project looks like:

image

image

By this point the video was finished, so I had it export and started uploading it to youtube.

While it was uploading, I created the thumbnail for the video:

I made the thumbnail in google drawings by first setting the background to red so I could see the edges of what my image would be.
Next I got some images that I had of the project from google photos, as well as capturing a frame from one of my b roll shots, exporting that as a png, then reimporting that into google drawings.

Screenshot 2026-04-14 181816

After I did this I opened up the KiCAD project and removed the background in the 3D render view, positioned the PCB, and took that over to google drawings:

image

So after a little bit of messing around I got this:

image
Nif-T Demo Thumbnail

The hardest part of this entire 2 day process was just figuring out how to use DaVinci Resolve. After figuring out the basics by messing with my clips the process got a bit easier but it still took a really long time to make everything work together.

You can check out the demo video here!