HausNAS
A bare metal NAS built from scratch, no CPU, no SBC, no linux, microcontrollers only. PCB Only
Created by
housey2k
Tier 2
12 views
0 followers
housey2k
added to the journal ago
New PCB layout
Did a few changes to the layout, now the board is smaller and more compact, I already positioned all the passives, changed a few net name and footprint mistakes, and I think it's good to route now, I'm considering 4 layers (GND and 3V3 planes, and top and bottom for signals)



housey2k
added to the journal ago
Initial PCB layout
This is the basic PCB layout, I positioned only the core components like ICs and connectors, I haven't positioned most SMD passives. Later i'll be positioning all the components and start routing.

housey2k
added to the journal ago
Device Standardization
This is the part of the project that is done before the PCB, here I pick the components on LCSC, Based on their values on the schematic I search LCSC either through their website or directly from EasyEDA and pick the cheapest and more available components. These components get their packaging passed into the PCB editor and part numbers to the BOM

housey2k
added to the journal ago
Added USB-B connector
I forgot to add it earlier, so now I added the external USB-B connector that will be used for configuration (and maybe firmware updates).
I also added a voltage divider that the MCU can use to sense if a USB cable is connected, I don't know if it will be necessary
During this step I also spent 10 minutes deciding wether I should add a lot of debug LEDs (USB 5V, USB Enum, Master PostOK, Slave PostOK, Sata ACT, etc) that I'm not logging because I didn't add (it's not christmas anymore lol)

housey2k
added to the journal ago
Wired microcontrollers + eth0 PHY
Finished connecting the ESP32-S3 microcontrollers, as explained before, the master MCU will handle ethernet, wifi, SPI and USB jobs while the slave MCU handles SATA-USB, file system and SPI jobs.
Below is the the master microcontroller, with all connections labeled

And below is the slave microcontroller, with all connections labeled.

The slave microcontroller is really software intensive, since it must handle file systems, USB drivers, and SPI communication to the master.
The master microcontroller is more hardware intensive, since it has to flash the slave MCU on firmware updates, talk to ethernet, WiFi, handle configurator software through USB, ethernet and WiFi, thought the ethernet, wifi and SMB parts of the project are also software intensive.
Here is the page for the ethernet PHY

Here we have the main IC, which is the IP101GRI because it's a cheap IC, and it was used before on espressif development boards, so it must have good software support, we can also see all it's support components, like the pulse transformer, TVS array, filtering and protection components, the ethernet port itself, and many capacitors for decoupling, RC network for reset timing, and pull up resistors for configuration
housey2k
added to the journal ago
SATA Circuit + 1.1V converter + system planning
Finished the circuit for the USB-SATA bridge.
I picked the TUSB9261PVP IC because it's pretty integrated, readily available and not that hard to use, with the assembled board i'll have to upload firmware via USB on my computer. I'll do this by holding the slave ESP on reset and soldering a cable to the data points.

I also added a 1.1V switching converter that will be used to power the bridge's processing core (VDD), I am using the ST1S10PHR by STMicroelectronics, I picked this IC from a recommendation at EEVBlog that was posted by someone with the exact same requirements.

This project will use 2x ESP32-S3 microcontrollers
The slave MCU will handle low level tasks like USB host and drivers, raw data read and file system.
The master MCU will handle higher level tasks like SMB server, configurator USB, slave firmware flashing, Ethernet and WiFi.
They will communicate via SPI
The goal of this project for now is not to be a practical NAS, but rather prove that it is possible to create such device without any traditional computers, operating system and architecture
housey2k
added to the journal ago
Finished initial power circuit
This is the power circuit, it switches the input voltage to 5V and 3.3V, I am using LM2596 because it's a really popular IC and easy to implement, I am aware that there are cleaner and more efficient ICs, but i believe this is enough

housey2k
added to the journal ago
Created project
Created the EasyEDA project, as the foundation of every project, I always start with the power circuit, for this project I plan a 12V input that will go through buck converters to generate the system voltages.
Input will be 12V that will be sent to SATA and bucks
Buck1 will output 5V for SATA and USB
Buck2 will output 3.3V for logic and ethernet

housey2k
started HausNAS ago
1/24/2026 9:35 AM - Created project
Created the EasyEDA project, as the foundation of every project, I always start with the power circuit, for this project I plan a 12V input that will go through buck converters to generate the system voltages.
Input will be 12V that will be sent to SATA and bucks
Buck1 will output 5V for SATA and USB
Buck2 will output 3.3V for logic and ethernet

1/24/2026 9:56 AM - Finished initial power circuit
This is the power circuit, it switches the input voltage to 5V and 3.3V, I am using LM2596 because it's a really popular IC and easy to implement, I am aware that there are cleaner and more efficient ICs, but i believe this is enough

1/25/2026 - SATA Circuit + 1.1V converter + system planning
Finished the circuit for the USB-SATA bridge.
I picked the TUSB9261PVP IC because it's pretty integrated, readily available and not that hard to use, with the assembled board i'll have to upload firmware via USB on my computer. I'll do this by holding the slave ESP on reset and soldering a cable to the data points.

I also added a 1.1V switching converter that will be used to power the bridge's processing core (VDD), I am using the ST1S10PHR by STMicroelectronics, I picked this IC from a recommendation at EEVBlog that was posted by someone with the exact same requirements.

This project will use 2x ESP32-S3 microcontrollers
The slave MCU will handle low level tasks like USB host and drivers, raw data read and file system.
The master MCU will handle higher level tasks like SMB server, configurator USB, slave firmware flashing, Ethernet and WiFi.
They will communicate via SPI
The goal of this project for now is not to be a practical NAS, but rather prove that it is possible to create such device without any traditional computers, operating system and architecture
1/26/2026 11:18 PM - Wired microcontrollers + eth0 PHY
Finished connecting the ESP32-S3 microcontrollers, as explained before, the master MCU will handle ethernet, wifi, SPI and USB jobs while the slave MCU handles SATA-USB, file system and SPI jobs.
Below is the the master microcontroller, with all connections labeled

And below is the slave microcontroller, with all connections labeled.

The slave microcontroller is really software intensive, since it must handle file systems, USB drivers, and SPI communication to the master.
The master microcontroller is more hardware intensive, since it has to flash the slave MCU on firmware updates, talk to ethernet, WiFi, handle configurator software through USB, ethernet and WiFi, thought the ethernet, wifi and SMB parts of the project are also software intensive.
Here is the page for the ethernet PHY

Here we have the main IC, which is the IP101GRI because it's a cheap IC, and it was used before on espressif development boards, so it must have good software support, we can also see all it's support components, like the pulse transformer, TVS array, filtering and protection components, the ethernet port itself, and many capacitors for decoupling, RC network for reset timing, and pull up resistors for configuration
1/26/2026 11:59 PM - Added USB-B connector
I forgot to add it earlier, so now I added the external USB-B connector that will be used for configuration (and maybe firmware updates).
I also added a voltage divider that the MCU can use to sense if a USB cable is connected, I don't know if it will be necessary
During this step I also spent 10 minutes deciding wether I should add a lot of debug LEDs (USB 5V, USB Enum, Master PostOK, Slave PostOK, Sata ACT, etc) that I'm not logging because I didn't add (it's not christmas anymore lol)

1/29/2026 11 AM - Device Standardization
This is the part of the project that is done before the PCB, here I pick the components on LCSC, Based on their values on the schematic I search LCSC either through their website or directly from EasyEDA and pick the cheapest and more available components. These components get their packaging passed into the PCB editor and part numbers to the BOM

1/29/2026 12 PM - Initial PCB layout
This is the basic PCB layout, I positioned only the core components like ICs and connectors, I haven't positioned most SMD passives. Later i'll be positioning all the components and start routing.

1/31/2026 - New PCB layout
Did a few changes to the layout, now the board is smaller and more compact, I already positioned all the passives, changed a few net name and footprint mistakes, and I think it's good to route now, I'm considering 4 layers (GND and 3V3 planes, and top and bottom for signals)

