Motivation#
I wanted to get into embedded systems in a serious way for a long time now. I have dabbled a bit in books and online tutorials, but I never felt like I was making real progress. So, I decided I will just take up a project and learn as I go along. Plus, the theory was getting a bit boring after a while.
Goal#
Create a low-cost embedded web server from scratch using as many components I have lying around my house as possible. The web server should be able to serve static web pages(maybe also dynamic pages) to the internet.
Hardware components#
These are the main hardware components I plan to use:
| Component | Description | Approximate cost |
|---|---|---|
| nRF52840 DK | nRF52840 development board with an onboard debugger | ₹6,000 / $63 |
| 2000 mAh rechargeable battery | Single-cell lithium-ion or Li-Po battery | ₹300 / $3 |
| W5500 Ethernet module | Ethernet controller with hardware TCP/IP offload | ₹600 / $6 |
| 32 GB microSD card and reader module | Storage for static files and logs | ₹650 / $7 |
| USB cable | USB-A to Micro-USB cable for power, flashing, and debugging | ₹200 / $2 |
| Breadboard and jumper wires | Used for prototyping and connections | ₹400 / $4 |
| Passive components | Resistors, capacitors, and other small components | ₹500 / $5 |
| Custom PCB | To make the final design compact and robust | TBD |
| 3D-printed enclosure | To house the final device | TBD |
Note: Approximate prices in India as of July 2026. USD values use ₹95 per US dollar.
Total estimated cost: approximately ₹8,650 / $91, excluding the custom PCB and enclosure.
I will try to keep the complete project under ₹~15,000 / $150.
Pointers#
- Build a low-cost embedded web server using as many components I already have as possible.
- Start with the nRF52840 MCU and explore whether it can efficiently serve static web pages.
- Write as much code as possible from scratch, avoiding heavy libraries and frameworks to keep the firmware lightweight.
- Use C/C++, Rust, or any language that best fits the project.
- Document the entire journey—including successes, failures, challenges, and lessons learned—in a detailed article series.
- Design a custom PCB and 3D-printed enclosure for the final hardware.
- Keep the project as cost-effective as possible.
- If the nRF52840 proves unsuitable, switch to a more appropriate MCU.
- Explain concepts in simple terms so other beginners can learn alongside me.
- Feedback, suggestions, and useful resources are always welcome—feel free to reach out via the contact page.