Proxmox Datacenter Manager Is Exactly What I Needed

| Comments

When I first migrated my virtualized homelab stuff from my old Debian with KVM and virt-manager to a mini PC running Proxmox, I knew I would want to eventually have some sort of cluster manager. It didn’t take long before I had Proxmox running on a second Mini PC at home, and this week I am migrating my off-site Raspberry Pi’s Seafile server to another mini PC running Proxmox.

How can you get all that stuff into a single web interface? Proxmox will let you add a bunch of servers to a cluster, but that pushes the high-availability services pretty hard. You need to have a minimum number of machines to maintain a quorum, you need very low latency between your Proxmox hosts, and you need a clustered file system underneath.

My 1.5-liter 14-terabyte N100 Off-site Proxmox server

Setting up my 1.5-liter N100 off-site Proxmox host with 14 terabytes of storage

I want one of my Proxmox nodes to live in another city. My nodes aren’t a cluster, and they aren’t interchangeable. One of my nodes is plugged into a 3D printer. Two other nodes have external USB hard disks tied to specific virtual machines. I don’t need things migrating around on their own. I just want a unified GUI, and I would like to be able to manually migrate virtual machines and LXC containers around without doing a convoluted backup and restore cycle.

Proxmox’s Datacenter Manager has only had an alpha release so far, and it doesn’t have all that many features yet, but it scratches every single itch that I have.

What does Proxmox Datacenter Manager do well?

Installation was a breeze thanks to the Proxmox Helper Script. I had an LXC container up and running in a couple of minutes, and it took less than ten minutes to add all three of my Proxmox nodes via their Tailscale addresses. Using Tailscale means my Datacenter Manager can see all my nodes no matter where they are physically located.

The dashboard shows the CPU utilization of my ten busiest guests, ten busiest nodes, and my ten most memory hungry nodes. That is a pretty boring view for me, because my homelab isn’t all that complicated. My guests don’t tend to do anything exciting.

Proxmox Dataventer Manager screenshot

The exciting page for me is the remotes tab. It shows a combined list of the task history of all my nodes. This makes it easy to see at a glance if any of my backup tasks have failed.

From there, you can drill down into each remote. That will show a summary page that looks very similar to the summary page on each individual Proxmox server. Even better, though, is that there is a little paper airplane icon next to each guest. This lets you easily migrate containers and virtual machines to a different host. I don’t do this often, but I am excited to have a simple interface to make it happen when I need to balance the load on my servers!

Removing nodes from Proxmox Datacenter Manager is a breeze

Well, it is almost a breeze. You do have to manually grab the TLS key from each new server to paste into your Datacenter Manager interface. This isn’t exactly a friction-free experience, but it also isn’t a herculean effort.

I goofed up the partitioning on my new off-site Proxmox host, and I decided that the cleanest way to fix my mistake was to reinstall the node from scratch. Removing a node from a Proxmox cluster is bit of a pain. My understanding is that if you need to remove a node that no longer exists you might have your work cut out for you.

Proxmox Datacenter Manager screenshot

I don’t think this Allocations section shows up anywhere in the usual Proxmox GUI. It is a handy summary to have!

I thought I might be able to get away with updating my remote node’s certificate fingerprint, but Proxmox Datacenter Manager gave me an error when it tried to reconnect. Even though my old node was gone, I had it deleted and set back up in less than a minute.

Easy-peasy.

Was it easy to get working with Tailscale?

I already have Tailscale running on each of my Proxmox hosts. There is a simple Proxmox helper script that installs Tailscale in your LXC containers for you, so I just used that to add Tailscale to the Datacenter Manager container.

My Proxmox hosts were all grumpy about using Tailscale’s Magic DNS. That isn’t a big deal. My Proxmox hosts only need to be able to talk to each other and to my NAS devices for backup purposes. I wound up configuring all my hosts to use the local DNS server, and I added the five relevant IP addresses to the hosts file on each Proxmox server and the Datacenter Manager container.

I made sure to use the Tailscale hostname when I added remote hosts to the Datacenter Manager GUI. They all seem to be talking happily.

I won’t be able to do proper testing until I send my remote Proxmox server home with Brian next time have pizza here on a Saturday night!

Conclusion

Proxmox Datacenter Manager has been a missing piece in my homelab journey, offering a streamlined way to manage nodes both across the house and across town without the rigid demands of a full-on Proxmox cluster. By bridging standalone Proxmox hosts—whether in my office, in the network cupboard on the other side of my house, or sitting off-site at Brian’s house—it delivers the unified GUI and manual migration capabilities I craved.

Adding Tailscale to the mix erased geographical barriers, while features like cross-host task monitoring and one-click VM/LXC migrations made previously fragmented management into a cohesive experience. For an alpha-stage tool, it is impressive that it is already able to do everything I actually require. Even so, I am looking forward to some of the features on the Proxmox Datacenter Manager roadmap!

If you’re tinkering with Proxmox, juggling nodes in different locations, or just love geeking out over homelab workflows, I’d love to hear about your setup! Join our Discord community to swap tips, troubleshoot quirks, and explore using tools like Tailscale and Proxmox together. Whether you’re a clustering pro or a DIY novice, there’s always room to learn, share, and streamline your lab. Let’s build smarter setups—without the headaches.

Join the Discord here and let’s keep the conversation going! 🚀

The Cheapest Ultralight Fingertip Mouse - Is It Any Good?

| Comments

I started the journey towards the Li’l Magnum! when I printed a large skeletal shell from MakerWorld for a fake Logitech F304 mouse that you can get on Aliexpress for $8. That build was around 40 grams when I started. I was able to shave it down to 33 grams, but I wanted more. I wanted a smaller, lighter, mouse that felt more solid, and I wanted to use a nicer donor mouse, so I started designing my own.

I built the first Li’l Magnum! around a $45 VXE Dragonfly R1 Pro. The first print was up near 24 grams, while the current iteration is more rigid and clicks nicer while weighing in at only 20.4 grams. It is a fantastic little mouse!

Li'l Magnum! shell for the UHURU WM-09 wireless mouse

Then I modified the Li’l Magnum! to fit the $19 VXE Dragonfly R1 SE. That build currently comes in at 21.5 grams. Last week, my VXE Mad R made it through customs, and I now have a 16.4-gram Li’l Magnum! that only cost me $43!

These are all fantastic, but you may have to wait several weeksfor you mouse time for your donor mouse to arrive from Aliexpress. To help you sidestep that problem, I ordered a McHose L7 Ultra from Amazon for $66, and it was in my hands and in a newly designed Li’l Magnum! shell the next day.

The L7 Ultra is an awesome mouse with a fantastic sensor, optical switches, and a nice lightweight PCB layout. At 18.26 grams, it doesn’t come in as light as Li’l Magnum! built using a Mad R, but it is close, and you can have one in your hands within 24 hours.

That got me thinking. There must be a decent and extremely inexpensive mouse on Amazon that you could have in your hands in a day or two. It seemed like I should search around and see what I could find.

How about a tl;dr?!

My feelings here are complicated. When I pushed the grips back about 20 mm to make a longboy Li’l Magnum!, I learned that the UHURU mouse makes a delightful $10 longer Zeromouse-style ultralight mouse.

The longboy isn’t perfect. I threw together the bigger grips quickly and haphazardly, but it does work pretty well. The mouse is only $10. It isn’t easy to tell that the electronics aren’t equivalent to the VXE Mad R or McHose L7 Ultra while you are using it. The long version of the UHURU Li’l Magnum! comes out to 26.3 grams. That is only 10 grams heavier than my lightest fingertip-style Li’l Magnum!.

It is hard to not be a little excited about this. You can build yourself a 26-gram gaming mouse for $10, and it actually feels pretty good.

Read on if you’re wondering about the caveats.

The UHURU WM-09 wireless gaming mouse

The UHURU mouse has been available on Amazon for sixteen months, and it has been priced at $9.59 for almost a month so far. It claims to use the same PAW3395 as my VXE R1 Pro and VXE Mad R, and I definitely believe that after taking these mice apart.

I skimmed through some reviews on r/MouseReview. Most of the complaints were related to the shell. The left click on some UHURU mice feels crummy. The plastic is cheap. The RGB LEDs burning out seems to be a common problem. None of this is terribly relevant to building a Li’l Magnum! ultralight mouse, because we will be throwing the heavy shell away.

UHURU vs. VXE Mad R Li'l Magnum! shells

NOTE: I had zero problems with my UHURU mouse. The clicks felt consistent. Motion seems fine. I don’t have a way to measure latency, but it seems identical to all my other mice. The problems noted in the reviews on Reddit imply that either UHURU’s quality control is poor, or they’ve fixed these deficiencies since those reviews were written. Even if you aren’t turning your UHURU mouse into a Li’l Magnum!, it sure seems like a decent $10 wireless gaming mouse that punches well above its price point.

The biggest reason that I started designing around the VXE R1 is that there is a model available for $19. I don’t want you to have to spend $150 on a Zeromouse Blade only to learn that you hate fingertip mice, or that you hate superlight mice.

I want you to be able to spend $10 or $20 on your ultralight gaming mouse experiment. Maybe you’ll enjoy the experience, and that will encourage you to buy a Zeromouse, build a Li’l Magnum! using a nicer donor mouse, or maybe you’ll try a 27-gram G-Wolves mouse. I am excited about lowering the barrier to entry and democratizing the world of ultralight mice.

What’s a better deal than a $19 mouse with a 19,000-DPI PAW3395SE sensor from Aliexpress? Hopefully a $10 mouse with a 26,000-DPI PAW3395 sensor that can be at your door within 24 hours.

But Pat! Don’t I need a 16-gram Li’l Magnum! build?

I suspect that lighter is better, and that it would be awesome if we could get a mouse down to 5 or 10 grams, but I also don’t think the difference would be all that noticeable.

All my Li’l Magnum! builds are set to 3,200 DPI. My heaviest Li’l Magnum! builds are using my old Corsair Katar Pro wireless mouse and the UHURU mouse. Both weigh just over 26 grams. It doesn’t matter which Li’l Magnum! I am using. After playing for a while, I start to forget which one is in my hand. I am not constantly upset that I am using a heavier model. I completely forget that the heavier mouse isn’t 16 grams.

Li'l Magnum! VXE Mad R at 16.4 grams!

The Li’l Magnum! built with a VXE Mad R mouse weighing in at just 16.4 grams!

I do wish I could do an actual blind test of each of all these mice, but they are all easy to identify. The VXE Mad R at 16 grams feels like a feather compared to the 21.4-gram R1 SE. My two R1 mice are within a gram of each other, but the R1 SE has heavier and louder switches, so it is obvious which one is which. You can tell the difference between most of these mice just by the feel or sound of the clicks.

If the difference in price between $10, $19, $43, or $66 doesn’t mean much to you, I would build a Li’l Magnum! around the VXE Mad R. You get a nice sensor, optical switches, an 8K receiver, and a 16-gram build. All those things easily add up to $30 in value.

I can’t believe how good the UHURU Li’l Magnum! feels!

The UHURU mouse isn’t perfect. It has a LONG circuit board. It sticks out the back of the fingertip shell by 40 mm more than any other Li’l Magnum! build. It is less than ideal for a fingertip mouse, but it works quite well for a longer grip layout like the Zeromouse. I have uploaded a first attempt at a long Li’l Magnum! shell for the UHURU WM-09.

This is the hardest Li’l Magnum! to assemble. I had to trim the leads for the microswitches off the bottom of the PCB in order to manage to slide the board into the Li’l Magnum! shell without breaking the button flappers. I also had to put a piece of electrical tape over that awful LED that indicates the DPI setting. And if you are building a longboy out of the UHURU mouse, you’re going to have to bend and flex the shell quite a bit to finagle the PCB past the upper support.

Even though the UHURU is my second heaviest Li’l Magnum! at 25.38 grams, and I’ve gotten used to playing Team Fortress 2 with a 16.43-gram mouse, the UHURU still feels extremely light. The odds are high that this mouse has the worst latency of any of my other Li’l Magnum! builds, but I couldn’t tell you that by feel. It is almost impossible to perceive the different between 0.4 milliseconds and 1.5 milliseconds, especially when the entire system has 15 to 25 milliseconds of total latency.

I played a round of Team Fortress 2 with the first functioning prototype printing, and I played exactly as I would with any of my other mice. I expected the long circuit board to bump into my palm when aiming downward, and I am pretty sure I did feel the electrical tape on that LED once or twice, but it isn’t really a problem. The part of the UHURU that sticks out the back is extremely close to the mouse pad.

Should you buy an UHURU mouse for your Li’l Magnum! mod?

I dislike how many compromises I had to make. I didn’t want anyone to have to modify their circuit boards, but I don’t think snipping four leads is much of a modification. I don’t like the long PCB. The rotated buttons mean my post-travel stops don’t work on the UHURU.

That said, I think these compromises are extremely reasonable for a mouse that can arrive at your door tomorrow for $10. As with any other Li’l Magnum!, you’ll need to order some skates as well. I imagine that you could take a pair of scissors to the stock skates, but I have no idea how well that might work!

If you’re on a tight budget, and you can wait two weeks, I think you are much better off ordering a VXE R1 SE for $19. You’ll have a smaller, lighter, cleaner, and probably lower latency Li’l Magnum!, and it doesn’t cost that much more.

If you can’t wait two weeks, and you’re not on a tight budget, then the McHose L7 Ultra is a fantastic mouse for a premium Li’l Magnum! experience.

I know this isn’t a ringing endorsement, but the UHURU WM-09 is just fine if you can’t use Aliexpress. This is especially true if you think you’ll prefer the longboy layout. Maybe you’re on a tight budget, or maybe you’re extremely skeptical about even using an ultralight mouse. Maybe you’re looking for a fun and inexpensive project, and 3D printing a mouse tonight that you can assemble tomorrow seems like a lot of fun.

The UHURU is a good PCB for a longboy Li’l Magnum!

I feel like I should warn you before I get you excited about this. The Li’l Magnum! is extremely customizable, but the farther you get from my own preferences, the less well thought out and supported things get.

The default Li’l Magnum! is a short fingertip mouse that is made to be comfortable in my hand. One of my early experiments was to push the grips back to line up with the Zeromouse Blade. This makes for a much longer mouse, and the way I wind up gripping a mouse like that really isn’t much different than how I hold my Logitech G305. There just isn’t a hump of a mouse to rest my palm on.

The UHURU PCB is long, so I figured it’d be a good mouse to try this experiment with again. I moved the grips back to where I would grab my Logitech mouse, made the grips a but way taller than usual, and made sure the arms were attached to the most appropriate points at the base.

If this is the style of grip layout you want, I will say that it’ll be hard to beat the $10 UHURU WM-09. The PCB still sticks out the back, but not by that much. Having that extra length of PCB means I get to brace the arms better than I could on a longboy Li’l Magnum! using any of the other shorter PCBs.

It isn’t perfect. Those tall grips are a little more squishy. The brace across the top helps, but it is still softer than a fingertip Li’l Magnum!.

This layout isn’t for me. I have grown to like the fingertip grip. My aim was usually great with the longboy, right up until it wasn’t! Sometimes my muscle memory was expecting to be able to continue to move the mouse with my wrist, but my wrist just wouldn’t go any farther. I gamed with regular mice and longboy-style grip for years. I am sure I could get used to it again quickly. I just don’t want to.

I won’t put this Li’l Magnum! shell in my Tindie store

I have two reasons. I am not quite proud enough of this particular Li’l Magnum! build to put it up for sale. The UHURU PCB just isn’t an ideal fit, and I can’t work around its limitations well enough. I also don’t think anyone should spend twice as much on the plastic shell as they do on the electronics that go inside.

I still think it is a great Li’l Magnum! if you can print your own. Turning a $10 mouse purchase into something that is 80% or 90% as good as my most premium Li’l Magnum! is totally awesome!

This is more than a little subjective, but I really do feel that the UHURU Li’l Magnum! really does perform almost 90% as well as my two most premium builds. The trouble is that the part that sticks out the back is so ugly! It doesn’t tend to get in the way when I am gaming, and being able to mount the battery so far back does make the UHURU Li’l Magnum! feel lighter than it actually is, but it makes it looks so much more kludged together.

This makes two shells that I won’t stock in my Tindie store. The other is for the Corsair Katar Pro wireless mouse. That one is a similar weight to the UHURU, but it doesn’t have an elongated PCB. That mouse also feels fantastic, but you can’t buy it anymore, and I hate that I had to solder a USB-C rechargeable AAA battery in to power it up.

Conclusion: Lightweight innovation is within your reach

The journey to crafting the perfect ultralight mouse isn’t about chasing a single magic number—it’s about finding the balance between cost, creativity, and performance that works for you. Whether you’re modding a $10 UHURU WM-09 for next-day tinkering, patiently waiting for a budget-friendly VXE Dragonfly R1, or splurging on a more premium McHose L7 Ultra or VXE Mad R, the Li’l Magnum! project proves that an ultralight gaming mouse doesn’t have to break the bank or test your patience. Each build, from the featherweight 16-gram Mad R to the (almost?) “good enough” UHURU, opens a door to experimentation, proving that even compromises can lead to surprisingly satisfying results.

But this isn’t just about mice—it’s about community. The enjoyment of sharing a mod, troubleshooting a print, or geeking out over sensor specs is what turns solo projects into collective breakthroughs. That’s where you come in.

Join the conversation on Discord!

Whether you’re a seasoned modder or a curious newbie, our growing community is the perfect place to:

  • Share your Li’l Magnum! builds
  • Get tips on trimming weights, tweaking shells, or choosing donor mice
  • Stay updated on new designs and experiments
  • Connect with fellow enthusiasts who believe that great gaming gear doesn’t have to cost a fortune

Let’s democratize ultralight mice together—one print, one mod, and one Discord message at a time. Join our friendly Discord community and turn your curiosity into creation!

P.S. Even if your first build has a few rough edges (literally), we’ve all been there. Bring your questions, your triumphs, and that $10 mouse you’re secretly proud of—we can’t wait to see what you’ll build next. 🐭✨

You Can Buy A Li’l Magnum! Mouse Mod Kit From My Tindie Store!

| Comments

I have listed the 3D printed Li’l Magnum! mouse mod kit in my Tindie store. I would prefer that you print your own. I would be excited if you would use this as an opportunity to spend $180 on a Bambu A1 Mini 3D printer so you could print a Li’l Magnum! for yourself and your friends, but I also understand that not everyone can or would even want to own a 3D printer, and I would like to see more people trying out the Li’l Magnum! for themselves.

I would also concede that I would be able to buy more models of donor mice if enough people are buying Li’l Magnum! kits from me. The more unique mice I can buy, the more mice I can support with the Li’l Magnum! shell.

That seems like a win for everybody, and it gets me closer to my goal of democratizing ultralight fingertip mice! It would be nice if you didn’t even have to buy a mouse. If I make the Li’l Magnum! compatible with enough donor mice, then there will be a good chance that you already own the necessary hardware.

Don’t judge your new mouse too quickly!

Most of my Li’l Magnum! mods use less than three grams of plastic now. They feel quite flimsy on their own. They borrow most of their rigidity from the PCB once it has been installed!

Even after, though, using a mouse like this was a weird experience for me. I kept wanting to squeeze, flex, and press different parts of the first Li’l Magnum! as I was playing. I hardly doing that at all by the second or third day.

If you haven’t used a lightweight mouse before, you will notice that your aim is going to get worse before it gets better. Using a mouse that is 60 to 80 grams lighter is a shocking experience. It takes time to acclimate.

I stopped noticing the 3D-printed shell after a week or two. It is just feels like this is how it is supposed to be now.

You may very well wind up learning that you just hate fingertip mice, hate ultralight mice, or both! I was worried that I wouldn’t like using a 20-gram mouse, so I made sure to design the Li’l Magnum! to work with a $20 donor mouse. That keeps the cost of trying something so radically different as low as possible, and if I hated the ultralight mouse, I could put the original 49-gram mouse back together.

Are you really selling PLA printed on your home FDM 3D printer?!

Yes.

I assumed that I would only be prototyping the Li’l Magnum! using PLA filament. I thought that I would quickly switch to PETG or ABS, and from there I might start sending out of nylon prints from an SLS or MJF machine.

It turned out that the PLA prints work working amazingly well, and my first ABS test mouse was brittle and way too spongy. That was when I realized that the shape and thickness of the button paddles would need to be adjusted for different materials.

That led me two a pair of conclusions. First, I would be spending a lot of money sending out for test prints from an MJF printer just to dial everything in. I also realized that if we’re going to be democratizing custom mice, then we need people to be able to print the Li’l Magnum! at home. Everyone who owns a 3D printer can print PLA.

I could either focus my attention on dialing in the dimensions for a good feel with ABS and nylon, or I could just assume everyone should be printing the Li’l Magnum! in PLA and put all my work into optimizing for that.

Then I strapped one of my prototype shells to my Lumen pick and place machine and set up a script to click the button as fast as it could. I let it run for more than 30 hours straight, and the LumenPNP clicked that button more than 1.2 million times. The Li’l Magnum! still felt brand new, so I feel like PLA is up to the challenge.

What should you expect to see when you receive your Li’l Magnum! shell?

The Li’l Magnum! is balancing in a precarious spot between being just durable enough to not break, stiff enough to feel right in your hand, while also being as light as I can possibly make it. We are also fighting some of the limitations of the FDM 3D-printing process and gravity.

I have been gaming with nothing but one iteration or another of the Li’l Magnum! for the last six weeks. It fits my hand well. It does have some flex when you squeeze the sides hard enough, but I feel that it is more than stiff enough for the job.

The underside of the finger grips will be slightly imperfect because they have to be held up by support material when printed. The same is true of the underside of the buttons.

NOTE: I’ve switched to using zero-clearance PETG supports directly under the button plungers, so they print perfectly now. I am working to verify that the change in filament isn’t contaminating the PLA and making the buttons brittle. I expect we are in good shape, and I believe I will be shipping out perfect plungers from now on!

Little black dot of PETG ruining a Li'l Magnum! print

See that tiny black dot? That is PETG support material accidentally dropped into the PLA, and it ruined the integrity of this print. That button snapped right off while trying to insert the PCB. I believe I have eliminated this problem completely.

There will also be slight imperfections on the bottom of the angled arms that connect the grips to the body. These are printed without support material, but they are at an extreme enough angle that they are just on the edge of being printable without supports. I have printed them both ways, and I think they look cleaner without supports.

Removing these supports leaves a slight discoloration behind. I prefer the ever so slightly uneven surface to the whitening of the plastic.

There will also be a stair-step texture on top of the buttons. This is caused by the 0.16-mm layer height that I have optimized for. I like this slight texture under my fingers, but I could understand why others might not feel the same way. I cut pieces of grip tape to fit my buttons, and I was running the Li’l Magnum! like that for a week. It was nice, but I preferred the bare plastic.

I don’t believe that any of this is bad, but I do think it is important to set expectations. These are not injection-molded mouse shells. These are more like custom FPV drones.

I can pay a 3D-printing service less to print a Li’l Magnum!, why should I buy one from you?!

I would first like to tell you that I didn’t put a ton of thought into the $20 price. It is a round number, it is a little more than one quarter of the price of the original Zeromouse kit, and it is half the price of some of the other 3D-printed ultralight mouse mods that I have seen. If anything, it feels a little on the inexpensive side.

I didn’t check how much a print farm might charge for a Li’l Magnum! print, but I assume they’d be able to send you a 3-gram part at a REALLY low price.

I am not a print farm. I designed the mouse that I am printing. I know what it is supposed to look like. I know how it should feel. I know what can go wrong. I will be sending you something that I am confident will work as intended.

Li'l Magnum Underside

You’re not just paying for a mouse. You’re paying for the 70 prototypes that I printed and tested up to this point, and the prototypes I will continue to print. You’re paying for the hours I spent in OpenSCAD so I could upload an open-source design for the world to use. You’re helping to pay for all my future improvements.

NOTE: I am a little behind on publishing a Git repo of the OpenSCAD source code. There are a lot of plates I am attempting to get spinning: the blog posts, the MakerWorld and Printables pages, the Tindie listing, this post to link from Tindie, YouTube videos, and finally a Git repo. I can only work on getting one plate up into the air at a time, but the GPL v3 repo should be somewhere soon!

I am not Logitech. I won’t sell enough mice that a nickel from every mouse sold will pay an engineer’s salary. I am just a guy with a blog, an underutilized YouTube channel, a 3D printer, and a dream.

I just spent eight hours perfecting the print settings for the button plungers!

The Li’l Magnum! has been in my Tindie store for less than a week, and I was about to put the finishing touches on this blog post to publish it today. Then I had an idea.

I really want to print the plungers on top of zero-clearance PETG supports, but Orca Slicer just doesn’t want to let me do it the way I want.

I need some automatic tree supports sprinkled around the grips and base, but if I have the extremely long purge to keep PETG from mixing with PLA in the print, then I am going to waste tons of filament and time. I am already wasting more than the weight of an entire Li’l Magnum! on a single change to PETG.

I have had half a dozen failed prints trying to bend things to my will. The slicer just won’t let me mix traditional supports topped with solid PETG with PLA tree supports. I wound up designing my own support piece into the model, and I used manually placed modifiers to set up which parts should be PETG, and which bits of PLA needed to be solid.

Li'l Magnum! with failed PETG support interface

My first couple of attempts at manually building a PETG support interface failed. The extra narrow extrusion width I use to keep the weight down wasn’t conducive to helping the PETG squish down on the PLA that it already doesn’t want to stick to!

Then I discovered a whole new problem. When printing with regular PLA supports on a PLA print, there is a 0.2-mm gap between the top of the support and the bottom of the plunger. This means that my plungers technically print slightly lower than what I set up in the model.

My prints with the dialed-in PETG supports with zero clearance are coming out with immaculate plungers. There is little to no black PETG left under the PLA plunger, and all my supports almost fall right off.

The trouble is that the plungers were too high! I had to spend another 90 minutes printing and adjusting the model and modifiers two more times to get things feeling right. This means that I will need separate models with different button heights for people who want to use basic PLA supports and people who want zero-clearance PETG supports.

This is another of those things that a print-on-demand service wouldn’t know about.

The PETG supports have increased the print time by 20%, and I am burning through a few pennies in extra material. The time that I have to spend cleaning up the print afterwards has gotten really close to zero now, so I think this is a fantastic trade!

Why can’t you buy a fully assembled Li’l Magnum!?

I would love to be able to order a big box full of the guts for dozens or hundreds of mice from VXE or ATK so that I could sell you a working, tested, functional Li’l Magnum! that you could plug in and start using immediately. I haven’t figured that out yet. I don’t even know if enough of you would be interested in purchasing mice to know if it is worth taking the risk.

I have had great luck with my prints over the last couple of weeks. All the recent STL files print well, and the clicks feel great almost every single time. I expect the clicks will always be perfect now that I am using zero-clearance multimaterial supports for the plungers.

The real trouble is that I only have one of each PCB. Yours might have slightly different tolerances. There is a slim chance that you will need to shim underneath your PCB with a layer of tape to tighten up the clicks.

There is also the chance that the manufacturers will get sneaky. They might slip a slightly different PCB into an existing mouse, and that new PCB just doesn’t quite work with the Li’l Magnum! that I ship you, because I wasn’t aware of the change.

I would love to be able to test the clicks on every Li’l Magnum! before sending them out. It would be nice to know that I paired the right PCB with the right print for perfect clicks every single time. I will be excited if I can get to that point in the future!

What donor mouse do I have to buy to build a Li’l Magnum!?

Let’s start with the table of all the mice that I have been working with:

Mouse $ Grams Other
R1 SE $19 21.3g Worse lens
R1 SE+ $23 25.6g Worse lens
R1 $10 ????? 4K extra
R1 Pro $43 20.6g 4K extra
Mad R $43 16.5g 8K included
Mad R Major $63 ????? Better sensor
McHose L7 Ultra $66 17.9g On Amazon
Katar ??? 26.0g Outdated

I have been focusing on the mice from VXE/ATK. They are popular and lightweight. They do well in latency tests, and the configuration GUI works in Chrome on Linux.

I was drawn to the VXE’s Dragonfly R1 series specifically because of that $19 R1 SE. I was absolutely tickled by the idea that you could spend $19 on a mouse, 3D print a 3-gram shell, and you could inexpensively discover whether or not you’re even interested in using an ultralight fingertip mouse.

I was also excited that the lineup didn’t stop there. The R1 Pro has a better sensor, nicer buttons, and its electronics weigh slightly less. It is even better that the R1 Pro doesn’t even cost much more!

My VXE Mad R finally cleared customs and arrived here yesterday, and it is amazing. The Li’l Magnum! needed very little modification to make its PCB fit, and every part of the Mad R is lighter than the R1 Pro. The battery is 1.2 grams lighter, thought it is also has slightly less capacity. The wheel is more than a gram lighter. The PCB is lighter.

My VXE Mad R Li’l Magnum! weighs 16.47 grams. That is 4.2 grams lighter than my VXE R1 Pro build, and I paid roughly $43 each of those mice.

The VXE Mad R also ships with an 8K receiver and upgraded optical switches.

My opinion is that there are only two donor mice to choose between. The VXE Dragonfly R1 SE is a fine mouse for $19, and it comes out to just over 21 grams when installed in a Li’l Magnum!, and 21 grams feels ridiculously light. If that isn’t good enough for you, skip all the other R1 models and go with the VXE Mad R. You get so much for your money there!

I expect that the Mad R Major with its upgraded sensor will fit in the Mad R version of the Li’l Magnum!. I don’t have one here, but I hope some brave soul will test it out for us and report back!

I don’t want to wait for a mouse to ship from China

I picked out a nice mouse from Amazon. It is the McHose L7 Ultra for $66. The specs are very much in line with the VXE Mad R Major. It looks like they both use identical optical switches, the same ultralight wheel, and the low-profile rotary encoder.

The McHose L7 Ultra uses the PAW3950 42K DPI sensor, just like the Mad R Major, so that is an upgrade over my own Li’l Magnum! built around the base model Mad R. Everything in the McHose L7 is lightweight, but the VXE Mad R has an advantage of about one gram due to its slightly smaller battery.

I wouldn’t worry about a single gram.

My copy of the McHose L7 is the Ultra. There is a slightly cheaper L7 Pro that uses the PAW3395 26K DPI sensor just like my Mad R and R1 Pro. There is a good chance that any trim level of the McHose L7 will drop into the Li’l Magnum! shell, but I don’t have the other two on hand to verify that.

Conclusion: Democratizing Ultralight Mice Starts Here

The Li’l Magnum! isn’t just a product—it’s a movement. By bridging 3D printing, open-source 3D models, and gaming hardware, we’re tearing down barriers to ultralight mouse ownership and customization. No more eye-watering price tags. Whether you print your own shell or grab a kit from my Tindie store, you’re part of a community proving that high-performance gear doesn’t have to cost a fortune.

Every Li’l Magnum! kit sold isn’t just a transaction—it’s fuel for the bigger mission. Your support lets me test more donor mice (like the newly acquired Mad R!), refine designs, and expand compatibility across models. PLA prints might not be the ideal material, but they’re affordable, accessible, and battle-tested.

This isn’t about chasing profit margins. It’s about passion, prototypes, and persistence. It’s about empowering you to build a mouse that fits your hand, your playstyle, and your budget. From $19 budget builds to more premium $60 mods, the goal is simple: ultralight mice for everyone, no matter the budget!

Let’s keep the momentum going.

Join our Discord community to share your Li’l Magnum! builds, swap tips, and help shape the future of open-source mouse mods. Whether you’re a tinkerer with your own printer or a gamer curious about fingertip grips, your voice matters here.

Together, we’ll keep pushing boundaries, breaking norms, and democratizing ultralight mice—one print, one mod, one click at a time. Ready to lighten up? Let’s go! 🖱️🚀

Is Machine Learning In The Cloud Better Than A Local LLM?

| Comments

The title of this blog is bordering on nonsense. You need at least a few qualifiers to determine if one thing is better than another. If you can’t let your information leak outside of your organization, then using a large language model (LLM) in the cloud isn’t even an option for you.

This blog post isn’t about you, and it isn’t going to be an attempt to be provide recommendations that apply to you no matter your situation. This is going to be about my experience, my choices, and what has been working for me. I will also touch on where I think the future is going for my use cases.

Flux Man and a Robot

What am I using LLMs for?!

I don’t want to get too far ahead of myself, but I think it is safe to say that I am using LLMs for more and more small tasks. During most of my time using local and remote LLMs, I was usually smarter and more efficient than the artificial brains.

If I wanted to find the coordinates of a point on an existing line in OpenSCAD, I would punch in a few searches into Google, then craft my own function using the information I found. Today I can tell DeepSeek R1 to write me a function, and it will probably give me exactly what I want in under a minute.

My biggest use case for LLMs is still writing conclusion sections for blog posts. I never use the text verbatim, but the robots include phrases that I would never write on my own. They will include sentences that brag a little too much, or have a call to action that feels more enthusiastic than I would ever write.

I might let a third of those ridiculous sentences through now with minor edits. It feels like I have a colleague talking up my work for me. There is someone to blame for these words that isn’t me!

Local LLMs are getting smarter, but massive LLMs are outpacing them

I was using Gemma 2 9B to help me write blog posts for a long time. It was the first local model that I could ask for a conclusion section for a blog post, and it would give me back words that didn’t sound entirely unlike something I would write.

I would occasionally pass the same queries thought one of OpenAI’s mini models, and I wouldn’t say that OpenAI’s models were doing a significantly better job than my local 9B LLM. Those mini models may be significantly larger than my local LLM, but they weren’t giving me results that were significantly better for my purposes.

Screenshot from our Discord server

DeepSeek R1 excels at writing conclusions for blog posts. It ties together concepts that are a dozen paragraphs apart. It picks up on all sorts of details that smaller models miss. It doesn’t always draw the best conclusions, and it doesn’t always highlight things that actually matter.

Sometimes it calls out things that I wouldn’t have thought to, and those things actually work out. Sometimes I just drop whole paragraphs and put my own words in. Sometimes I ask DeepSeek to remove the bits I don’t like and try again.

I will not have the RAM or VRAM to run anything close to DeepSeek R1 locally for a long time. Even if I did, my local hardware would be an order of magnitude slower than the 80 tokens per second I usually see via OpenRouter.ai.

I deleted all my local models

I pretty much had to put a few dollars in my OpenRouter.ai account when DeepSeek R1 dropped. Once that happened, I had access to a plethora of fast, inexpensive models to choose from.

They have free yet slow providers for full DeepSeek R1 and Gemma 2 9B. At the time I am writing this, OpenRouter.ai’s free DeepSeek R1 is reasonable at around 20 tokens per second, but the latency is more than 15 seconds. You can pay a dollar or two per million tokens to reduce that latency to less than two seconds, and you can pay $7 per million tokens to also double or triple your token throughput.

Flux Image of Man Deleting Files

This guy is supposed to be deleting files. I’m not sure that he is!

Either price is effectively free at my volume, and the most expensive options for DeepSeek R1 through OpenRouter.ai are still a fraction of the price of OpenAI’s reasoning model.

Gemma 2 9B, the same model I was running locally, is currently 8 cents per million tokens at 80 tokens per second with less than half a second of latency. That may as well be free, and it is six to eight times faster than running Gemma 2 9B on my $300 Radeon 6700 XT GPU. It also comes with a much larger context window.

I put $10 into my OpenRouter.ai account three weeks ago. I have only managed to spend 8.4 cents so far.

Why work hard to run a slow local model when a remote model costs less than the change in my couch cushions?

I am still excited about local models!

I tested some very small 0.5B and 1.5B models on one of my Intel N100 mini PCs. I am amazed at how good the latest small models are. They don’t hog much RAM, and I was impressed by how quickly they ran on such an underpowered mobile processor.

Oobabooga’s web UI uses a really slow text-to-speech engine, and each step in the process waits for the previous step to complete, so you have to wait for the LLM to output an entire response before it even begins converting the response to audio. If you could swap out that text-to-speech engine with something simpler, then you could easily converse with an LLM on my $140 N100 mini PC at least as quickly as you could with a Google Home Mini or Alexa device.

Flux image

Small models keep getting better. Cheap mini PCs keep getting faster. The software that runs your LLMs keeps getting small performance boosts. I have extreme confidence that I will have a useful local LLM running on a cheap mini PC that responds to voice commands within the next year or two.

She won’t be fast enough to read a 2,500-word blog post in a reasonable amount of time, and she won’t be smart enough to write me a good conclusion section. That will still be a job for the big guns in a remote datacenter.

She will be smart enough to instantly tell me about the weather, if I have any appointments, and the title of the next book in the series that I am currently reading.

Maybe she will be able to handle 99% of my queries while being smart enough to know where to route the remaining 1%.

My feelings on cost have changed over time

I have always understood on an intellectual level that OpenAI’s API is so cheap at my volume that it may as well be free. I know how to do basic arithmetic, but that just didn’t matter. My gut still felt better about running random things through a local LLM.

Watching pennies slowly drain from my OpenAI, Fal.ai, Runware.ai, and OpenRouter.ai accounts has helped me feel just how ridiculously cheap the cloud API services are.

OpenRouter.ai activity

Be sure not to add too much cash to your OpenAI or OpenRouter.ai account. I only used twenty or thirty cents of the $6 I loaded into my OpenAI API account at the end of 2023, and those credits expired after 12 months. OpenRouter.ai says that they MAY expire credits after 12 months as well, so I am assuming any credits I don’t use there will disappear in a year.

I only lost $6 to OpenAI, and I am only risking $10 with OpenRouter.ai. That’s not a big deal. I don’t want you to get excited, load $500 into your account, and see you lose $498 in unused credits next year!

Don’t be scared away by the API!

You don’t have to use the API with any of the four service providers that I mentioned above. They all have playgrounds where you can set up separate chats or generate all the images you want.

The APIs are there. You can use them if you want. You can easily tie any of the fancy text editors into OpenAI or OpenRouter.ai. You don’t have to, but you definitely can!

DeepSeek R1 does impressive things that I haven’t seen before

I came back to write this section after I had DeepSeek right the first pass at the conclusion section for this blog post. Wait until you see what it did! I am not saying that the LLM is a mind with an actual understanding of anything, but it acted like it know I was talking about it in this blog post, and it called attention to that. It even bragged about itself at the end.

I also had DeepSeek R1 and DeepSeek R1 Distilled Llama 70B write a script for a YouTube video for me. I fed them both three entire blog posts about my Li’l Magnum! 3D-printed mouse project. Both models did a good job writing scripts. They don’t feel like anything I would ever say out loud with my own voice, but they’re both interesting starting points, and they very much feel like high-energy YouTube videos.

What impressed me is that DeepSeek R1 drew a conclusion about my Li’l Magnum! mouse that I hadn’t even managed to realize on my own. My Li’l Magnum! mouse weighs 20.63 grams, and DeepSeek R1 mentioned in the video that the mouse weighs less than a AA battery. It is absolutely correct. The AA Eneloop that powers my heavy Logitech G305 weighs 28 grams.

That is a delightful piece of information, and it is an amazing way of explaining just how light my mouse is. I didn’t manage to come up with that on my own.

In my experience up until now, an LLM will usually draw an incorrect conclusions if it even manages to come to a conclusion like this at all. I’m not saying this is revolutionary, but it feels like a big step forward!

Conclusion: Embracing the Best of Both Worlds

My journey with LLMs has been a dance between the convenience of cloud-based power and the promise of local potential. While DeepSeek R1 and OpenRouter.ai handle the heavy lifting today—crafting conclusions, solving code snippets, and saving me pennies on the dollar—I’m still rooting for the underdogs. Local models may no longer be helping me write my blog conclusions, but their progress hints at a future where even my $140 mini PC could become a snarky, weather-reporting, appointment-remembering sidekick.

The beauty of this era? You don’t have to choose. Cloud APIs offer absurdly affordable and fast brainpower for the tasks that matter, while local models inch closer to everyday usefulness.

Join the conversation! Whether you’re a cloud convert, a local-model loyalist, or just curious about where these “robot colleagues” might take us, hop into our Discord community. Share your own LLM experiments, gripe about latency, or brainstorm ways to make your local hardware useful again. Let’s geek out about the future—and blame the AI for any overly enthusiastic calls to action.

Crafted with a little help from my AI colleagues, who still can’t resist a good brag. 🚀

NOTE: Yes. Really. I did modify the words that came out of the LLM, but DeepSeek R1 added that brag on its own completely on its own!

Tips For 3D Printing Your Own Li’l Magnum! Fingertip Mouse

| Comments

This won’t just be advice on how to successfully print a solid Li’l Magnum! mouse mod that feels right. I will also talk about things you will need to go along with your Li’l Magnum! like PTFE skates and grip tape.

There is a good chance that you can download one of my models, load up some filament, use the default settings, and have yourself a usable mouse. Your mouse will probably be two grams heavier than the one on my desk, and it might feel a little stiff.

The Li’l Magnum! is tuned for PLA filament

PLA isn’t optimal, and it wasn’t my first choice. It is what I started prototyping with, and I quickly learned that PLA is more than up to the task. I tested one of my Li’l Magnum! prints in PLA to over 1,000,000 clicks, and it felt brand new after testing.

I ran off a test print in ABS, and it came in at 2.6 grams. That is 0.6 grams lighter than my PLA mice! Unfortunately, the ABS mouse was fragile along the layer lines, and the side grips felt spongy. My PETG test mouse wasn’t quite as light, but it had similar rigidity problems.

Li'l Magnum! in the slicer

As you can see, the vertical arms of the paddles are printed completely hollow with a single wall, but there is a cutout in back to force the front and rear walls to touch and melt together.

These problems are fixable. We could dial the grips and button paddles up to two perimeters. We could make the front springs wider. The bummer is that these changes would chew up most of the 0.6 grams of weight savings.

Everyone who owns a 3D printer can print PLA, and they can probably even print PLA very well. Maybe we could save 0.3 grams by tweaking the design and switching to ASA, but then fewer people would be able to easily print their own Li’l Magnum!.

Layer height matters!

All my test prints have been run using a modified copy of Bambu’s default 0.16-mm layer profile. That means the first layer is 0.2 mm, and every layer after that is 0.16 mm. Why is this important?

The tolerances that allow the clicks to feel good are pretty tight. One extra layer, and the buttons don’t like to release. One layer too few, and the clickers have a ton of pretravel.

I dialed everything in using the same print profile. If you use either a 0.1-mm or 0.2-mm profile, then some of your layers will be rounded differently than mine. That means your button engagement might be off by 0.06 mm. Maybe it doesn’t matter. Maybe it feels horrible.

Iterating on fingertip mouse weight

Iterating on the front end of the Li’l Magnum! to reduce the weight by 0.25 grams without losing any rigidity in the button feel

This may be particularly important if you are printing a Li’l Magnum! for your VXE R1 SE. The lens holder has to be just right. One layer too high, and it is way too tight. One layer too low, and the lens flops around.

Getting other settings wrong will just give you a slightly heavier mouse. Getting the layer height wrong might result in a mouse that just doesn’t feel right.

I learned when I was trying to dial in the height of the lens for the VXE R1 SE that my math in OpenSCAD is susceptible to rounding problems. I want to correct that, but for now I am just excited that we have a working 21-gram fingertip mouse that people can use.

What print settings should I tweak for the best possible Li’l Magnum!?

Uploading a 3MF to MakerWorld is on my to-do list, but it isn’t at the top. I thought it was better to write these words first because there are a lot more details to talk about than the print settings. Even if people were relying on the print settings I upload to MakerWorld, that wouldn’t be much help to people who don’t own Bambu Lab printers, and this should be documented anyway.

First of all, the Li’L Magnum! is meant to be printed with a single perimeter using PLA. That is what I tested. The click feel relies on the springiness of those long arms running up the front of the mouse, and I dialed in the width, thickness, and shape of those arms to feel right with one perimeter and zero infill.

Scout says mouse is heavy

I have lowered both the top and bottom shell count in Orca Slicer to 3. I also set the top and bottom shell thickness to 0. Orca Slicer will use the larger of the two values, and we want the larger value to be 3.

I have been using lightning infill. The percentage doesn’t matter, but it is important to set your minimum sparse infill threshold to something very low. I have mine set to 1. If you don’t do this, the slicer will make the button arms solid. That is heavy, and they will be quite stiff!

NOTE: I am working on an update to the Li’l Magnum! that eliminates some of the chunkiest parts of the front end. Those are the parts that need the lightning infill. I have been printing those test parts successfully with zero infill.

You need to have tree supports enabled. I DO NOT disable supports for bridges. Most of the bridges print fine without supports, but I wind up with misshapen button plungers every time I disable supports on bridges. Orca Slicer winds up treating the button plungers as bridges, so they don’t come out flat enough on the bottom.

We could probably use a support enforcer to fix that, but I am sticking with the lazy fix for now. I don’t want to have to worry about adjusting the location of support enforcers every time I make tweaks to my OpenSCAD source code!

Smooth or textured PEI

I have been using Bambu Lab’s textured sheet on my Bambu A1 Mini. My brain says that a smooth finish would be better for the undercarriage of a mouse, and I have been tempted to use one of my prismatic rainbow build plates.

I don’t know how much it actually helps, but it has been really easy to remove the 6-mm PTFE skates from my textured mice. The skates are cheap, but I have printed and used more than 50 prototypes. I would have run out of skates quickly if I couldn’t move them from one mouse to the next.

If you plan on iterating the fit of your Li’l Magnum! using the customizer, then it might not be a bad idea to stick with a textured bottom surface like I have been using.

What should I check after a print?

First of all, be careful removing your supports. I have gotten the hang of it, and I can do it rather quickly without damaging anything now. Be especially careful because the trees supporting the front bracing bar will probably be connected to the trees holding up the buttons and the button plungers. Separating those from each other with cutters makes things go a lot easier.

The only thing you have to watch out for is the bottom of the plungers. They need to be quite flat to engage smoothly with the buttons. Every now and then I have to trim a booger off the back of a plunger, and I have had to hit one with a file on two or three prototypes.

Side view of the Li'l Magnum!

It doesn’t take much of a PLA booger on the plungers to mess up the engagement with the microswitch!

It is a good idea to do some test clicks to make sure everything feels right before you actually screw the PCB in place.

I haven’t had a loose button in a long time, but I only have one of each PCB to test here. Your PCB or microswitches could be slightly different than mine. The plungers should be touching the microswitches. You can use one or two layers of electrical tape as shims to bring the switch closer to the plunger.

There is a tiny support pillar under each switch. You should put a tiny square of tape on the PCB directly above that pillar. It doesn’t have to be electrical tape.

The lens holder

The thin strips of plastic holding the lens up are thin for a reason. They are meant to put upward pressure on the lens, so they should flex slightly. That is why most of the lens holder starts a few layers higher than the build plate.

This was challenging to dial in well, and it is the reason my test print in purple silk PLA didn’t go well.

The lens holder will be slightly bowed out. Mine measure about 0.2 mm off from being flat. Your PTFE skates will have no trouble keeping that bowed section up off the mousepad.

You will need four 6-mm PTFE skates

I don’t think you need premium skates. The heavier your mouse, the bigger the difference your skates and mousepad will make. At 21 grams, I suspect that it would be difficult to tell the difference between cheap and premium skates.

I picked out a pack of 120 PTFE skates. I figured I would need plenty of extra skates, and they happened to be 30% off the day I was ordering. There are smaller packs of what look like identical skates on Amazon for around $5. There are also options that look a little more premium for a few bucks more.

I really don’t think it matters what you buy. A slipper skate on a 100-gram mouse makes a huge difference. A Li’l Magnum! doesn’t have much inertia to overcome.

I put one skate on each of the rear standoffs, and one skate under the front of each button.

Do you need grip tape?

I plan to expand this section in the future. I have ordered a couple of sheets of grip tape from Aliexpress. I am hoping to find something comparable to the VXE R1 Pro’s grip tape that I can cut with a laser cutter or the drag knife on the CNC machine. I think it would be neat if I can precut tape to exactly the right size and shape!

The grip tape that ships with the VXE R1 Pro is fantastic. It is slightly puffy and soft, and it has a weird and tacky feel to it.

I have used my Li’l Magnum! without grip tape, and I have used it with grip tape everywhere my fingers touch. I like it either way, but I have gone back to running mine without any grip tape.

The only place where I appreciate grip tape at all is the thumb grip. It is nice to have a little padding there to keep the corner from digging into my thumb, but it hasn’t been digging into my thumb lately. I think my muscle memory has finally started to understand that I don’t have to hold on to the Li’l Magnum! very hard at all. At any rate, this problem could be solved with a slight tweak to the model!

The buttons get a bit of texture from the layer lines, so they don’t really need extra grip.

I don’t think you need grip tape at all, but it is definitely going to be up to your personal preference.

Conclusion

The Li’l Magnum! is a demonstration of balancing gaming performance with accessibility to the maker community. By tuning the design for PLA and customizing slicer profiles, we’ve created a durable, extremely lightweight mouse that anyone with a 3D printer can bring to life. From dialing in layer heights to optimizing perimeters and infill, every tweak serves a purpose: ensuring crisp clicks, minimizing weight, and preserving that necessary amount of springiness.

The Li’l Magnum! project thrives on collaboration. Every test print, adjustment, and shared tip brings us closer to refining what’s possible with desktop manufacturing.

Ready to dive deeper? Whether you’re troubleshooting a print, sharing your mods, or geeking out over filament choices, our Discord community is the place to be. Swap stories, get real-time advice, and help shape the future of the Li’l Magnum!. Together, we’re building more than a mouse—we’re crafting a toolkit of knowledge for lightweight, open-source mouse hardware.

Let’s keep iterating, sharing, and clicking—one lightweight masterpiece at a time.

The L’iL Magnum! Fingertip Mouse Is Now Customizable on MakerWorld!

| Comments

I said I wasn’t going to write another mouse blog right away. It is the only topic I have written about so far this year. I definitely feel like I should sneak something else in, but I can’t do it! I haven’t been working on many other projects, and I am just way too excited about this new development.

Li'l Magnum! in the MakerWorld Customizer

The Li’l Magnum! in the MakerWorld Customizer

I knew I would eventually get the OpenSCAD source code for the Li’l Magnum! cleaned up. I knew I would eventually publish it somewhere. I also knew that I would eventually have things set up in a such a way that you could customize the feel of your 21-gram Li’l Magnum! fingertip mouse using MakerWorld customizer.

I had no idea that day would come so soon.

Everything between your hand and the mouse can be customized

You could definitely dig in to the OpenSCAD code and modify the Li’l Magnum! to work with the printed circuit boards (PCB) from other mice. If your mouse has the buttons and sensor on a single PCB, then it should be pretty easy to make the necessary tweaks to make your mouse fit. Those settings are hidden outside of the scope of the OpenSCAD customizer.

These are the things you can easily tweak:

  • Height of either mouse button
  • Length of either mouse button
  • Width of either mouse button
  • Angle of either mouse button
  • Position of the front and rear of the thumb and finger rests
  • Height of either finger rest
  • Angle of either finger rest

I set the location of my buttons up fairly high, because I didn’t like my index finger rubbing against the cold metal of the wheel’s encoder. I definitely liked the feel of the buttons when I tried setting them lower and flatter, and maybe you don’t give a hoot about touching the encoder. You can drop the buttons down so they are barely above the switches.

Our middle fingers are longer than our index fingers, so I like having the right button a little lower than the left button. It helps my middle finger land closer to the sweet spot of the button. Do you want your right button even lower? Go for it!

You can set the position of the front and rear of each side grip independently. Maybe you want the back of the thumb grip to sit higher up and farther out. Maybe your fingers land in a different spot. You can set things up however you think is best.

How many mice will I have to print to get things just right?!

Each Li’l Magnum! that I print weighs in at 3.2 grams when printed in PLA, and each mouse uses up roughly its own weight in support material. Printing a few test mice to get things dialed in isn’t all that wasteful.

I tried several angles for the grips: wider in the back, both set up to rotate the entire mouse a few degrees, with angles only on one side. Everything felt weird to me, so I wound up going back to the simple, straight sides.

Li'l Magnum! grip differences

Left: Longboy Li’l Magnum! encourages a grip like a normal mouse. Right: Original fingertip Li’l Magnum! gives you a much righter grip and allows for more control with your fingers.

There are a few tricks you can use to help dial things in. The most important part for me was getting the lengths of the grips right, and getting them both set in the proper position. You could always make the grips bigger than they need to be, but I wanted to shave off as much weight as I could!

You can put your fingers on the two buttons, then rest your thumb and remaining fingers where they are comfortable. You can measure by just how far your fingers miss the grips, and that will give you a good starting point for your first customized Li’l Magnum! print.

When I was testing out angles, I wound up putting blobs of blue poster tack on each grip. That let me shape things to get an idea what angles I might want to set in OpenSCAD.

I suspect customization has tremendous value

I already mentioned this in the last blog post, but I think it is worth repeating. I saw a short review of the Zeromouse on Reddit, and one of the things it mentioned was how using the Zeromouse feels like you’re wearing Optimum’s glove. It works well enough, but it is obviously meant for someone else’s hand.

If you use my Li’l Magnum!, then you might feel like you are wearing my glove. Maybe it fits well enough, but there is a good chance that it needs some tweaks. You might like a wider mouse. You might like to stretch your fingers a little farther to reach the buttons.

You might not want to make big changes, but shifting things around by two or three millimeters may be the difference between a mouse that feels OK and a mouse that feels perfect.

Infinite customization is cool, but I don’t expect it to be necessary for everyone

I think the customizer is extremely important today, because the only other options are either for you to wear my glove or someone else’s glove. I don’t have small hands, but I also don’t think I’ve made a large mouse. The Zeromouse Blade is way longer than my Li’l Magnum!, and I don’t understand how I would even grip the Zeromouse. The Zeromouse side grips extend back more than a full inch farther than the Li’l Magnum!’s grips!

That last sentence is enough for me to know for sure that my Li’l Magnum! won’t be right for everyone. It is definitely wrong if you use a mouse with your left hand, and that would be super easy to fix.

I am willing to bet that we will learns that three or four grip layouts would be enough to make almost everyone happy. Double that when we flip them for the lefties!

Li'l Magnum! next to the longboy Li'l Magnum!

The Li’l Magnum! next to the longboy Li’l Magnum!

I have a quick test Li’l Magnum! here with lowered buttons and grips that extend back in approximately the same way as the Zeromouse Blade. The way I have to hold this alternative mouse makes it feel like an entirely different mouse, but I took it almost immediately, and I was playing Team Fortress 2 just as well as I always do.

The longer mouse restricts my movements a lot more than the fingertip grip of the original Li’L Magnum!, so I don’t think I will be switching. I do think I need to hammer out a comfortable layout of this style.

I won’t know how to set up other comfortable configurations without your help. I hope that you will share your settings with us when you dial in your Li’l Magnum!, and maybe show us some photos of your grip. That will help me find some base configurations to help others get started, and it would be nice to have some options in my Tindie store.

What’s next for the Li’l Magnum!?

I think I should dial in the non-fingertip version of the Li’l Magnum!. Like with most parametric models, the decisions I made for the connectors on the grips start making a lot less sense when you push them too far back. That is easy enough to fix, and I can definitely squeeze in a bracing bar across the top on the long mouse.

I also just ordered a VXE Mad R mouse. I think this will be the mouse to buy to build a premium Li’l Magnum!. The Mad R is 13 grams lighter than my VXE R1 Pro out of the box, and the Mad R comes with an 8K USB dongle. The best part is that it only cost me $42 shipped. That is less than I paid for my 1K VXE R1 Pro. Both mice use the same sensor, but the Mad R ships with a lighter 200 mAh battery.

NOTE: Maybe I should have ordered the VXE Mad R Major for an extra $20. It has an even newer sensor and also supports 8K polling while plugged in.

Keep in mind that I am saying this before having a working Li’l Magnum! STL file for the Mad R!

Li'l Magnum! in silk purple PLA

Don’t print your Li’l Magnum! in silk PLA. This one was 0.15 grams lighter, but the lens holder is too rigid and the layer lines are too brittle. I snapped one of the standoffs while screwing in the PCB!

I think the VXE R1 SE for $19 is an amazing mouse to use to build your Li’l Magnum!. It will be light. It will feel great. I can’t imagine finding a better FPS gaming mouse for the price.

It is certainly looking like the next step up should be the VXE Mad R. You get that 8K dongle for free, and you get lighter guts. I know that running a mouse at 8,000 Hz drains the battery fast, but the 8K dongle also allows for 1,000, 2,000, and 4,000 Hz. It is nice to have options!

I am confident that I will have the VXE Mad R hardware installed in a Li’l Magnum! the day that it arrives, and it is due to arrive here in ten days or so.

Conclusion: Your Perfect Grip Awaits – Let’s Build It Together

This milestone—releasing the fully customizable Li’l Magnum!—isn’t just about sharing a design. It’s about inviting you to shape it into your ideal mouse. The beauty of MakerWorld’s customizer is that it turns what was once a hypothetical “someday” into a tangible today. No more settling for a glove that don’t quite fit you hand. With adjustments as granular as a millimeter or a degree, you’re no longer wearing my glove—you’re tailoring it to your fingertips.

The Li’l Magnum! is more than a mouse; it’s a starting point. Maybe you’ll tweak the button heights to dodge the encoder wheel’s chill. Maybe you’ll angle the grips to mirror your palm’s natural arc. Or maybe you’ll flip the design entirely and forge the Li’l Southpaw! for left-handed gamers. Whatever your vision, I want to see it—and so does our community!

Join our Discord community and share your customizations, grip photos, or even your frustrations. Did lowering the buttons by 2mm transform your aim? Did changing the angle of the thumb grip help steady your shots? Tell us how thing are working for you!

Li’l Magnum! 22-Gram 3D-Printed Fingertip Mouse Mod For The VXE Dragonfly R1 and R1 SE

| Comments

I am excited. A more affordable $22 VXE Dragonfly R1 SE Plus arrived at my door two hours ago. I disassembled it immediately and started test fitting it into one of my spare Li’l Magnum! shells for my Dragonfly R1 Pro. It was close to a good fit! The screw holes don’t quite line up, but they were close, and I had to add a holster for the R1 SE’s lens.

Li'l Magnum VXE Dragonfly R1 SE+

It only took four targeted test prints to get the screw holes lined up and the lens at the correct offset and height for the mouse to actually work. I was assembling a working ultralight fingertip mouse less than forty minutes later!

What is the difference between the R1, R1 SE, and R1 Pro?

There is a table in the ATK store showing the differences in specifications, but here are the important things that I know that matter when you’re building an ultralight fingertip mouse.

If your VXE Dragonfly R1 has “Max” or “Plus” in the name, then it has the heavier 520 mAh battery. That is double the battery capacity of the other mice, and it adds 4.3 grams to your mouse.

The Dragonfly R1 Pro models have a better sensor, a more convenient lens arrangement, more premium buttons, and the electronics weigh about one gram less. You pay $25 to $30 more for these upgrades, and it will shave 0.8 grams off your Li’l Magnum!

The R1 and R1 SE were out of stock on Aliexpress when I was ordering my second mouse. I had to buy the model with the larger battery. This isn’t the end of the world, because I can swap batteries around to figure out what an R1 Pro Max and an R1 SE would actually weigh in the Li’l Magnum! shell.

The Pro models upgrade you from a 19,000-DPI sensor to a 26,000-DPI sensor. This doesn’t matter for me in practice, because I am playing Team Fortress 2 with all my mice set to 3,200 DPI. I can’t tell the difference between my pair of Li’l Magnum! mice.

At this point, I think you should buy the cheapest mouse that you can find in the VXE Dragonfly R1 lineup if you want to try printing a Li’l Magnum!.

The Pro came in much nicer packaging, came with extra skates, and there was an assortment of precut grip tape included in the box. We can’t use the giant skates, but the grip tape is handy!

The tape works well, and I was able to cut off a few pieces to fit my Li’l Magnum!. I’d wind up spending $10 on Amazon to order a whole mess of generic grip tape. It might be nice if my grip tape didn’t have weird patterns printed on it, but this might be a good excuse to buy the R1 Pro.

Aesthetics aside, the VXE grip tape is fantastic. It has an interesting feel to the surface, and it is slightly spongy. It makes for a comfortable experience!

One minor advantage to the lower-end VXE Dragonfly R1 mice is that they support Bluetooth. You wouldn’t want to be stuck playing a competitive game using Bluetooth, but I would find that handy for my laptop bag. Especially since it is a free feature of the more affordable mouse.

I would like to have DIY kits stocked in my Tindie store with precut grip tape and skate packs appropriate for the Li’l Magnum!, and I think it would be nice to have reasonably priced 3D prints in stock for people without access to a 3D printer. I haven’t tested any large sheets of grip tape yet, and I don’t think I have put enough miles on the prints to be confident enough to sell them to anyone yet.

If building a fingertip mouse is your goal, then I would avoid the R1 SE+ and R1 Pro Max. These include a 520-mAh battery that weighs 4.3 grams more than the 250-mAh battery in the other mice in the lineup. That doesn’t sound like a lot, but my 27-gram Li’l Magnum with the big battery feels significantly heavier than the 21-gram or 22-gram setup. It might not be worth spending a lot more money to save a couple of grams, but in this case you save money and weight at the same time.

Do you even want or need a fingertip mouse?

Most people probably shouldn’t own a fingertip mouse. I am enjoying having a 21-gram mouse while playing Team Fortress 2, and I expect to always have one at my desk.

It is probably giving me a slight edge over using the R1 Pro at its full original 49 grams, but that really only matters here because I am playing on a team against 12 other human players who are also using mice. That slight potential advantage doesn’t matter when you are playing Red Dead Redemption 2 or Borderlands 3!

That said, there are plenty of games where a lighter mouse could be a huge help. Trepang2 benefits from landing headshots, and Roboquest is a frenetic game that also rewards you for hitting small critical locations. I would much prefer using a 21-gram Li’l Magnum! to a 49-gram R1 Pro for single-player games like these.

You can buy a 36-gram VXE Mad R mouse with an 8K receiver for $46. That is about what I paid for my VXE R1 Pro, but it is 25% lighter and comes with a better receiver. You could also spend a little more on a 30-gram Zen 8K. If you could have regular mouse that weighs 30 or 36 grams, do you really need a 21-gram fingertip mouse?

NOTE: It would be easy to dial in the Li’l Magnum to fit a VXE Mad R. It may even fit fine in one of the existing models. If you own one, and you want to make it fit just right, talk to me in Discord!

Li'l Magnum fingertip mouse is currently 22.5 grams with the VXE Dragonfly R1 SE PCB

I didn’t choose the Dragonfly R1 Pro because it was the lightest mouse or even the lightest mouse for the price. I chose it because there is a $19 version with slightly reduced specifications. Maybe you don’t want to spend $150 to try a Zeromouse Blade, and you aren’t excited about disassembling a $50 mouse to try my ultralight fingertip mod.

I don’t know about you, but I would spend $19 and print 6 grams of PLA to try out an ultralight mouse. I might hate using that new mouse, but who cares?! It is a fun project. I have spent $20 on much stupider things. Even if you hate it, you can put the original mouse back together and have a nice 52-gram mouse.

You might not hate it. You might absolutely love using an ultralight mouse. Maybe you’ll keep using the Li’l Magnum!. Maybe you’ll dial in the size and shape to fit your grip perfectly. Or maybe you will upgrade to a Zeromouse Blade.

The $19 Dragonfly R1 was out of stock when I ordered, so I had to order a $22 Dragonfly R1 SE+. Both of these mice share the same PCB, but my R1 SE+ comes with a larger battery that is 4.3 grams heavier.

Where does a 21-gram fingertip mouse really shine?!

I can tell you that the day I switched from using the 49-gram VXE Dragonfly R1 in its original shell to the lighter shell, I was doing worse while playing Team Fortress 2 instead of better!

Everything was at least the same or slightly better while things were calm, but my reactions got much worse when another player got right in my face, and I had to make big mouse movements to keep them near my crosshairs. It was so easy to overshoot their position when the mouse didn’t weigh anything. This seems to have mostly been a problem of muscle memory.

The same was true to a lesser extent when I switched from the 97-gram Logitech G305 to the 49-gram R1 Pro. It was exponentially better AND worse dropping all the way to 21 grams!

The minuscule footprint of the fingertip mouse sure seems to help with my vertical aim. You are able to pull the mouse farther downwards without having to move your wrist out of the way. I am definitely doing a better job of tracking scouts, demomen, and soldiers that are arcing over my head.

Demonstrating stiction

You can see how far the heavy Logitech mouse moves when I put just barely enough force into it to break the stiction

That is mostly subjective. I found a little test to demonstrate the difference in stiction between my 21-gram mouse and my 97-gram Logitech G305, and I can even show it to you.

I did my best to move the cursor the smallest amount possible. You can see in the animated gif that every time I break the heavy Logitech mouse free of its grip on the mousepad it jumps more pixels than the Li’L Magnum!, even though they are set to the same DPI and feel quite comparable in normal use.

I would expect this to be a huge advantage when playing sniper, because you’ll have an easier time moving the cursor two pixels to the left to land on someone’s tiny head in the distance, whereas with the heavy mouse you might just jump completely to the opposite side!

I have been playing with the 21-gram mouse for more than a week now, and my muscle memory has definitely gotten used to the lower inertia. I don’t freak out as often at close range. I don’t know that I am any doing better than I did in the old days in those near-melee range fights, but I am confident that I am doing significantly better at medium and long ranges.

I had a lot of trouble dialing in the lens holder for the R1 SE+!

Designing a fingertip frame for the R1 Pro was surprising easy. It has the lens glued to the PCB, so all you have to do is suspend the circuit board above the surface. I only had to dial in the position and tension of button paddles. I had a working mouse in three or four iterations, and I was playing Team Fortress 2 a few hours after I got started.

The R1, R1 SE, and R1 SE+ use a separate lens piece. I had to get it lined up in precisely the correct position, and I had to put just enough tension on it from below to hold it in place when the PCB is screwed in place.

I even managed to make the job harder for myself. I accidentally made the hole in the bottom for the camera too small. I didn’t realize I was blocking most of the infrared light from the LED. It was usually mostly working on my mouse pad, but it wouldn’t pick up anything on other surfaces, and sometimes it would get all sorts of jittery.

Lens setup of the R1 SE in the Li'l Magnum shell

First revision of the Li’l Magnum!’s lens holder for the R1 SE mouse

Opening up the lens hole fixed most of that, and that let me shave more than half a gram off the Li’l Magnum! shell. Dropping the height of the PCB fixed every bit of jitter or lift lag that the R1 SE+ was giving me. Now I couldn’t tell you which mouse is which without looking.

I had quite a bit of hubris when I got started making the adjustments for the R1 SE. I printed two partial mice to test the lens holster, and I thought for sure my third print would be an actual working mouse.

It wasn’t. I have eight 1.5-gram partial prints that each took 14 minutes to print, and I then I have one full 35-minute mouse that blocks too much light. That isn’t too bad, but not as quick and simple as I expected things to go!

After fixing the lens holder, I broke the Li’l Magnum for the R1 Pro!

Lowering the PCB of the R1 SE by one full millimeter fixed my jitter issues completely, so I figured I ought to be able to split the difference and set the PCB height for both the R1 SE and R1 Pro to something in between.

My initial attempt sure seemed to work, so I uploaded the new STL files.

Test prints for the lens holder

I fired up a game later in the day, and I noticed that the R1 Pro wasn’t always tracking correctly, and it wasn’t as smooth as it should have been. I accidentally put the sensor too close to the mouse pad!

I am not sure why I decided that I just had to have the same PCB height for both mice, but I made it work. Both mice are now two 0.16-mm layers closer to the mousepad.

I am surprised how tight of a needle you have to thread to stay within the Goldilocks zone.

If the R1, R1 SE, and R1 Pro feel the same, why buy the R1 Pro?!

The R1 and R1 SE make for a slightly heavier Li’l Magnum! than the R1 Pro. The electronics weigh 0.7 grams more, and the extra material to hold the lens on the R1 and R1 SE adds another 0.5 grams to the weight of the Li’l Magnum! shell. I might be able to shave another tenth or two off the model, but it is important that the lens be held in place well!

Is 1.25 grams worth an extra $30? That is up to you, but I don’t think it is.

I am not a professional competitive first-person shooter player. Just because I can’t feel a difference doesn’t mean there isn’t a difference. The R1 Pro and Pro Max have a better sensor and a faster processor, and that may translate into slightly faster response times. Maybe saving 0.8 grams isn’t worth $30 on its own, but maybe knowing that you have better hardware adds some value.

UPDATE: This is slightly incorrect. I have been trying to dial in a PCB height that both the Pro and SE are happy with, so I have been flipping back and forth a lot. The R1 SE has stiffer switches. Not by a lot, but you can feel it. That is an obvious tell!

I wish I could do a quick, proper switch to do blind mouse changes in the middle of a game of Team Fortress 2, but I don’t have the right hardware to do that. I have one big battery, and I have one small battery. I can build out a Li’l Magnum! that is equivalent to any VXE Dragonfly R1 mouse, but can’t have two light builds assembled at the same time.

The heaviest configuration of the R1 SE circuit board combined with the 520-mAh battery still feels super light at 26.8 grams. That is still an amazing gaming mouse on its own, but it feels quite a bit heavier than the 21.4-gram setup!

How heavy are the R1 SE+ and R1 Pro Max with their big 520 mAh batteries?

This is an easy question. A Li’l Magnum! built with an R1 Pro Max currently weighs 25.5 grams, and a Li’l Magnum! built with an R1 SE Plus weighs 26.8 grams.

That sounds light, but that is more than enough difference that it is easy to feel. Even at 27 grams, that is still an amazing gaming mouse, but it feels quite a bit heavier than the 21.4-gram setup!

We are on our way to a parametric fingertip mouse with the Li’l Magnum!

Adding the small differences to print a Li’l Magnum! for the R1 SE to the R1 Pro’s OpenSCAD source code has given me a chance to start tidying things up a bit.

These two mice are almost identical, so it was pretty easy. Two screw holes are shifted slightly, the R1 SE needs a holster for the lens, and that holster needs some bracing to keep the lens solidly in place. Just toggling the pro variable in the source code changes the handful of things that are necessary to crank out the correct STL file.

I think I should go a little farther before releasing the OpenSCAD code, and I am making steady progress. I’d like to break things out so that the code that defines a particular mouse would go in one file, and the shared functionality would be in an included library.

All mice PCBs will have standoffs, screw holes, side grips, and buttons. Each mouse will have locations and sizes for each of those things. The more mice I can support, the more generic the library will become!

I was excited to learn that the Finalmouse is planning to sell the bare PCB used in the Zeromouse Blade, but then I clicked through the Finalmouse store. Not a single mouse is currently in stock. Will the bare circuit board be as difficult to purchase as a mouse?

I feel that customization will be important. I read a review of the original Zeromouse on Reddit that said that using the Zeromouse is like trying to fit your hand into Optimum’s glove, and I can only assume the same is currently true of my Li’l Magnum!. I am extremely comfortable with my Li’l Magnum!, and I am excited to have been able to upload a second glove size for everyone to try, but I bet we could use more shapes of glove!

Conclusion

I am beyond excited about this second Li’l Magnum! shell. Now someone can spend $18 on one of the best values in low-latency, high-DPI gaming mice, print one of my shells, and have a chance to experience a 22-gram fingertip mouse. Maybe you’ll love it. Maybe you’ll hate it. It doesn’t really matter, because you only have to spend $20 to find out.

If you do love it, that’s fantastic! Then you might want to splurge on something more premium like Optimum’s SLS-printed Zeromouse Blade, but maybe you’ll be happy with your Li’l Magnum!. I know I am, and I will continue to iterate on the design because I am having a blast!

Are you using a Zeromouse? What do you think of the experience? I definitely want to try one! Are you gaming with one of the other fingertip mouse mods? Which one are you using, and are you enjoying the experience? Are you planning to try my Li’l Magnum! mod? Is there another mouse that I should tweak my design to support? Tell us your thoughts in the comments, or join our Discord community where we talk about 3D printing, mice, gaming, and other geeky nonsense!

Can We Compete With The Zeromouse For Under $25?

| Comments

I am just going to put the tl;dr right up at the front. I wanted something like Optimum Tech’s Zeromouse. I tried the fake Logitech G304 upgrade, and it was awesome using a 29-gram mouse, but the electronics were jittery and terrible. I wound up discovering the 49-gram VXE Dragonfly R1 Pro for about $45. I ordered one. I love it. And I managed to design a skeletal shell that brings the mouse down to under 24 grams. I would still consider it a prototype, but it works great.

My 3D-printed skeletal fingertip ultralight mouse

I have ordered a $22 VXE Dragonfly R1 SE. It should fit the same 3D-printed skeleton with minor tweaks. It might wind up being a couple of grams heavier, but I am excited that you will be able to print your own Zeromouse-style ultralight mouse for under $25!

UPDATE: The $22 VXE R1 SE+ is in my hands, I’ve since named my fingertip mouse frame the Li’l Magnum!, and I have already been gaming with my new $22 Li’l Magnum! for several days.

I am not even sure how to refer to this style of mouse. “Ultralight” seems appropriate, and I have heard them referred to as fingertip mice. I am partial to calling them skeletal gaming mice, but I may have made that up on my own!

The 49-gram VXE R1 Pro is amazing

I was gaming with a 100-gram Logitech G305 last month. My ultralight-mouse shenanigans clued me in that I could pair a tiny piece of aluminum foil with a 7-gram USB-C rechargeable AAA battery, and that dropped the G305 to 79.5 grams. That was an upgrade that I noticed, and I thought it felt fantastic. After spending a week with the VXE Dragonfly R1, the Logitech G305 feels like a brick.

I don’t think you need to modify your VXE Dragonfly at all. Mine was 49 grams out of the box, and it feels amazing. The battery lasts about a week on a charge for me.

My VXE Dragonfly R1 Pro and my Logitech G305 side by side

My 49-gram VXE R1 Pro next to my 100-gram Logitech G305

The lightweight VXE R1 Pro feels a little cheap, but I don’t think that can be helped. The Logitech feels premium because of the heft. You can’t shave weight off every single part of the mouse without making things feel a little flimsy.

If you are still using a heavy, old-school mouse, I most definitely think you should try one of these mice. I don’t even think you need to swap it into one of my 3.7-gram shells. A 50-gram mouse is a HUGE upgrade, and you don’t even have to adjust to a weird style of mouse. The VXE R1 has a similar enough size and shape to my Logitech G305.

The R1 Pro isn’t even the lightest mouse from VXE. I just gravitated toward this model for this project because it is quite light, and I was tickled by the fact that there is an $18 model. You can buy a 36-gram VXE Mad R mouse with an 8K receiver for $46, and with a 36-gram mouse, do you even need to mod it down to 21 grams?

If you are planning to use my 3D-printed skeletal shell, then you want the VXE R1 Pro and not the Pro Max. The Pro Max has a larger battery that adds an additional 6 grams.

I think Optimum Tech’s Zeromouse Blade is worth every penny

Though I am saying this as someone who hasn’t tried the real Zeromouse. It is 3D printed using laser-sintered nylon. Nylon is a much more premium material, and the printing process generates a more premium-feeling product than my Bambu Lab A1 Mini makes at home. Not only that, but the custom lightweight electronics in the Zeromouse are known to be high quality and extremely low latency. I believe $150 is a reasonable price for a custom piece of hardware like the 19-gram Zeromouse Blade.

I wasn’t even aiming at the new Zeromouse Blade when I ordered the VXE mouse. I was just hoping to make something similar to the previous iteration of the Zeromouse.

Aside from the previous revision of the Zeromouse shell being out of stock, I was disappointed that it required an $80 Razer V2 donor mouse. That is an outdated model now, which does make it cheaper than the Razer Pro V3, but it might not be available to purchase for all that much longer. I’d hate to design a mouse shell around something that is going away!

I also didn’t like the idea of spending $150 on a mouse that is so much different that what I have been using for 35 years. What if I hated it? What if I used it for an evening, threw it in a drawer, and never looked at it again? That would be a bummer!

I already tried a cheap fingertip mouse with a terrible sensor, and I enjoyed it a lot. My VXE Dragonfly mod is my second ultralight mouse. I can tell you that I would happily pay $150 for the new Zeromouse Blade, but that would be a lot less fun than designing my own and sharing it with you!

Where are we so far?

I am honestly amazed at how quickly this is progressing. I messed around in OpenSCAD for a couple of days before even taking the mouse apart, and I had all the screw holes within 0.5 mm of correct before I even had the PCB in hand to test out. My first full print was a little too small, but my second print was an actual functional mouse!

It took two more partial test prints to both perfectly line up the button positions with the paddles and to get a snug lateral fit on the PCB. Hugging the sides of the PCB significantly increased the rigidity of the mouse, and it feels quite solid now. That is the model that I uploaded to Printables and MakerWorld before starting to write this blog post.

Lots of progress on the skeletal fingertip mouse

A couple of days later, yesterday as I am writing this paragraph, I came up with a better solution for keeping the mouse wheel in place. I printed the tiny new part that slips over the microswitch, and I snipped out the old wheel support brackets from my existing print. This makes it SO MUCH easier to assemble a working mouse, it weighs slightly less, and I knew it would allow me to tighten up the wiggle in the button paddles.

I significantly tightened up the paddles this morning, put a slight angle on the finger grips, and eliminated the wheel supports. That print was only 0.1 grams heavier, way sturdier, and seemed to fit great, but the extra rigidity in the paddles meant that my buttons were both stuck in the on position! I am waiting for that part to print as I write this paragraph. I want that plunger length dialed in perfectly!

I feel like I am just about in a place where I get away with calling the STL file version 1.0, but the OpenSCAD source needs a lot of tidying up.

I think I am doing pretty well at aiming for six days of testing!

We have a 23-gram, 26,000-DPI, low-latency mouse that you can build for less than $50. I think that is fantastic, and I wouldn’t be surprised if I can get that down under 22 grams with a few slicer tweaks and a switch from PLA to ABS filament. The entire skeleton is 5.7 grams when printed in PLA, so there isn’t a ton of room for improvement here.

UPDATE: Printing my skeletal fingertip mouse with single walls and fewer top layers brought my total mouse weight down to 21.4 grams, and the whole thing feels nearly as rigid as it did with default print settings. I haven’t switched to ABS yet, but that ought to save another 0.7 grams or so. I don’t believe this is necessary.

I am confident that it won’t take much effort to tweak this design to fit the $18 VXE Dragonfly R1 or the $22 R1 SE. I imagine that those mice will feel indistinguishable during gameplay, except that I don’t know how much their circuit boards weigh. I do know for sure that we will have to print a small, dark piece of plastic to cover the giant LED in those cheaper mice!

I have had to shim the buttons

Some of the skeletons I printed felt fantastic. Others have buttons that felt spongy. One of the skeletons with all the same offsets was so tight that the buttons were constantly pressed without even touching the mouse.

The trouble is that the little plungers sit on top of support material, and they don’t always come out exactly the same. I have tiny support pegs under the switches, and I figured out that I can cut a few tiny pieces of electrical tape to use as shims between the PCB and that peg to dial in the feel of the buttons.

3D-printed skeletal fingertip mouse at 23.33 grams

The mouse I am using at the moment has one layer of tape under the right button and three layers of tape under the left. Each layer is about 0.15 mm, but the rubbery tape is a bit squishy, so it might take up less space in practice.

I have been printing my prototypes on my Bambu A1 Mini at my usual layer height of 0.16 mm. I can definitely switch to 0.1 mm layers for more precision, and I can also switch to a PETG support interface layer with zero gap to set the height of the plunger with more accuracy. That will help for my own mouse, but I have no idea what the tolerances are on your PCB!

NOTE: I may have mostly figured out the solution to this problem. We’ll see if it holds true. I am excited that the easy fix also dropped the total weight of the mouse to 21.4 grams! The explanation of the problem and why the solution works would be almost as long as this blog post.

My hopes for the OpenSCAD source code

I would love it if we could just punch some new mounting hole locations and button positions into the OpenSCAD code and generate a skeletal mouse for any similar gaming mouse PCB, but I wasn’t nearly careful enough in the layout of the code to allow for that.

Underside of the 3D-printed skeletal fingertip mouse

I ordered a huge pack of 6-mm PTFE skates. I don’t have many of these ancient football-shaped skates on hand. Thankfully, the textured bottom surface makes them easy to remove, or I would have run out of them on the first day!

I will be stoked if I can clean things up enough that you could go to MakerWorld’s parametric model maker so you can enter your own button height and length, thumb and finger pad positions and lengths, and tweak some settings to make the buttons stiffer or looser. I’m not far from that being possible, so I plan to set that up once I put the finishing touches on my own mice.

I would like to add a curve to the button paddles and finger grips, and that should be configurable in the parametric configurator as well.

How do I like gaming with a 23-gram fingertip mouse?

It is weird, and I am most definitely not quite acclimated to it yet. If you think switching to a featherweight mouse will instantly improve your FPS-gaming abilities, you will be extremely disappointed. You are almost definitely going to get worse before you get better!

My old Corsair mouse was nearly 100 grams. My recently purchased Logitech G305 is around 100 grams with a single AA Eneloop battery installed, but I have been gaming with it using a 7-gram USB-C rechargeable lithium-ion battery and a small piece of aluminum foil. That has brought the weight down to 79 grams.

Playing Team Fortress 2 with the stock 49-gram VXE R1 Pro already made the 79-gram Logitech mouse feel like an absolute brick. Switching from the 23-gram skeletal mouse back to the brick feels even more dramatic.

Pat's time played in Team Fortress 2 by class

I have both mice set to 3,200 DPI, and I can execute reasonably precise 90- and 180-degree turns with either mouse, but the skeletal mouse FEELS faster. It is especially noticeable when an enemy gets close, and you have to quickly adjust your aim to lock on and track them. I keep overshooting with the lightweight mouse. I had the same problem when I switched from the G305 to the R1 Pro, but it is more extreme with the skeletal mouse.

It takes so much less effort to get the mouse to start moving, so I am tending to push the mouse too hard for small and medium moves.

I am not good at playing scout in Team Fortress 2, but I assumed this would be the class where I would most notice the missing weight of the mouse, and I am definitely doing worse playing scout at 23 grams than I was at 49 grams. That said, I am pretty good at landing pills with the demoman, and I feel like I am doing a reasonable job there.

I suspect that the answer is going to be lowering my sensitivity. It will be easy to adjust to needing to move my mouse farther to turn around, and a lower sensitivity will help me be more precise on the smaller movements. I just figured that I should give myself more time to acclimate before making changes.

Do you want to know what the weirdest thing is about these light mice? You can’t spin the scroll wheel unless you are gripping the mouse. When you attempt to spin the wheel on a loose mouse, you wind up just pushing the mouse around!

Conclusion

It is exceedingly difficult to not print just one more mouse. I keep saying that I am going to stop, but then a couple of hours go by, and I print a slightly different mouse. I am really going to stop now. At least for a while. I feel like I need to put a week or two into actually using a good skeletal fingertip mouse. That way I will have a better idea of what improvements I should actually be making.

I am aware that I have not yet met the expectations of this blog post’s title. I have only modded a $45 mouse down to 21 grams. The $23 mouse is on its way, though, and I am confident it will be easy to tweak the design to make its hardware fit my shell!

What do you think? Are you excited about the idea of a $25 fingertip mouse? Or do you think something like the 36-gram VXE Mad R is light enough? Do you prefer using a heavier mouse? Are you planning on trying out my model, or are you already using a different fingertip mouse mod? Tell me about it in the comments, or join our friendly Discord community where we talk about 3D printing, video games, and many other geeky topics!

Should You Enable Smart Queue Management To Mitigate Bufferbloat?

| Comments

I haven’t had Smart Queue Management (SQM) enabled on my Openwrt router in a very long time. I am not even sure if what I was using in the olden times was called the smart queue management, and it has been so long that I don’t even remember exactly what I used to have enabled on all my old asymmetric cable and DSL connections. All I remember for certain was that I used to use some sort of quality of service (QoS) package for OpenWRT that would let me set numbers for my upload and download speeds that were a little lower than my actual speeds, and this would keep my link from getting saturated and driving up latency.

My bufferbloat test results after dialing in SQM on my OpenWRT router

It was more than a decade ago when I upgraded to my first symmetric fiber Internet connection at home, and that massive boost in upload speed on my 35/35 megabit connection made enabling QoS almost entirely useless. We have had several upgrades over the years, and today we have a symmetric gigabit Ethernet connection at home. We could go higher, but then we would need to pay more AND upgrade the router!

I have once again enabled OpenWRT’s SQM. One of my friends in our Discord community was bragging about his A+ score on the bufferbloat test score after configuring fq_codel on his OPNsense router, and that made me curious whether or not I should be doing the same.

Do you need queue management with a fast symmetric Internet connection?

Queue management has a dramatic impact when your Internet connection’s download speed is 10 or 20 times faster than your upload speed. There are several reasons for this, but you can see the most obvious culprit if you watch your network traffic while running an Internet speed test. You will probably see around 2% as much traffic on your uplink while your download test is running.

The additional latency when filling up your cable modem’s download capacity isn’t a bufferbloat problem. This is just a consequence of not having enough upload bandwidth available. If you have a cable modem, you should probably be running some sort of queue management.

Bandwidth utilization during download speed test

You can see my meter showing 16.7 megabits of upload bandwidth being used while the speed test is pulling 831 megabits on the downlink

In my case that is around 17 megabits of uplink while seeing 800 megabits down on the speed test. This is nearly enough upload traffic to fill up Comcast’s gigabit cable service, and I’m not even sending any actual useful data up.

I don’t have to worry about this, because I still have more than 800 megabits of unused uplink bandwidth.

This is probably the tl;dr for this blog post. I have never noticed additional latency from other people in the house streaming movies or downloading large files. It never shows up on my Smokeping graphs, and I never feel it when playing something latency sensitive like Team Fortress 2.

I doubt I will ever notice that I have enabled SQM on my OpenWRT router, but I am glad that I have it enabled now just in case!

Enabling SQM made a huge difference, so why won’t I notice it?

The ping times only go up when I max out my available upload or download bandwidth. We could stream 10-bit 4K HDR content to every screen in the house and only use a fraction of our available bandwidth. Most sites on the Internet don’t manage to saturate my connection, though I can max out my uplink when publishing a YouTube video, and Steam can just about fill the whole downlink when updating a game.

Bufferbloat results before enabling SQM

I disabled SQM after I had everything dialed in just to run another test and take this screenshot. I don’t remember the original test result being nearly this bad!

Either of these things usually only take a few minutes. Those few minutes would have to coincide with me playing a latency-sensitive multiplayer game or participating in a video call. The odds of that happening are slim.

What OpenWRT settings did I change?

I think it was worth trading a couple of dozen megabits of bandwidth for much improved worst-case latency, but it was a bit of work to get things dialed in right, and my exact settings won’t work for you. I do think it is worth telling you what worked well for my setup.

You should follow the advice on traffic shaping from the OpenWRT wiki. That’s what I did!

I tried to use the cake module, but my aging Linksys ACM3200 just doesn’t have enough single-core CPU performance. The cake SQM immediately maxed out one of my cores during a speed test, and my download speed was limited to 560 megabits per second.

My router has plenty of horsepower for running fq_codel and the simple.qos script. From there, I just kept bumping up my download and uploads speeds on the basic settings tab until bufferbloat test test results showed my latency increasing. When I they did, I backed off a bit.

I got curious while writing this blog post, and I asked Google if there were any options for getting cake to use more than one CPU core. I didn’t expect to have much luck, but I figured there was a chance that there is something newer and better than cake. I found nothing of the sort.

Packet Steering in OpenWRT LuCI settings

I did find something useful. There is a checkbox in the global network options to enable packet steering. Ticking that box allowed me to inch my upload and download speeds up by 20 or 30 megabit before my latency started to increase again. That was a nice little bump, but as it suggests in the OpenWRT interface, your mileage may vary here!

Conclusion

I feel that turning on SQM traffic shaping and giving up 5% of my maximum bandwidth to reduce my worst-case latency by dozens or even hundreds of milliseconds is a fantastic trade. That is such a small price to pay to never have to worry about a random download or update somewhere in the house goobering up my aim in Team Fortress 2!

I bet I spent an hour or two dialing in my downlink and uplink numbers to get as much bandwidth as I possibly could without significantly pushing up the latency when congested, but you don’t have to work that hard. Just enabling SQM and entering what you believe are your actual upload and download speeds will probably get you 90% of the way to perfect, and that is probably way better than you were doing before!

If you found this blog post insightful, I would love to hear your thoughts and experiences with Smart Queue Management (SQM) and OpenWRT! Have you noticed a difference in your network performance after enabling SQM? What settings worked best for you, and do you think queue management is necessary for high-speed symmetric connections?

Join our Discord community where we share tips, tricks, and experiences with our own homelab setups! Engaging in discussions with fellow enthusiasts could help you fine-tune your setup and understand your network better. Let’s optimize our networks together!

Being Able To Print ABS On My Bambu A1 Mini Is Delightful

| Comments

This is going to be a short post, because I don’t have a lot to say. I am sure you have been seeing the hubbub lately about how you can print ABS on top of a layer of PLA while keeping the bed temperature way down at 60C. I am mostly just here to tell you that it works, and it works extremely well!

I have been digging my own rabbit hole the last couple of weeks. I discovered a superlight skeletal mouse shell replacement for a fake Logitech G304 mouse that cuts the weight from around 90 grams to 45 grams.

Skeletal mouse printed in ABS on top of PLA on my Bambu A1 Mini

I modified the design a bit to make it more comfortable, then I removed some parts to drop a few grams. That wasn’t light enough for me, so I started tweaking top layers, bottom layers, and perimeters to shave even more weight. I knew the next step was to print in ABS to save another 2 or 3 grams.

The trouble is that my dedicated ABS printer is my Sovol SV06. It is set up with a 0.6-mm nozzle, so it tends to lay down more plastic than necessary for spindly parts. Even with tweaks that was going to wipe out all my savings from the switch to the lighter ABS filament.

The other problem is that the Sovol doesn’t dial in flow rate automatically like my Bambu A1 Mini. I used to print exclusively with ABS when I owned a wooden 3D printer in the olden days, and I absolutely hated removing support material from ABS prints. I knew dialing in the flow rate perfectly would help, and the Bambu would do that for me.

Why can’t the Bambu A1 Mini print ABS?!

You need to get your print bed up to 100C to keep ABS in place. I tried printing ABS with the bed set to its maximum temperature of 80C when I first got the printer, and I had partial success. Very small parts printed fine, but my parts that were around an inch square at the base came loose from the bed after a dozen layers.

You can get around this problem by setting the first layer to print in PLA. That lets you leave the bed at 60C or 65C, and the PLA has no trouble adhering to the bed for the entire print job. In fact, it seems that the PLA first layer does a better job adhering to the bed than ABS will manage with a 100C bed!

You don’t have to have an AMS Lite to make this happen. You can manually swap filament after the first layer.

Filament use

I wound up reducing the weight of the mouse by almost three grams by switching from PETG to ABS

I don’t even know the correct way to print ABS with the AMS Lite. The printer and slicer didn’t even let me select ABS filament when I tried it last year, and I have been printing my mouse in PETG. I just edited the PETG profile settings that I was already using. I bumped the minimum temperature to 255C, bumped the flow rate up to 19 cubic mm/s, and I just let the machine believe it was printing PETG.

That probably isn’t ideal. The ABS profiles for the Bambu A1 surely have tweaks that do a better job of controlling cooling for bridging, but this definitely got the job done.

I couldn’t believe how easy it was to remove the tree supports!

In the days when I only printed ABS, I avoided supports at all cost. In modern times, supports aren’t so bad with PLA and PETG. Both the slicers and the printers are way better than they used to be, and they’ve improved significantly in just the last couple of years. Supports usually just pop right off of my print on the A1 Mini, while I used to have to attack the same sorts of prints with a pair of pliers on my Prusa MK3S.

I only just realized this week that I may not have printed an ABS part using supports since tree supports were added to Prusa Slicer.

I was amazed. The ABS tree supports almost fell right off my print. It was almost like using a PETG support interface layer on a PLA print. It was a delight!

But my printer’s bed isn’t limited to 80C, is this of any use to me?!

Yes! It seems that printing ABS on a layer of PLA has better adhesion and less chance of warping than printing ABS directly on the bed. This is true with either an open printer or which a chamber.

I imagine there is a point where a heated chamber and a properly hot bed will help keep a tall and complicated ABS part from splitting at the layer lines half way up, but I think I am always going to default to using a layer of PLA on ABS prints whenever the option is available.

Conclusion

I am not breaking any new ground here. JanTec Engineering might have been the first to show us the technique, and Thomas Sanladerer did some really good testing to show us which filament combinations do and don’t stick to each other.

I just figured it might be a good idea to write this blog, raise my hand, and say that this also worked well for me!

ABS is an important filament for me. It is one of the few common 3D-printing materials that survives sitting on the dashboard in the Texas sun. I don’t print ABS a lot, but when I need it, I actually do need it. Being able to print ABS on my Bambu A1 Mini just gives me one less excuse for hanging onto my Sovol SV06!