I have three devices in my bathroom: electric razor, trimmer for my beard and an electric toothbrush. Each of them comes with its own power brick and compete for a single 220v outlet. As a result I caught myself multiple times when at as one item of these is completely out of charge. Or, worse, the power bricks end up in a huge mess-o-wires you have to untangle. (like, the one you see on the left side of the photo below). And, since I deal with this in the morning when I’m in a rush to get myself out to work it’s even more annoying. At some moment I decided to fix that. I didn’t want to add more 220v outlets, since:
a). It’s quite difficult in that particular case
b). I didn’t want to keep all power bricks plugged all the time any way – I never really trust cheap power bricks and for a reason!
c). The total length of the wires gathering dust would re
d). I needed a shelf for these anyway 😉
Therefore, armed with a 3d-printer and aliexpress I decided to make it a bit different. The result you can see on the right half of the photo below. Build details follow.
Besides, if you liked this design, you can grab it on my thingiverse (link at the very bottom of this post).
Took about 40 minutes to make and voila, a led-o-blinker for the day we celebrated New Year at work. I used that glam PCB for android TV-sticks, an OpenWRT module and a little shitty code with Christmas magic inside.
This small tutorial will cover how to clone complex 2d parts with a flatbed scanner, inkscape and freecad. You may use this for any complex shapes that are too tough to measure using calipers. This technique can also be used to reverse-engineer complex PCB shapes to aid in creating custom enclosures. As a small example I’ll clone part of my archery fingertab.
If you are someone with a software engineering background getting your hands dirty with hardware design, first thing you’d want to use – some kind of testing framework/runner for all the tests you write. If you are using myhdl you’ll already use all the stuff python offers for unit-testing.
But if you are using more conventional tools for a bigger project with a bunch of third-party libraries, chances are you are not happy with shitty bash/csh tools and instead of wasting the precious minutes of your life writing those you’d want to use something existing. After all, why reinvent the wheel?
In this post I will describe the troubles of integrating verilog simulators with existing test runners. Namely – ctest (that comes from cmake).
In this small note I’ll tell you how to turn an old MediaTek SoC-based cellphone,(The one that’s probably gathering dust somewhere on your shelf, with no updates from vendor) into… a server running Debian Stretch! I’ve done this for UMI-X2 and iOcean X8 and you can download ready to flash firmware for these devices at the bottom of this post. Since a typical Chinese mtk cellphone now features 2GB or more RAM and 4 or more ARM cores the result packs way more performance than a typical Raspberry PI.
Just a little note about how includes and `defines work in verilog which is VERY different from how they behave in most programming languages. This may not really hurt in a small project, but can become a real PITA in a big project with a dozen of third-party blocks.
TL;DR: Macro defines are have a global scope in verilog and propagate from file to file during one tool invocation.
I decided to add a bunch of CCTV cameras to my 3d-printer. Apart from obvious reasons of remotely controlling the process (Just from your cellphone while you are running in the park in another city 😉 ), it also allows you to create awesome time-lapses of your prints.
All things come to an end at some point, so do uSD cards. And they tend to do that just about the time you normally LEAST expect them to.
Anyways, at my country house, away from the noise of the big city I had a cheap cellphone tethering internets over an OpenVPN connection. The operator does not offer proper external IP service, so I have to run an OpenVPN connection to have access to surveillance.
I have a bunch of cams here and there, mostly watching after these guys:
The cellphone itself runs a rooted android and a debian chroot with OpenVPN off an SD card. The SD card died this weekend and at some point I realised that I don’t have a recent backup. It was no big deal, just a debian rootfs + a bunch of config files for OpenVPN, but since I spent a while then and now perfecting configs and tuning OpenVPN for performance over the celluar network those weren’t backed up. Ooops.
Anyways, this note talks about data recovery from such an SD card and the common pitfalls.
One of the few things that was annoying about my new 3d-printer was the thing that it didn’t have a proper way to keep the wires away from XY carriages as well as any filament guides. So, I fixed it. Twice!