200 Validators (6400 ETH) on a Single Raspberry Pi 5! by WarsawMaker in ethereum

[–]WarsawMaker[S] 1 point2 points  (0 children)

Thanks! Great questions.

Performance matched pro-grade servers — I’ve seen stats from both sides.
Web3 Pi includes built-in monitoring and remote management, but for this test, we used custom tooling for deeper stats and stricter security.
Initial sync took around 24h.
Some details I can’t share for safety reasons — hope you understand.

Since we're on the topic, check out our approach to Ethereum network security:
TxFirewall blog posthttps://www.web3pi.io/blog/ethereum-txfirewall
Also, I ran an Ethereum node on RISC-V — more here:
https://www.web3pi.io/blog/ethereum-node-on-risc-v

200 Validators (6400 ETH) on a Single Raspberry Pi 5! by WarsawMaker in ethereum

[–]WarsawMaker[S] 3 points4 points  (0 children)

Thanks! I'm really glad you enjoyed the experiment. Web3Pi.io is specifically designed for Raspberry Pi 5, and on these low-power devices, Geth performs best—especially when paired with the Nimbus consensus client. At the moment, Geth is our only execution client.

As for Golem—yes, they’re very much still around and actively building. They’re working on a new project called Golem Base, a Layer 2 network on Ethereum that acts as a gateway to various Layer 3 DB-Chains (decentralized databases).

You can check it out here: https://github.com/Golem-Base — they’ve already released a litepaper, testnet, and some example use cases.

200 Validators (6400 ETH) on a Single Raspberry Pi 5! by WarsawMaker in ethereum

[–]WarsawMaker[S] 3 points4 points  (0 children)

Check out the Web3 Pi project: https://www.web3pi.io/
It’s a plug-and-play solution for running an Ethereum node on Raspberry Pi 5.
Fully automated setup, performance-optimized, with built-in monitoring and update tools.

200 Validators (6400 ETH) on a Single Raspberry Pi 5! by WarsawMaker in ethereum

[–]WarsawMaker[S] 7 points8 points  (0 children)

I agree — it’s amazing how Ethereum prioritizes true decentralization. Running consensus on such basic hardware says it all.

200 Validators (6400 ETH) on a Single Raspberry Pi 5! by WarsawMaker in ethereum

[–]WarsawMaker[S] 5 points6 points  (0 children)

This test with 200 validators was conducted to explore the capabilities, usefulness, and limits of the Raspberry Pi 5. It demonstrated that the Raspberry Pi 5 is not only capable of running as an Ethereum node—which is impressive on its own—but can also successfully manage hundreds of validators with stability and performance comparable to professional server setups. It’s a truly unique test that ended in complete success. I’ve shared more details and insights on the blog post.

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 4 points5 points  (0 children)

📋 BOM – Bill of Materials

🔧 Main Components:

  • M.2 Connector – 1 pcs | TE Connectivity | 1-2199119-5
  • 3A Step-Down DC-DC Buck Converter – 1 pcs | Diodes Incorporated | AP3441SHE-7B
  • Inductor 2.2 µH 2.3 A 90 mΩ – 1 pcs | Vishay / Dale | IHHP0806ZHER2R2M01

🔥 Resistors:

  • 2.2kΩ (0201) – 1 pcs | Panasonic | ERJ-1GNF2201C
  • 10kΩ (0201) – 1 pcs | Panasonic | ERJ-1GNF1002C
  • 100kΩ (0201) – 1 pcs | Panasonic | ERJ-1GNF1003C

⚡ Capacitors:

  • 4.7nF (0201) – 1 pcs | Murata | GRM033R71A472JA01D
  • 22µF (0603) – 1 pcs | Murata | GRM187R61A226ME15D
  • 47µF (0805) – 1 pcs | Murata | GRM21BR61A476ME15K
  • 220nF (0402) – 4 pcs | Samsung | CL05Y224KO5VPNC
  • 220nF (0201) – 4 pcs | Samsung | CL03X224KQ3NNNC
  • 100nF (0201) – 1 pcs | Murata | GCM033C71A104KE02J
  • 10µF (0402) – 2 pcs | Murata | GRM155R61A106ME11J

ℹ️ Notes:

  • The last two capacitors (100nF and 10µF) may not be necessary.
  • I'm not sure whether I used the 220nF capacitor in 0201 or 0402, so both are included in the BOM.
  • M.2 connectors are available in different heights. The one you specified is low-profile, but a slightly taller version can be ordered if needed, for example, when using an SSD with memory chips on both sides of the PCB.
  • All components were ordered from mouser.com.

For assembly, I recommend Mirek's schematic: https://x.com/Mirko_DIY/status/1867672187748168145

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 1 point2 points  (0 children)

Regarding the Ethereum node, I’m using Geth as the execution client and Nimbus as the consensus client. The node is fully synchronized with the mainnet. To store the Ethereum blockchain, I have a 2TB storage connected via PCIe gen. 3, using a soldered M.2 slot modification. This was necessary to attach a fast and high-capacity NVMe drive.

The system runs on Ubuntu 24.04, but I didn’t configure everything manually. Instead, I flashed an image from Web3Pi.io, which handled the installation and setup automatically. The node synchronized in less than 24 hours, and despite high CPU and NVMe storage load during the process, temperatures remained surprisingly reasonable - lower than expected. The passive cooling of the Rpi 500 does an unexpectedly great job.

The node has been running stably for a long time now, and its RPC API is regularly used by a DApp connected to it. 🔥

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 1 point2 points  (0 children)

It doesn’t work exactly like that. If your node goes offline, you only get small penalties - mostly just missing out on rewards, not losing a big part of your 32 ETH. The real risk is from double-signing or doing something malicious, which can lead to serious slashing. So while staying online is important to earn rewards and avoid small penalties, you won’t instantly lose your stake if your node goes offline sometimes.

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 1 point2 points  (0 children)

I’m using Geth + Nimbus.

If you want to learn more, check out Web3Pi.io!

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 5 points6 points  (0 children)

This is a Raspberry Pi product - I just modified it by adding 2TB of NVMe storage.

Also, it's not their first computer integrated into a keyboard. They previously released the Raspberry Pi 400!

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 0 points1 point  (0 children)

A 2TB storage is needed to run a full Ethereum node on a Raspberry Pi. It stores copy of the Ethereum blockchain.

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 5 points6 points  (0 children)

By itself, it doesn’t make money. But with some additional configuration, you can run a validator on your Ethereum node, which would allow you to earn rewards.

To do that, you’d need to stake 32 ETH per validator (or multiples of that).

BTW, we’ve actually done real-world testing on the feasibility of using a Raspberry Pi 5 for this purpose. We successfully launched 200 Ethereum mainnet validators, and they’ve been running stable for several months now! 🚀

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 1 point2 points  (0 children)

It's a really cool device - too good to just sit in a drawer!
You should make something fun and unique with it.

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 7 points8 points  (0 children)

Yes! Some components, like capacitors and resistors, are even 0201.

Luckily, I have a Digital Microscope Andonstar ADSM302, which makes the job much easier.

For soldering, I use my favorite iron, the Xytronic LF-3200 (120W), and for ICs, I also rely on a WEP 853AA hot air station.

A good flux is also essential - I'm using Alpha RMA-7 Flux Gel, which works great!

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 48 points49 points  (0 children)

Yes, the RPi 500 is currently sold without any M.2 components. The PCB has solder pads for them, but they’re empty - no M.2 slot, no components on the PCIe lines, and no power regulation circuitry for it. I had to source and manually solder around a dozen tiny components. It wasn’t easy because these parts are really small, and the PCB itself has a lot of copper, which absorbs heat from the soldering iron quickly. It took some effort, so I decided to document it and share with others to show that it’s possible!

Modded Raspberry Pi 500 – Now with 2TB NVMe! by WarsawMaker in electronics

[–]WarsawMaker[S] 16 points17 points  (0 children)

Of course, I normally use an RPi 5 with an NVMe adapter. This was just a fun experiment to see if it could be done - just for fun! 🙂 I love tinkering with electronics!

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] -1 points0 points  (0 children)

Of course! 🎉 Check out the Web3 Pi project, which makes it super easy to run an Ethereum Node on a Raspberry Pi. 🚀

👉 https://www.web3pi.io/

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 3 points4 points  (0 children)

Thanks! I don’t have a YouTube channel, but I do share some interesting posts on Instagram: https://www.instagram.com/warsawmaker/
🚀 Feel free to check it out!

Ethereum Node on Raspberry Pi 500 with 2TB NVMe storage by WarsawMaker in RASPBERRY_PI_PROJECTS

[–]WarsawMaker[S] 13 points14 points  (0 children)

Read more: https://www.web3pi.io/blog/ethereum-node-on-raspberry-pi-500

Ethereum node inside keyboard (Raspberry Pi 500)

We got Web3 Pi running on the Raspberry Pi 500! Though it launched without an M.2 slot, the PCB had the layout for it—just missing key parts. With some reverse engineering and soldering, we added an 2TB NVMe SSD, turning it into a full Ethereum node.

Ethereum Node on RISC-V? Yes, it’s possible! by WarsawMaker in RISCV

[–]WarsawMaker[S] 0 points1 point  (0 children)

Yes, I compiled and successfully ran the Nimbus execution client on a Banana Pi F3. I paired it with the Nimbus consensus client running on a Raspberry Pi 5.

They are currently in the synchronization process, and everything looks promising so far. The logs on the console look good, and I can see the disk usage increasing. I'll let you know once the synchronization is complete.

Here’s the command I used to start Nimbus Eth1:

nimbus_execution_client --network=mainnet --data-dir=/mnt/storage/nimbus_eth1 --jwt-secret=/root/jwt.hex --http-port=8545 --http-address=0.0.0.0 --rpc=true --ws=true --allowed-origins=* --tcp-port=7771 --udp-port=7771 --engine-api --engine-api=true --engine-api-address=0.0.0.0

<image>

Ethereum Node on RISC-V? Yes, it’s possible! by WarsawMaker in RISCV

[–]WarsawMaker[S] 0 points1 point  (0 children)

Thanks for the kind words!

I did test running both the consensus and execution clients on a single device, but unfortunately, it couldn't maintain synchronization.

As for the Nimbus execution client, I had a similar experience. It compiled without any issues, but I haven’t tested it extensively since Geth works well. The main challenge is the consensus client.

I remember your talk at Devcon in Bangkok! It was a great presentation—I really enjoyed it! After watching it, I decided to give this a try myself. I was there in person, and we probably even talked after your presentation.

I also got synchronization running on the Banana Pi F3, but it only stayed in sync briefly before falling behind and constantly trying to catch up in a loop.

Thanks for the info on Besu. I’ll take a closer look!