I've been using my iPad Pro as my daily driver at home for a bit. It's a great little computer and I find that it covers many of my needs. But one area where it doesn't quite match what I do is hardware hacking. The iPad doesn't really have the right hardware or software for working with stuff like Arduinos and other microcontrollers. But I've worked around that to that I can still do a lot of my coding on the iPad, while still being able to work with hardware.
I ran into some issues getting AVRDUDE and Arduino IDE working with my Raspberry Pis running Raspbian.
This is the canonical place to get the GNU GCC toolchain for ARM Embedded. For detailed info, see https://developer.arm.com/open-source/gnu-toolchain. Installers for Windows, Linux 64 bit and MacOS 64 bit, plus a source tarball.
https://developer.arm.com/open-source/gnu-toolchain/gnu-rm/downloads (this page has been deprecated, but is still available and has older versions)
https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain (newer page)
I like to keep my Internet traffic secure and private when I'm on the road or at home, and I want to be able to connect to servers in my private network.
I do use a commerial VPN provider, but of course there's flaw: I have to trust them, as all of my traffic goes through their tunnel. I generally am OK with this. In general, a commercial VPN provider's interest is to keep user data private and unlogged, though there have been exceptions (looking at you, Facebook).
There are good reasons to run my own VPN, including as a way to connect back to resources in my private network. I can and do use SSH for some things, but sometimes it's nice to be able to work remotely as is if I'm within my own network. And that's where a VPN can come in handy.
Running a VPN can be hard to do. Fortunately, there are some tools that can make it easier.
I'm looking at building up some Bluetooth LE programming expertise on Linux, specifically for use with Raspberry Pi 3 B+ and Pi Zero W models.
This is a compendium of libraries and tools that I'm looking at to build that skill on.
On the Raspberry Pi Zero W, a user must be a member of the bluetooth group to work with tools like bluetoothctl. Set this up with:
There are several ways that you can set up Node.js on a Raspberry Pi when running Raspbian/Rapberry Pi OS. Depending on your needs, the version of the RPi that you're using, and how you like to manage installs, you have a lot of options.
Node.js was an early entrant to the Javascript runtime and I think it's still the most widely used. But it's not the only runtime out there these days. Some of the alternatives might be better choices for your Raspberry Pi setup.
The two other Javascript runtimes I've used are deno and bun. Both are newer than Node.js and have incorporated a modern features nicely, like built-in support for Typescript. They also have a more compact install, since they bundle everything into a single CLI executable.
This PlatformIO custom board definition was created to include a default set of fuse values for the ATTiny85. It's derived from the standard ATTiny85 board definition. It originally came from troubleshooting some issues with setting fuses on Atmel AVR targets in PlatformIO.
The reason I created this board definition was to be able to use the pio run -t fuses command at default to set an ATTiny85 to run at 8mHz (rather than the default of 1mHz). This is helpful, because I've got a bunch of bare chips (rather than an breakout or dev board like the Adafruit Trinket).
The fuse settings are:
| fuse | value |
|---|
- Designing Together, Dan Brown
- Superintelligence, Nick Bostrom
- About Face, 4th Ed, Alan Cooper et al
- The Trusted Advisor, David Maister
- Practical Empathy, Indi Young