I just turned 70, unbelievable I know. At this age and after retiring (which I did quite a while ago) it is important to keep your mind active otherwise it turns to Jello. So in addition to several other on going projects I have (continuing Robotics, Drones, and 3d Printing and CNC milling) I continue to Program for fun, even though that was my job for 40 odd years. The languages I use the most at…
I wrote the blog engine this blog is hosted on in 2009, that is 23 years ago as I write this. It was running a very old version of Ruby (1.8 as I recall) running on a very old version of Ubuntu server, and was ported to Rails3 from merb. It ran all that time, but finally started to show its age (as we all do!). I wanted to allow HTTPS access to my websites, but the version of Ubuntu and Apache…
Overview While I was doing the baremetal RP2350 Risc-V project, and my attempts to write peripheral drivers for my Mecrisp-Forth projects I spent a lot of time searching through the various document for the chips I was using. Mainly the RP2350 and STM32H7xx, whose documents are pretty extensive and it really is time consuming to find what you need. Then I came across this work by Terry Porter…
Ok so I got a new obsession (not bad for my age), Drones or Quad copters to be more precise. It fits in well with my 3d Printing obsession and my Robotics obsession. It started with me looking for a way to use the brushless motor and ESC I got off Amazon to play with. I stumbled upon an interesting design of a Monocopter , as it turns out a very advanced concept project of a Drone that uses a…
UPDATE I got a little carried away with this and ended up writing low level code to access nearly all the main peripherals on the RP2350, with examples of how to use them. All written in 100% Risc-v assembly code. Find all the code here My little project this week was to try to a get bare metal RISC-V assembler coded GPIO twiddler working on a pi pico2. (Actually PICO2-W) With little to no useful…
I have tried the various techniques for creating PCBs on a laser cutter (both a 3w led and K40 CO2). The issue was the paint would leave a residue on the PCB after being lasered, and removing it proved to be hard to impossible. Using the toothbrush approach it didn't touch it, and using IPA it took off the thinner traces too. So I came up with an alternative. Cover the PCB with blue painters tape,…
UPDATE the project is currently hosted on Github So I have been totally obsessed with 3D printing recently. After building a 3D printer from the Zentoolworks CNC framework (I actually got a 7x7 3D which they no longer sell), I decided to build a Delta 3D printer based on the Rostock and Kossel ideas. My Zentoolworks works great, but is very slow and is limited to about a 7"x7"X5" build area. The…
Having some time on my hands I have taken up several hobbies. One is 3D printing, and the other is restarting my robot hobby. The 3D printing is a whole other story , and I'll probably blog about my adventures in modifying and building a Delta printer soon. For the robot hobby I decided I'd try to build a self-balancing robot. They are all the rage and there is plenty of stuff on the Internet…
I really wanted to share this one as it is so cool. I have been writing some database GUI admin tools using Groovy and I use SwingBuilder to build the UI as it tends to be easier than using Swing directly. Inspired by the Eclipse Windows Builder ability to generate a JDialog from a bean, I figured that Groovy/Swingbuilder should be able to do the same thing dynamically. So sure enough here is my…
I decided to use Googles Protocol Buffers for a new server. I have been writing custom binary protocols for over 15 years for my various servers, as well as using XML and JSON on occasions. I prefer binary protocols as they tend to be lean and mean when it comes to bandwidth. Protocol Buffers are a very nice way of defining the wire level protocols you tend to send back and forth between client…