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!
To clean up the mess around my desk I made this nifty little instrument holder for all those hex wrenches and screwdrivers that I often use to service my 3d-printer. Made for P902, but should fit any other model with similar extruded aluminum frame.
I recently got myself a new toy, so to speak. It’s a brand new Flying Bear P902 3d printer. For it’s price (~300$) it’s an awesome machine and is way better made than my old 2nd gen Solidoodle. So I’ll be posting a series of hacks that I had to do to work comfortably with it and this is the first post in series, starting with this one.
It’s been a hell of a summer with loads of work at my dull dayjob so that I’ve almost forgotten about everything including this very blog. However once the hell cooled down a little bit I found myself with a few spare days and my usual itch to tinker for a little bit with something. It happened I also needed another linux single-board computer to do some dull geeky stuff. Instead of ordering one from aliexpress once again I dived into the junk and found this little dead piece of hardware:
It’s been a while since I’ve posted something really geeky here, so let’s fix it! Been busy lately making an Android TV stick baseboard you see on the pic below. A lot of build details are just under the cut.
When you’re assembling just one or two pieces of your homebrew electronic stuff you never think about how fast the process is. But then comes a moment when you need to assemble 10 or 15 pieces, and it’s still cheaper to do it at home. The process quickly becomes dull as hell, and the brain starts to think of all the ways to speed up the process.