A Baby WYSE, the 3040

A Baby WYSE, the 3040

Ever since my successful adventure with the WYSE J5005, I fell in love with these little thin clients. So when the opportunity arose to pick up a baby one for $30, I pounced on it.

The Path to Another WYSE

I love my WYSE 5070. That little box is so much power stuffed into a tiny little form factor. And as I outlined in my last review, it sips power, averaging about 7.5 watts under normal load.

Although I initially threw VyOS on it, I don’t really have a need for another dedicated router right now. So the duties of the box shifted, and it became the charter member of a newly minted Proxmox cluster, where it’s actually running a backup routing VyOS instance:

wyse5070 running primary DC, backup routing, and random Debian instance

When the opportunity came to pick up a WYSE3040, I absolutely jumped on it. Especially when it was less than a cost of a Raspberry Pi.


Dell WYSE 3040

So when I got the 3040, I didn’t realize how SMALL it would be. I mean, this thing is downright TINY:

I didn’t have a banana, so this is the size compared to an SSD.

As pictured, the thing has a footprint that’s only slightly bigger than an SSD.

Even at that size, it has a surprising amount of ports:

headphone jack, usb2, usb3
power, dual displayport, USB2, ethernet

The Guts

I don’t know why, but I alway feel a driving NEED to open up my new toys. It’s a disease. And this thing was no exception.

With the bottom of the case off, it has an open spot for a WiFi card. With the limited storage space in this sucker, at some point I’m going to research if I can drop an M2 SSD in there:

bottom of case off

Once the device is fully extricated from its case, there’s really not much to look at. Just a huge heatsink that covers most of the top of the motherboard:

fully out

The Specs

While the WYSE5070 is a powerhouse in a tiny form-factor, this 3040 is a bit more… modest.

  • Atom x5-Z8350 Processor
  • 2GB of DDR3L RAM (soldered on)
  • 8GB of eMMC (soldered on)
  • Gigabit Realtek NIC (RTL8111/8168/8411)
system stats

Like I said. Pretty modest specs. And the small RAM and storage space somewhat limit the options. The eMMC is particularly painful as that kind of flash is REALLY not designed for general usage. I’ll probably end up using a SATA SSD over a sata-wire.


VyOS

So one of the first things I usually do with a new device is toss VyOS on it. I’m a huge VyOS enthustiast, evangelist, and as mentioned recently, now maintainer.

Unfortunately on this device, the VyOS installer died on a black screen. But during the course of doing this write-up, I took another look at it, and discovered the reason for this. GRUB tries to pass the output to a non-existent serial port. While I’ve had other devices that lacked serial ports that installer didn’t care about, on this one it refused to boot. So I just had to edit the grub boot line to remove the serial information.

Also, the 1.3 line of VyOS had a broken UEFI installer since release due to a change in Debian Buster, but I recently fixed that as well.

So expect a VyOS write-up on this forthwith.


Testing

For testing, I just installed Ubuntu 18.04 or 19.10 I think. Whatever ISO I had stuck on a USB at the time.

The space on the device is obviously a very real concern. Not to mention, as I said, the eMMC probably wouldn’t stand up very long to even minor usage without some hacks. 2.1G available with a fairly minimal install + WireGuard.

Filesystem      Size  Used Avail Use% Mounted on
udev            909M     0  909M   0% /dev
tmpfs           190M  1.4M  189M   1% /run
/dev/mmcblk0p2  6.7G  4.2G  2.1G  68% /
tmpfs           950M     0  950M   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           950M     0  950M   0% /sys/fs/cgroup
/dev/loop0       90M   90M     0 100% /snap/core/8268
/dev/mmcblk0p1  511M  7.8M  504M   2% /boot/efi
/dev/loop1       55M   55M     0 100% /snap/lxd/12211
/dev/loop2       90M   90M     0 100% /snap/core/7917
/dev/loop3       55M   55M     0 100% /snap/lxd/12631
tmpfs           190M     0  190M   0% /run/user/1000

Obviously I could probably get that a lot leaner if I went with something like Alpine or Arch.

A basic iperf3 to a different host on my network shows gigabit speeds:

[SUM]   0.00-10.00  sec  1.09 GBytes   934 Mbits/sec    0             sender
[SUM]   0.00-10.00  sec  1.08 GBytes   931 Mbits/sec                  receiver

with moderate CPU usage:

cpu usage during iperf3

And firing up WireGuard and running an iperf3, show slightly less speed

[SUM]   0.00-10.00  sec   991 MBytes   831 Mbits/sec    0             sender
[SUM]   0.00-10.01  sec   988 MBytes   828 Mbits/sec                  receiver

And lots more CPU:

cpu usage during WireGuard iperf3


Power Consumption

The power consumption is where this thing really shines. Again, sorry for the potato pic, I just have a terrible time getting a decent picture of my kill-a-watt with a dying screen. 4.1 watts at idle:

potato pic, idle power consumption 4.1 watts

And 7.3 watts under WireGuard:

potato pic, WireGuard at full speed, 7.3 watts

Conclusion

In all, this is a great little device for projects. I might turn it into a DNS server or something. For a lower speed network, I can also see it making a great little router. I could see the CPU crumbling under heavy load that was coming from more than just a handful of streams.

For the $30 I paid for it, it can definitely replace a Raspberry Pi for me. And it will be even more useful if I can drop an M2 SSD into that WiFi slot.

Please follow and like us: