Jump to content

View table: Project

Table structure:

  1. shortDescription - Wikitext string
  2. longDescription - Wikitext
  3. geekery - Wikitext
  4. mainImage - File
  5. skillSet - List of Page, delimiter: ;
  6. projectType - List of Page, delimiter: ;
  7. northForge - Boolean
  8. randomChangeForce - Boolean

This table has 55 rows altogether.

Recreate data.

Page shortDescription longDescription geekery mainImage skillSet projectType northForge randomChangeForce
AC Port and Cover (edit)

Wall port to exhaust a room air conditioner through wall rather than through window, with cover for winter.

I needed a way to finish the inside of a hole through a wall that I had cut to vent a room air conditioner. Wasn't able to find anything in the store or online, so I 3D Modelled the part and 3D Printed it.

AC Port and Cover.jpg
3D Modelling 3D Printing Personal Project No
Bike Seat Cover (edit)

Custom-molded rain cover for Brooks leather saddle (or any other bike seat)

I Vacuum-formed styrene cover right over seat.

Bike Seat Cover.jpg
Vacuum Forming Personal Project Yes
Block Heater Plug Mount (edit)

A way to mount the block heater plug on the bumper

It gets pretty cold where I live, to cars have block heaters. It gets pretty cold where I live, so wresteling with stiff cold cables while wearing mittens is no fun. Usually the plug from the block heater just dangles out from under hood or bumper, and you need to wrangle both it and the extension cord to plug it in. Also, the plug swings around and scratches up your car.

I 3D Modelled a body for a standard replacement plug, 3D Printed it and replaced the plug on my car with this.

Block Heater Plug Mount.jpg
3D Modelling 3D Printing Personal Project Yes
Buffalo Stampede Display (edit)

Audio display

We set up the electronics for a display for St. Andrews Heritage Centre where the visitor presses a button to listen (and feel) what a herd of buffalo would sound like as they approach and pass by. We set up an MP3 board and connected it to an arcade button that was installed in the display panel.

The museum has a virtual tour of this display.

Buffalo Stampede Display.jpg
Electronics Interactive Display Museum Display No
Bungi Speaker Display (edit)

Audio display where visitor presses a button and listens to a recording in Bungi

The St. Andrews Heritage Centre asked us to o build the electronics for a display where the visitor would press a button to listen to someone speak in Bungi.

Squirrelslair.png
Electronics Interactive Display Museum Display No
Candle Cabinet Puzzle (edit)

Puzzle that unlatches a cabinet if LED candles being blown out in a specific order.

The operator of an escape room asked us to set up the electronics that would run a number of LED candles on a cabinet. If the candles were blown out in the correct order, the cabinet would unlock, and if they were blown out in the wrong order they would eventually re-ignite.

The customer supplied the LED lights and I carefully disassembled them and decided where best to tie into their existing setup to (a) detect whether they are still lit and (b) power them and turn them on and off as needed to reset the puzzle after a period of time. I programmed an Arduino to loop through a cycle of re-setting the candles to all on and wait for one to be blown out. If several or all were blown out in the right order, the arduino would cut power to a magnetic latch on the cabinet. If after a certain delay the puzzle was not solved, all the candles would be turned back on and the program would loop through again.

Squirrelslair.png
Arduino Electronics Reverse Engineering Interactive Display
Car Winter Front (edit)

Custom fit winter cover for the vents in a bumper.

My Suzuki SX4 didn't get very warm inside during really cold winter days, so I made a panel to cover the air intake. The car's front always looked like a face to me, so it got a smirk out of the deal, too.

I took a frontal picture of front of car, did a Shape Extraction, and added a smirk that fit the face of the car. The shape was too large to Laser cut, so I CNC Machined on the ShopBot out of a styrene sheet I had around, and added the smirk by Vinyl Cutting it and applying it to the sheet. It was attached with velcro to be able to remove it in the summer. The front lasted for several years; it eventually chipped a bit but was still installed when the car left.

Car Winter Front.jpg
CNC Machining Graphic Design Laser Cutting Vinyl Cutting Personal Project
CCMDB wiki (edit)

Critical Care and Medicine Database wiki

The Critical Care and Medicine Database wiki has been the centralized documentation for the Critical Care and Medicine Database since 2009.

We had initially requested a wordpress site from our IT department, but when we explained what we were trying to do they told us that Mediawiki is a much better fit for us.

Squirrelslair.png
Mediawiki Programming Mediawiki Project No
Clip-in foot stretchers (edit)

SPD standard clip-in foot stretchers for a rowing shell

Most racing shells for rowing have built in shoes to keep ones feet in place to control sliding the rolling seat back and forth during the stroke. The fact that they are built in is problematic for several reasons: one must do something with the other shoes one brings, the built in shoes are a large size to accommodate most people, and one usually risks stepping in the duck poop on the dock with ones socks getting in and out of the boat. Since I already have clip-in shoes for my bike, I wanted to use the same system for my rowing shell. I designed and built a mechanism that connects to the built-in foot stretcher mount, but instead mounts bike pedals that the shoes can clip into.

V0.2[edit source]

I cut ends of pedal arms and TIG welded them onto an assembly that fits the foot stretcher. This allows the use of SPD pedals or any other variety of clip-in pedal. Mounting the whole pedal by its built-in stem and bearings eliminates any unexpected forces against the clip-in mechanism. I have had this in my rowing shell since at least 2017 and it works well.

V0.1[edit source]

  • I used the guts from a Wellgo WPD-823 pedal and mounted them on a piece of aluminum. This bracket was mounted solidly, on contrast to a pedal that can rotate, which meant that a clip that was meant to not receive much torquing force was exposed to such force so it eventually broke.

Clip-in foot stretchers.jpg
3D Modelling Personal Project Prototyping and Integration
CNC Foot Stool (edit)

Tab joined foot stool

This is a foot stool I 3D Modelled and CNC Machined. It is a slot and tab/hook design where some of the slots are intentionally slightly misaligned so it holds together as a tension fit and doesn't require any glue to hold it together. This was one of my first projects at North Forge Fabrication Lab.

CNC Foot Stool.jpg
3D Modelling CNC Machining Woodworking Personal Project Yes
Critical Care and Medicine Database Set of MS Access programs (edit)

A set of MS Access programs for collection, data processing and data storage for a medical database.

The Critical Care and Medicine Database Set of MS Access programs is an example of how you can build a bridge with a Swiss army knife when that is the only tool you are allowed to use.

The Critical Care and Medicine Database has been around since 1989. It was originally stored in a DOS program. When that was no longer viable, work place politics meant that the only tool available to move it into was MS Access. Over the last 15 years this has turned into a set of collection tools, data processing tools, batch and VBS files to accomplish scheduled tasks and more. The system has about 20 users and is documented by the CCMDB wiki.

It's a complicated beast, but it runs reliably and continues to be used and updated regularly. I can't decide if I should be proud of it or embarrassed by it.

Squirrelslair.png
Programming Visual Basic for Applications(VBA) Office Automation No
Custom Acrylic Soap Rack (edit)

Soap rack custom fit to a sink

I wanted soap rack that fit properly on my bathroom sink to save space and look clean. I took an image of the sink with a reference item, did a Shape Extraction, graphic designed a rack that fits the space and laser cut it out of acrylic.

Custom Acrylic Soap Rack.jpg
Graphic Design Laser Cutting Shape Extraction Personal Project Yes
Custom Belt Buckles (edit)

Rowing themed custom belt buckles

A customer requested rowing-themed a belt with a custom belt buckle. Similar buckles could be designed for all sorts of other themes.

I created the model for the buckles in Fusion 360 and had them 3D printed in metal by an external company. I then made and attached a heavy leather belt to the buckles.

Custom Belt Buckles.jpg
3D Modelling Shape Extraction Featured Project Portfolio No
Custom Shampoo Rack (edit)

Custom stand to store shampoo bottles upside down.

I wanted stand for my shampoo bottles so I can stand them upside down (like the condiments at Burrito Splendito) so I don't have to wait for them to run to the top of the bottle. I also wanted to play with a laser cut tab and slot design in acrylic.

I 3D modelled the rack and then laser cut it. The rack has been in my shower for several years and the idea works. Some of the contents of the bottles actually separate a bit because they never change orientation, so this setup has a drawback, but not nearly enough so to give this up.

Squirrelslair.png
Laser Cutting Graphic Design Personal Project Yes
Dish Glove Rack (edit)

Pipe mounted dish glove rack

I hate the smell of dish gloves that got wet inside and didn't get a chance to dry because they were just thrown in that cupboard under the sink, where they also look messy.

I thought hanging them over the drain pipe might be better, but that's hard to get at and they are still flat so they still don't dry right.

So I built a rack that clamps on the horizontal drain pipe that is otherwise just in the way of everything under that sink. This has been installed and working under my sink for several years now.

Also see Instructable.

I 3D Modelled and 3D Printed the rack.

Dish Glove Rack.png
3D Modelling Personal Project Yes
Electric Outboard Conversion Gearbox Adapter Plate (edit)

Adapter plate for electric outboard conversion

A customer was updating an outboard motor from gas powered to electric. They wanted to re-use the old gearbox and propeller shaft, so they needed an adapter plate to top off the old bottom-end and mount the electric motor on top. We 3D scanned the top of the old motor, turned the point cloud into a parametric model using Geomagics DesignX re-engineering software. The customer then had the part milled based on the model.

Electric Outboard Conversion Gearbox Adapter Plate.jpg
3D Modelling 3D Scanning Reverse Engineering Prototyping and Integration
Emailer in MS Access VBA (edit)

MS Access program using VBA to automate mailing personalized reports to >1000 people

An organization uses LimeSurvey to request feedback about events attended. This stores data in a per-survey format. They wanted to automatically mail out attendance receipts to participants based on receiving such feedback.

I created an MS Access database that accesses this data, turns it into a per-participant format, populates a report and then emails it to each participant.

A draw back of this system is that it creates such a bolus of email from the account of the sender that some spam filters will flag it, but it works OK for internal emails.

Squirrelslair.png
Programming Visual Basic for Applications(VBA) Office Automation No
Entrance Rack (edit)

Rack for keys and mail with weather station

I had an old weatherstation, a burl from a friend's yard, and a need to keep track of my keys better. So, designed and built this rack for the spot near our back door. There is space to store some paperwork behind the burl board.

I built the back as a frame and panel. I sliced and bookmatched the burl. There is a front frame for the weather station components to make sure fresh air can get to the back of them. The rack is hung with a french cleat.

Entrance Rack.jpg
Woodworking Personal Project
Excell/VBA DOCSS Dialer (edit)

File that plays DTMF tones based on numeric entries in an Excel file.

Physicians in Manitoba use DOCSS to submit their billing. The system requires the user to dial in on a phone and press the right phone buttons to submit the info. The process is tedious. We created an Excel file using VBA to play DTMF phone sounds based on the contents of the excel file to automate the call-in process.

  • need file, zipped, to have all parts together.
  • Actioned 2021-10-31


  • Cargo


  • troubleshoot why this works over some phone lines but not others.
  • Actioned 2021-10-31


  • Cargo


Squirrelslair.png
Programming Visual Basic for Applications(VBA) Office Automation No
Floating Night Stands (edit)

Wall mounted floating nightstands

I made some floating nightstands that mount against the wall. Nothing to stub ones toes on at night that way.

I 3D modelled the design from scratch to see the proportions. They are built out of solid wood with mortise and tenon joinery, and each has a little Laser cut veneer inlay on it. There are retaining strips for a kleenex box so one doesn't have to fight with that when pulling one out in the dark with one hand.

Floating Night Stands.jpg
Woodworking Laser Cutting Personal Project No
Font for inside and outside CNCing (edit)

Font with minimum size for routing with a rotary bit.

I needed a font for projects like Integrity Joint that would allow routing both the letters and the surroundings in the smallest size possible for a given cutter. The limit is that the cutter has to fit both the insides (black part) of the letters, but also the outsides and islands of the letters. I could not find a font that is optimized for this, so I created a set of vector letters. You can download them at Media:CNC_alphabet.svg and use them, but please link back here if applicable.

The size of the letters is limited by having to fit the bit into each line and each island. So, a letter like "B" is the worst case scenario: it has three horizontal lines and two islands, so must be at least 5x the bit size and a tiny bit more. I started by creating the worst case letters and then added the others to look similar.

Font for inside and outside CNCing.png
Graphic Design Personal Project Yes
Hat band (edit)

Hat bands with a rower's sillhouette

I made did the Graphic Design for these. I then Laser Cut maple and walnut veneer and then laminated them up in an arced shape to make hat bands. It was a fun project and I learned a fair bit. I sold a few of these but decided that actually marketing things like these wasn't a career opportunity.

They are made out of three layers of veneer and strapped around the hat with latigo lace leather.

Hat band.jpg
Graphic Design Laser Cutting Woodworking Personal Project Yes
Integration of Espresso Maker Pod into Coffee Grinder Bucket (edit)

Adapter between coffee grinder and Espresso maker pod

I 3D modelled the bucket of a coffee grinder and changed it so it would accept an espresso maker's pod as a receptacle.I 3D scanned the existing pod, post-processed the resulting point cloud, created a parametric model via Reverse Engineering software Geomagics DesignX, changed the model to make a mating port for the espresso maker pod, and 3D printed the resulting file.

Integration of Espresso Maker Pod into Coffee Grinder Bucket.jpg
3D Modelling 3D Printing 3D Scanning Reverse Engineering Personal Project Prototyping and Integration Yes
Integrity Joint (edit)

Through tenons for a joint that spell out words

I thought it would be interesting to have through tenons for a joint that spell out words. To CNC these parts, I needed to optimize the shapes that a router bit would be able to cut for the tenons and the mortises, so I created a Font for inside and outside CNCing. I routed some example pieces on the ShopBot, but since the tenon needs to be machined on the end face of a board, and the ShopBot has a limited z-axis height, the parts that could be made with this would be very limited. In the end I left it as a concept piece.

Integrity Joint.jpg
CNC Machining Graphic Design Personal Project Yes
Internal Medicine wiki (edit)

Wiki to document administrative processes for the Department of Internal Medicine at the University of Manitoba

We have set up the Wiki to document administrative processes for the Department of Internal Medicine at the University of Manitoba.

It contains a mix of structured and unstructured data. The structured data is stored in both Mediawiki Extension Cargo and Mediawiki Extension Semantic Mediawiki.

One of the features of this wiki is a role based documentation that both documents the duties contained in that role, but also information required to set up an employee new to these roles, e.g. training required or file shares or software that need to be set up. Most employees have more than one role; once roles are assigned, the empolyee's personal page will automatically list both onboarding information for the HR team and links to SOPs for the new employee in one place.

Squirrelslair.png
Mediawiki Programming Mediawiki Project No
Internal:Rowing Machine Masters Thesis (edit)

Sensors and a computer connected to a rowing ergometer to interpret technique and provide improvement suggestions

When I did my Masters of Mechatronics I wanted to do a rowing related project. I was lucky enough to find two co-advisors from Mechatronics and Psychology to supervise this project. I connected pressure sensors on each foot rack, measured the speed of the chain and the seat and the angle of the chain. This information was sent through a proprietary digital and analog to USB converter that came with its own graphical development environment. I programmed a system that would provide feedback if the foot pressure was not equal or the sequencing of the stroke was off, or if the chain angle (translating to hand levels) didn't move in a line.

I don't recall too many details, this was in 2001/2, but am hoping to find some files or photos.

Squirrelslair.png
Electronics Programming Personal Project No
Mouse Thigh Bone Holder (edit)

Positioner sleeve for mouse thigh bone marrow extraction

A researcher from the University of Manitoba approached us to find an easier way to prep lab specimens. They needed to extract the marrow from a large number of mouse femurs. This required securing the mouse bone in a standing position in a centrifuge.

We 3D modelled a sleeve to fit into standard centrifuge Eppendorf tubes that can be easily and cheaply 3D printed for prototyping.

Mouse Thigh Bone Holder.jpg
3D Modelling 3D Printing Featured Project Portfolio Yes
Oar Rack (edit)

Oar rack

This is a storage rack for oars I designed and built. There is very little space at the club so this mounts in the small spot between sliding doors then is much wider toward the inside of the doors. When the doors open they slide behind the rack.

Oar Rack.jpg
Woodworking 3D Modelling Personal Project No
Offline Museum Kiosk With MediaWiki and Raspberry Pi (edit)

MediaWiki kiosk running on a Raspberry Pi 4B

We set up and did the initial data import and collection creation for a MediaWiki-based standalone (offline) kiosk for the Charleswood Historical Society. They wanted a small, reliable, and performant kiosk that was not prohibitively expensive and had capacity to add more information (including the potential for audio and video) in the future.

The kiosk is built around a Raspberry Pi 4B (8GB) running the 64-bit version of Raspberry Pi OS (Bookworm).

Storage is a 500GB Samsung EVO 870 SSD, connected via StarTech USB312SAT3CB USB-SATA adapter.

Since there is no network connection, we installed a DS3231 RTC to keep track of time.

We designed and made a custom enclosure for this project with 3D-printed PETG end caps and cutout cover panel, and laser-cut birch plywood panels.

Initial wiki setup, collaboration, and training was done with a web hosted wiki. Once the wiki was populated and looked as desired, it was backed up from the web host and restored to the offline Pi wiki.

Offline Museum Kiosk With MediaWiki and Raspberry Pi.jpg
3D Modelling 3D Printing Making Raspberry Pi Mediawiki Laser Cutting Mediawiki Project Interactive Display Featured Project Yes
Orkadian Book Reading Display (edit)

Audiovisual display of a children's book being read in Orkadian.

We set up a display for St. Andrews Heritage Centre that reads out the children's book "The Orkney Gruffalo" in Orkadian while displaying the images from the book. We set up a Raspberry Pi with a display and an arcade button, so that when the button is pressed a video of someone reading the book would be played.

The museum has a virtual tour of this display.

Orkadian Book Reading Display.jpg
Electronics Raspberry Pi Interactive Display Museum Display Featured Project No
Radio Display (edit)

Museum audio display that plays a short recording.

The display is a wooden box that sits on top of an antique radio. It has a button, and when the button is pressed a short recording of an old radio broadcast for a hockey game is played.

The electronics are enclosed in a birch plywood box, with power and speaker leads running out the back of the box and then down behind the radio so they are not easily visible.

There is a single button that is accessible by visitors, it is connected to a Raspberry Pi Pico microcontroller, which monitors the button and when a button press is detected, it selects a random track (based on the number of tracks on the SD card) and then sends serial commands to a DFPlayer Mini board to begin playing.

The DFPlayer Mini board's output is connected to a 3W paper speaker that has been put inside the radio to make it appear that the sound is coming from inside the old radio chassis.

Radio Display.jpg
3D Modelling 3D Printing Electronics Programming Woodworking Museum Display No
Range Lights Interactive Museum Display (edit)

A display where a ship's wheel controls a virtual ship on a screen to demonstrate how Range Lights work

The Selkirk Marine Museum asked us to set up a display about Range Lights, maritime navigation aids that help a vessel stay in a channel. We set up an Interactive Display that uses an Ship's Wheel , which lets the user control a display created in Pygame on a Raspberry Pi that simulates steering a ship to bring it in line with a set of range lights.

We provided the Ship's wheel keyboard emulator. We generated the graphics for the islands, rudder indicator and messages, and designed and rendered the background wave video components for the game. We programmed the actual game in python and pygame. We set up the Raspberry Pi to boot to an update sequence that would read any required updates from a USB stick and then starts the game.

Range Lights Interactive Museum Display.jpg
3D Modelling 3D Printing Arduino Electronics Graphic Design Making Programming Python Raspberry Pi Featured Project Interactive Display Museum Display No
Reaction Speed Sensor (edit)

Gadget that measures how quickly the user responds to a cue and moves an accelleration sensor.

I built a gadget that gives the user a cue on an LCD screen and then measure the time between the cue and when an acceleration sensor is moved, plus how quickly it accelerates.

I built the electronics using an Arduino and programmed it to provide the cue, detect when sufficient acceleration has happened to consider the sensor moved, and display the delay and amount of acceleration. I designed and laser cut the case.

Squirrelslair.png
Arduino Programming Graphic Design Laser Cutting Electronics Personal Project Yes
Red River Cart Wheel Squeak Display (edit)

Museum display that plays sound when a wooden wheel is turned.

The St. Andrews Heritage Centre asked us to build the electronics for a display where the visitor would be able to listen to the awful noise the ungreased wheels of a Red River Cart would make as they turn.

To make it a bit more interesting, the noise would be triggered by turning a model wheel mounted to the physical display, as supplied by the museum. We set up a hall sensor circuit to detect the wheel turning, and an Arduino to detect the hall sensor signal and use this as a signal to start playing a the squeaky wheel sound on an MP3 player.

During the initial discussions about this display we also built the prototype of a wooden, analog foley device to make wooden squeaks. The museum ended up building one of these as well for the display.

The museum has a virtual tour of this display.

Red River Cart Wheel Squeak Display.jpg
Electronics Interactive Display Museum Display No
Remote, off-grid monitoring and automation (edit)

Remote, off-grid monitoring and automation

A cottage owner has been having trouble with people breaking into his remote, off-grid cabin while he is away. To make matters worse, the trail cameras that he set up to capture images of the thieves are found and stolen as well. This project's goals are to provide a low-cost solution that is both resilient and functional.

The system is built primarily around the ESP32-CAM variant of the Espressif ESP32 microcontroller, which are inexpensive yet quite capable for this purpose. There are several roles for the microcontrollers based on their location and available power:

  • A dormant camera that "wakes up" when triggered, like a trail camera
  • An always active camera that continuously records to an SD card, like a dash camera
  • A microcrontroller that doesn't have a camera but monitors an area and triggers other cameras that do

We are also creating several kinds of enclosures for these devices as well as building them into other objects like logs. Other enclosures are very inexpensive "dummy" enclosures that are meant to deter and distract from the actual enclosures that contain electronics.

While there is no mains power, the site has ample 12V power available at the cottage. Unfortunately, there is no power outside the building itself. Small 1-2W solar panels and lead-acid batteries are being used to power devices at remote locations, and for high-value enclosed locations (i.e. inside a locked shed), lithium batteries will be used to reliably power cameras if they are disturbed.

Squirrelslair.png
Electronics 3D Printing 3D Modelling Portfolio
Rubber mat replacement for antique car (edit)

Rubber mat replacement for antique car

An antique car collector wanted to replace the rubber mats on the running boards of his car and asked us to help make a mold for this. He provided an original of the mats. We then created a 2D Graphic Design required to make tool paths for CNC Machining. We then made a negative mold of the mat on the ShopBot out of acrylic.

I forgot to take any pictures of the finished mold, hence the toolpath only in the image box.

Rubber mat replacement for antique car.jpg
3D Modelling CNC Machining Personal Project Yes
Sandblasted Salt Jar (edit)

Recycled jar labelled by Masked Sandblasting using vinyl mask.

Recycled jar labelled with Masked Sandblasting using vinyl mask.

Sandblasted Salt Jar.jpg
Graphic Design Masked Sandblasting Sandblasting Vinyl Cutting Personal Project Yes
Sandblasted Wood (edit)

Wood with grain exposed through Masked Sandblasting

Sandblasted wood brings out the grain structure. This works really well in very soft wood like cedar. The effect becomes even more interesting when used as Masked Sandblasting.

Sandblasted Wood.jpg
Masked Sandblasting Sandblasting Vinyl Cutting Personal Project Yes
Saw sharpening file holder (edit)

A guide to help maintain the angle of a triangular file when sharpening saws.

This is a guide to help maintain the angle of a triangular file when sharpening saws. It's based on Lee Valley's tool, which is no doubt much nicer, but also quite expensive. The holder was 3D Modelled in Fusion 360 based on visual of the tool and then 3D Printed.

Saw sharpening file holder.jpg
3D Modelling 3D Printing Personal Project Yes
Seasonal Cycle of the Metis Museum Display (edit)

Museum display that turns choosing potential activities during the Metis year into an interactive puzzle

We set up a display for St. Andrews Heritage Centre that demonstrates how the early Metis community in Manitoba had to choose between more traditional activities and the ones desired by the developing settler communities. These activities were sometimes overlapping in time and distant in location, and so incompatible with each other. We set up an Interactive Display with arcade buttons to let a museum visitor choose a collection of activities. If the visitor chooses activities that are incompatible, the display would flag this and explain the reasons. While no one is using the display it would just display photos from the era.

The interactive display uses Pygame on a Raspberry Pi to receive input from the buttons and display to a computer screen.

The museum has a virtual tour of this display.

Seasonal Cycle of the Metis Museum Display.jpg
Electronics Programming Python Raspberry Pi Interactive Display Museum Display No
Self-answering Phone (edit)

Rotary dial phone that pays sound files

The operator of an escape room asked us to update an old rotary phone so it would play a message if the right number was dialed, and a busy signal if the wrong number was dialed.

This could be adapted as an audio tour guide for a museum

We gutted the phone case of unneeded components, determined how to get a signal of the rotary dial and installed electronics for an arduino to read this signal. We replaced the speaker in the headset with one that is headphone compatible. We installed an MP3 player that would play either a dial tone, busy signal, or the message, based on signals from the Arduino. We programmed the software to run a dial tone when the receiver is lifted, interpret the signal to a number dialed, and to play the message or the busy signal based on the number dialed.

The MP3 board didn't initially have all the functionality I wanted broken out to the driver, so I updated it and contributed it back to its github repository.

Self-answering Phone.jpg
Arduino Electronics Programming Featured Project Interactive Display No
Selkirk Marine Museum Piano (edit)

Museum display that will play audio when it detects the presence of visitors.

The project sits on top of a piano in the museum as part of a bigger display on music during the travels of the ship. When it detects the presence of visitors it plays some music.

We initially planned on housing the electronics right inside the piano, without making alterations to it to sense visitor presence or for the sound to get out. So, we used an integrated microwave doppler board (an RCWL-0516) to detect movement, and a surface mount speaker to play the music. This means the entire interaction with the museum environment can be hidden inside a display case completely. A Raspberry Pi Pico monitors the RCWL-0516 and when movement is detected, it chooses a random track and sends serial commands to the DFPlayer Mini to start playing. Additional triggers while playing do not have any effect.

The RCWL-0516 is more sensitive in when facing certain directions so it is mounted on a small mast that allows it to be turned 360 degrees for a simple way to adjust sensitivity.

It was then decided that we would use a separate display after all, so we built the case out of baltic birch plywood. This worked even better for the surface mount speaker and made no difference to the electronics.

The device is powered by a 5VDC supply.

Selkirk Marine Museum Piano.jpg
3D Modelling 3D Printing Electronics Programming Woodworking Museum Display No
Ship's wheel keyboard emulator (edit)

Mechanism and electronics to turn a ship's wheel's motions into USB keyboard key strokes for the Range Lights Interactive Museum Display

This ship's wheel is an independent component of the Range Lights Interactive Museum Display for the Selkirk Marine Museum. When the wheel is turned it generates "R" or "L" key strokes.

A similar setup could be used to turn other wheel, handle or general physical object movements into keystrokes to input into a computer or simulator.

We designed, 3d printed and integrated the hall sensors into the wheel. We build the electronic circuit to connect the sensors to the Arduino. We also provided the electronics and programming for the Arduino to measure the wheel movement via quadrature encoding.

File:Ship&
Ship's wheel keyboard emulator.jpg
3D Modelling 3D Printing Arduino Electronics Making Programming Interactive Display Museum Display No
Soft Shackle Microleash (edit)

Soft Shackle Microleash

I wanted a collar for my medium size dog that had enough of a stub end to work as a leash, so that she can keep it on at the off-leash dog park without, I don't have to carry it and yet still meet the requirement of having a leash along. I have started to use it also at other times when I want to have some extra control without the inconvenience of a leash.

I made a soft shackle that I can just slide open to slip over the head, and that then slides back shut.

Here is what it looks like with the leashy end scrunched up:

I finished off the loose end with some heat shrink tubing that I wrote our phone number on before I shrunk it for some cleanly written fine print I could not have written that small.

Soft Shackle Microleash.jpg
Making Personal Project No
Squirrelslair wiki (edit)

This wiki

This wiki is both a content management system for our protfolio, but also a demonstration of some of the solutions that can be built in a wiki.

The wiki has a front facing portion, and an internal side for shop notes and unfinished projects that should be of no interest to anyone but us. The internal portion is made to be accessible while logged in only via Mediawiki Extension Lockdown.

The Mediawiki Extension Cargo is used to store some parts of the site as structured data so it can be re-used elsewhere. All the projects are stored in the Project Table using Template:Project, which encodes the data in a way that allows other pages like Project Types to list them. When a project is added or edited, the other pages update automatically.

Mediawiki uses a markup language that can be a bit confusing, so Mediawiki Extension PageForms is used to facilitate editing of the project pages in Form:Project. Only logged-in users can edit the pages, but any viewer can see what the form looks like, e.g. follow this link for the form for this page.

Squirrelslair.png
Mediawiki Programming Mediawiki Project No
Stained Glass Backlighting Display (edit)

Battery operated display that uses a rope pull to turn on an audio file and LED backlighting.

The St. Andrews Heritage Centre wanted a battery operated display for a stained glass panel that would fade on lights and play church bells when a rope is pulled. The light then dims back down and the church bells end after a period.

We set up the mechanism to pull the rope to trigger a hall sensor, which is read by an Arduino. The Arduino then provides a PWM signal to an LED driver to fade on a string of LEDs, and starts to play an MP3 file of the church bells. The display is powered by a USB battery pack which

Stained Glass Backlighting Display.jpg
Arduino Electronics Interactive Display Museum Display No
Steam Whistle Display (edit)

Display where a user pulls a handle on a rope and one random sound is played

The Selkirk Marine Museum asked us to build the electronics for a display where the visitor would pull a rope, and one of four steam whistle signals would randomly play. The physical part of the display would then help the visitor to understand what the whistle signal meant.

We set up the mechanism to pull the rope to trigger a switch and programmed and installed the electronics to play the sound.

Steam Whistle Display.jpg
Electronics Making Programming Featured Project Interactive Display Museum Display Yes
Structuring of Data on an Existing Mediawiki using AutoWikiBrowser (edit)

Conversion of a losely structured Mediawiki to a more highly structured format using facilitated editing

When we first set up CCMDB wiki we were not aware of Mediawiki's ability to handle structured data. So, we set up templates to format data, but didn't enforce the use of these templates strongly. When we decided to move the wiki to a more structured format to facilitate the use of Mediawiki Extension Semantic Mediawiki and Mediawiki Extension Cargo, we needed to go over hundreds of pages that had almost the right info, but not quite.

We used AutoWikiBrowser, which is a desktop based software that pre-loads wiki pages (saving ~5-20s per edit) based on a filter and then facilitates or automates the editing of those pages based on rules. We used it to standardize the use of templates that had changed over time to the format needed to generate the structured data used in the new extensions.

Squirrelslair.png
Mediawiki Office Automation Programming Mediawiki Project No
Thomas Bunn House Telephone Interaction (edit)

This display is an antique telephone (late 1890s-early part of 20th century) that was provided by the Thomas Bunn House. Their request was to have it play an audio file through the earpiece when the earpiece was lifted and the crank was run.

The speaker in the earpiece was in excellent shape. As a result, we were able to build place a Hall sensor, some magnets, and use the existing switches without damaging or removing any of the existing equipment inside the box.


This display is an antique telephone (late 1890s-early part of 20th century) that was provided by the Thomas Bunn House. Their request was to have it play an audio file through the earpiece when the earpiece was lifted and the crank was run.

How we did it[edit source]

The speaker in the earpiece was in excellent shape. As a result, we were able to build place a Hall sensor, some magnets, and use the existing switches without damaging or removing any of the existing equipment inside the box.

A set of alligator clips is connected to points on the receiver switch to indicate to an RP2040-based microcontroller whether the earpiece was off the hook. When the hand crank is run, a magnet held between the spokes of one of the crank gears moves past a Hall-effect sensor, which creates a small, changing voltage. The microcontroller reads an analog-to-digital converter (ADC) that is connected to the output of the Hall sensor, and, if the value exceeds a threshold enough times, it triggers an MP3 audio board (DFPlayer Mini) to play a random track from the micro-SD card that the user can hear in the earpiece.

Once the audio finishes playing, it goes silent and waits for the next off-hook and crank-detect events. If the earpiece is hung up before the audio finishes playing, the audio is stopped and the device goes idle, waiting for the off-hook/crank-detect events.

A 10Ω, 10W resistor was placed across the crank terminals to shunt any crank energy away from terminals that the user may come into contact with, convert that crank energy to heat, drain any residual charge, and provide some resistance to cranking.

LED indicators in the electronics enclosure will blink status messages in the event that there is a problem; a sheet showing the codes was printed in a similar style to the original schematic sheet and taped over it.

All programming was done using MicroPython.

?'"`UNIQ--gallery-00000008-QINU`"'?

Thomas Bunn House Telephone Interaction.jpg
Raspberry Pi 3D Printing Python 3D Modelling Electronics Interactive Display Museum Display No
Training Materials for Rowing Umpires (edit)

Tabletop training kit for rowing umpires

Rowing Canada Aviron contracted us to design and produce a tabletop training exercise kit to use in the training of all rowing umpires in Canada. We produced about 20 of these over the course of 2 cycles over 5 years.

We set up durable tabletop maps for a classic 2000m rowing course and for coastal rowing that is run more like a sailing regatta, and a kit of acrylic scenario markers to simulate scenarios an umpire might encounter during a regatta.

We provided the Graphic Design for the maps and the scenario markers . We produced the maps by Vinyl Cutting shapes that we then applied to durable sign backing. We laser cut the scenario markers out of acrylic.

Training Materials for Rowing Umpires.jpg
Graphic Design Laser Cutting Vinyl Cutting Featured Project Interactive Display Yes
Wake Lamp (edit)

Ceiling lamp based on what a resting rowing shell would look like from under water.

I reviewed videos and photos to understand what this would actually look like. Then I 3D modelled the belly of a rowing shell and the blades of some oars and 3D printed them. I Laser cut (or rather engraved) the shapes of the waves around the shell and the oars out of a sheet of translucent acrylic. I glued the 3d printed parts on the bottom of the acrylic sheet. Then I built the body of the lamp, and installed RGB LEDs against a randomly reflective background out of crushed up aluminum foil. I then programmed an Arduino to create the appearance of the change of colour and flickering under water in the LEDs.

Wake Lamp.jpg
3D Modelling 3D Printing Arduino Laser Cutting Shape Extraction Personal Project
Wiki Tape Measure Gadget (edit)

A tape measure that changes how far it is unrolled based on a value on a mediawiki page.

This was mostly built as a curiosity, and a study on how to combine mediawiki with physical computing, which could tie into physical Office Automation.

A tape measure rigged up with a Raspberry Pi using Python and a servo, which scrapes a specific mediawiki page for a number and rolls out the tape to that number.

Squirrelslair.png
3D Modelling 3D Printing Electronics Mediawiki Programming Python Raspberry Pi Mediawiki Project
Winnipeg Skyline (edit)

Vector graphic of the winnipeg skyline

Extracted this from various google street views from different locations.

Winnipeg Skyline.jpg
Graphic Design Shape Extraction Vinyl Cutting Personal Project Yes
Wood for Glass Art by Jolanta (edit)

Cut in a piece of wood to precisely match a piece of glass artwork.

An artist asked me to cut a pocket into a piece of wood to perfectly fit a piece of glass art she had created. I took a picture of the glass, did a Shape Extraction, did the Graphic Design of the required pocket and routed the shape on the ShopBot. Here is a link to the piece of art.

Wood for Glass Art by Jolanta.jpg
CNC Machining Shape Extraction Prototyping and Integration Yes
Woodworking Plane Rack (edit)

A mobile cabinet to store and transport my woodworking hand planes.

I like to use hand planes for Woodworking. I have a few of them. They rust fairly easily, so they can't live in my garage. I also damaged some of them when they have dropped off my bench during a project because they didn't really have proper place. So, wanted a rack that I can easily move in and out of the house, hang on a French cleat while it's inside, and stand up on the floor or the bench when I am using it.

I built this out of reclaimed wood from an old bed frame and some scraps of hardwood I had around for the brackets that hold in the planes. The frame uses dovetail joints. The finish is boiled linseed oil.

Woodworking Plane Rack.jpg
Woodworking Personal Project