Psion Nostalgia



It seems that my Psion collection has been taking most of my attention. I’ve been testing some CF, SD, and microSD cards in my Psion 5mx and Ericsson MC 218. I also came across Kian Ryan’s Sidecar for Psion devices to connect them to the internet.

I had a similar idea to Kian’s Sidecar project but instead of an RS232 connection, I was thinking of an IrDA connection. I’ve purchased the items to build Kian’s Sidecar and plan to make one once all the parts arrive. Once I get that working, I plan to design and build an IrDA version. If all goes well, I plan to sharing it with the community. I think that an IrDA version would be much nicer as it would not require carrying a serial cable.

I’ve also purchased some 2GB CF, SD, and microSD cards as well as adapters so I could test them in my Psion 5mx and Ericsson MC 218. At first they seemed to not work, then I came across a video from Handheld Computing titled, “Formatting and Partitioning Compact Flash Cards for Psion“. The video is a bit too quick in key parts but slowing the video down and pausing it in key areas led me to a solution to get the cards working on the Psion devices.

Steps to format CF, SD, or microSD cards to work in a Psion PDA. Below are a few key takeaways of what needs to be done.

  • No partitions over 2GB
  • Format using FAT 16, not FAT32
  • Max cluster size is 32 KB
  • There must be some unallocated space on the disk. 1 MB is enough.

Below are some steps using Microsoft Windows and Mini Tools Partition Wizard software.

  • If you have not downloaded and installed Mini Tools Partition Wizard or similar tool, install the software first. Mini Tools Partition Wizard is free and available at
  • Launch the partitioning software, accept the Windows User Account Control prompt, then locate the flash card in the list of drives.
Screen capture of Mini Tool Partition Wizard
  • Right-click on the drive and select “Delete” from the context menu
Screen capture of Mini Tool Partition Wizard
  • Click the “Apply” button to make the changes
Screen capture of Mini Tool Partition Wizard
  • Right-click on the drive and select “Create” from the context menu or click “Create Partition” in the left side panel
Screen capture of Mini Tool Partition Wizard
  • Edit the following items
    • Make certain that the “Partition Align to” is set to MB
    • File System: FAT
    • Cluster Size 32 KB
    • Reduce the Partition Size by 1 MB so that Unallocated Space After is 1 MB
    • Optionally, set the Partition Label
  • Once the values have been changed, click the “OK” button
Screen capture of Mini Tool Partition Wizard
  • Click the “Apply” button to apply the changes
Screen capture of Mini Tool Partition Wizard
  • Close the software and insert the card into the Psion. If using a SD or microSD card, you will need to use a CF adapter.
  • The Psion should recognize the card.

If you see “Disk not present” or “Corrupt”, it is possible that the card will not be usable in the Psion. If you are using a SD or microSD card, it may be worth trying a different adapter. The good news is that every card I tested worked just fine after following the above process.

I did have an issue with a microSD to CF adapter but I was not surprised as it has a WiFi module in it. Most likely it was pulling more power than the Psion could deliver, which made it unusable. I had anticipated that but wanted to give it a try.

Below is a table showing the cards that I tried and a note if they worked or not. The cards names link to the Amazon product page.

Lerdisk microSD2GBmicroSDWorking
QUMOX CF Adapter Reader for SDAdapterWorking
QUMOX Memory Card Adapter for Micro SDAdapterNot working
SanDisk microSD2GBmicroSDWorking
Transcend CF2GBCFWorking
Verbatim CF2GBCFWorking


Dual Volt Amp Meter

Photo of the finished Dual Channel Voltage and Current Monitor reading two USB voltages and loads
Photo of the finished Dual Channel Voltage and Current Monitor reading two USB voltages and loads


This writeup is from the GitHub pages for the VoltsAmpsLogger project and from the project page. The code is in the VoltsAmpsLogger GitHub Code Repository

The Dual Channel Voltage and Current Monitor project was created as I needed a way to look at the voltage and current going into an Adafruit Powerboost 1000c module and through the soft switch circuit that I built from Mosaic Industries Raspberry Pi ON/OFF Power Controller. I wanted to be able to monitor the voltage and current coming out of the controller and going into the Raspberry Pi.

The project is based on the Adafruit INA219 High Side DC Current Sensor Breakout and a Raspberry Pi Pico. The Raspberry Pi Pico is a bit overkill for this project, but I have a few on hand so that is what I choose to use.

Hardware Build

Parts List

Next Steps/Going Further

The data transfer rate is extremely slow. It is good enough for what is being done here but it would be nice to capture more data points over the same period. Right now, the rate is about one set of measurements per minute. (It takes about 1.2 seconds to send one set of measurements.) One way to speed this up would be to move away from JSON and sending tab delimited data. I may create another version of the Raspberry Pi Pico and Windows software to send delimited data and see if there is an improvement. I would expect to get 4 to 5 times as many measurements in the same amount of time. It still is not very fast, but it would be an improvement.


External Project Pages


Accessibility Advocate

The past few weeks, I have been primary focused on preparing a submission for a workshop for the Agile2023 Conference. The purpose of the workshop is to get folks thinking about incorporating accessibility into software development early in the development process rather than waiting until the end or if someone files a complaint.

Most of the time, accessibility and compliance with ADA Section 508, is seen as a hindrance to getting development projects done on time or as a nice to have item. We need to get out of this mindset and challenge others who think this way.

One thing that I had heard elsewhere is that ‘we are all only temporarily fully enabled’. We will all face a disability challenge at some point in our life. As we age, our eyesight, hearing, response times, etc. start to diminish. Accidents and illnesses can happen at anytime and may result in one or more disabilities as a result.

If someone has a hard time thinking it is important to help others who are having challenges with technology, then have them think of themselves in 5, 10, 15, or 20 years from now. If they won’t do it for others, perhaps they will do it for themselves.

I propose that people should become the Accessibility Advocate on their team by speaking up when they see accessibility is not being addressed. Recommend performing accessibility testing, even there is no one or no budget available to bring to the team to do the testing. There are some tools that team members can utilize to perform some quick tests to identify areas that need more attention.

I’m not an accessibility expert but I’m an Accessibility Advocate for my project teams. It is a role that anyone can take on and is not as scarry or challenging as one may think.

Below is a list of some helpful information and resources. I hope you are interested in becoming an Accessibility Advocate on your project teams. Lease a comment if you find this interesting and would like more posts on accessibility.


A bit of background of why I’m interested in accessibility

Admittedly, I do not have day to day contact with anyone who has challenges with technology but throughout my life, I have encountered a few folks that gave me pause to think about it. I was also working in industry when it started to become a real concern in the early 2000’s. I also worked on one project that was very concerned with ADA Section 508. My work on that project was one of the most challenging and most rewarding work that I’ve done.

My first encounter that I recall with someone with an accessibility challenge was a lady that I worked with who was having a problem with her monitor and asked if I could help her. She had a very large CRT at the time, I believe it was 21″ or 24″. I had not seen one that huge at the time (~1997). She had the resolution set to 640×480, which I felt was a waste for such a large monitor. I asked her if she would like me to increase the resolution so she had more area to work with. She said, no, if I did, she would not be able to see a thing.

Since that time, I had the opportunity to work with another individual who was loosing their eyesight and had special software to enlarge areas of the screen and other equipment such as a document camera so they could read printed text. I also worked with an individual who was deaf and required an interpreter during meetings.

When you see how some folks work with technology, when they have a disability, it does give one pause to think, how can their experience be better.

The one project that put accessibility front and center was one that required a video player that was fully accessible. I believe it was around 2008 and flash player was still the standard for incorporating video on web pages. Flash Player was not at all ADA Section 508 competent. I had attempted various things to make a video player compliant but could never get it to pass by the accessibility testers on the team. I finally found some work that was done by a professor at a university. I believe it was Ohio University but I may be mistaken. He had an open source video player that used an HTML wrapper and some JavaScript to interact with the flash player. It was claimed it was ADA Section 508 compliant so I gave it a try but the accessibility testers still found faults with it. I was able to modify the code to address the issues that the testers has uncovered and finally received their acceptance of the player. I was able to go back to the professor and provide him with the changes, which I believe he incorporated into the project. It was nice to be able to meet the challenge that the client presented and to give back to the community.

I’m hopeful at some point that I will be able to combine my love for electronic projects and my desire to work with the accessibility community to do some work such as what Bill Binko’s does with ATMakers,org. Besides Bill, someone who inspires me is Chris Young. He is disabled, with limited mobility but is able to do quite a few projects to give him the ability to do more things. Here are a few videos of Bill Binko, Chis Young, and ATMakers.

Product Review Uncategorized


My Glowforge finally arrived this week. I pre-ordered it in October 2015 so it took a little over two years of waiting to finally get it.

I designed and printed the obligatory escutcheon for the print button. I chose to name my Glowforge Scotty in honor of James Doohan. His character was my inspiration for becoming an engineer in the first place so I felt it was fitting.

The escutcheon after being printed.

The escutcheon after removing the tape covering.

A few thoughts on the Glowforge interface.
The interface and workflow will take a bit of getting use to but I think it will be fine once I’m more familiar with it. At first I was getting frustrated as I created a PNG image to scale. When I imported it, I thought it was too small until I realized the scale is in inches not mm. Once I realized my error, I looked for an option to change it but could not find one. I attempted to find a way to scale it to the correct size but there is no option to type in the size or view the exact measurement. It is necessary to guess what size it is by looking at the ruler on the screen which is not very accurate. What I ended up doing was using the 1:1 scale printout and placing it in the Glowforge so I could attempt to scale it correctly. Once I did that, I could not figure out how to do cuts where I wanted them. I did some reading and found that an SVG is needed for cuts. I then used Inkscape to create an SVG from a modified image with only the cuts. This worked and I was able to scale it exactly. I then created another PNG file with just the engraving and uploaded both files. I still needed to scale the engraving but that was easy and not critical. Once everything looked good, I pressed the print button. The Glowforge performed the cuts but not the engraving. I then removed the cut image and clicked print again. This time the engraving was done. On my next print, I will need to see what I did wrong here so I do not make that mistake again.

Overall it was easy to use the Glowforge but I do have a few concerns. Firstly, a desktop application to prepare the print would afford a better setup experience. Secondly, it is not possible to print if your network connection is down for any reason or if Glowforge goes out of business. While it is nice to use a device this way, it does leave users vulnerable to the existence of the company and the health of the web servers.

The original PNG file I created.

A modified PNG for the cuts. This file could not be used for the cuts as PNG files may only be used for engraving. I needed to convert this file to SVG using Inkscape.

The modified PNG for the engraving.

Overall, I’m pleased with the Glowforge. I just hope that the company and the web-service run well for many years to come so I may continue to use the Glowforge.

BTW: The size of the escutcheon is 119.903 x 119.903 mm. I was not able to upload the SVG for the cuts so if you decide to use the PNG, you will need to convert it to SVG and resize it.

Product Review Uncategorized

CNC Machine

I have had a MyDIYCNC Machine sitting around for a few years now. I was having some problems with the controller boards so I set it aside and am just getting back to take another look at it. I found that one of the boards that was sent to me was indeed bad but MyDIYCNC no longer sells machines or parts. I then decided to go to Amazon and pick out a controller board to try. I picked the SainSmart CNC TB6560 3 Axis Stepper Motor Driver Controller Board & Cable. This board seems to work quite well. I have been having a bit of a time getting it to work properly in LinuxCNC but I have got it to home and move but it seems to be at 1/2 scale. I am still tweaking with the settings to see if I can get it to work 100%.

A few notes about wiring and hardware. The MyDIYCNC instructions refer to the motor which moves the Z axis carrier as the Y axis. It appears that it should really be the X axis and the table should be the Y axis. If it were the Y axis, the home position would be in the wrong corner of the machine. I played with the configuration a bit to see if I could get it to work as expected but I had no luck. Finally when I decided to try to swap the X and Y axes did home line up in the correct corner. I could have swapped A & B around on the Y motor and that may have reversed the direction of the motor but I did not want to go there. Swapping the axes made the most sense.

Here is a short video of a test of the CNC. The spindle has a ink cartage in it and is simply running the default LinuxCNC project. The drawing should be 5.3 inches wide but is only half that size.

Here are the settings for LinuxCNC.

Base Information

  • Machine Name: MyDIYCNC_inches
  • Axis configuration: XYZ
  • Reset Default machine units: Inch
  • Driver type: Other
  • Driver Timing Settings (The Stepper Drive Timing page on states that 150,000 ns should be used for all values however the current version of LinuxCNC has a max value of 100,000.)
    • Step Time: 100000
    • Step Space: 100000
    • Direction Hold: 100000
    • Direction Setup: 100000
  • Base Period Maximum Jitter: 9000

Parallel Port 1

  • Outputs (PC to Mill):
    • Pin 1: Amplifier Enable (Invert)
    • Pin 2: X Step
    • Pin 3: X Direction
    • Pin 4: Y Step
    • Pin 5: Y Direction
    • Pin 6: Z Step
    • Pin 7: Z Direction
    • Pin 8: Unused
    • Pin 9: Unused
    • Pin 14: Spindle ON (Invert)
    • Pin 16: Unused
    • Pin 17: Unused
  • Inputs (Mill to PC):
    • Pin 10: Both Limit + Home X (Invert)
    • Pin 11: Both Limit + Home Y (Invert)
    • Pin 12: Both Limit + Home Z (Invert)
    • Pin 13: ESTOP In
    • Pin 15: Unused
  • Parport Base Address: 0
  • Output pinout presets: Sherline (The value here is not important. It is actually used with the “Preset” button to load values.)


Selections here really do not matter. I have not figured out how to use these yet. I may look into it more in the future.

Axis X

  • Motor steps per revolution: 800 (Steppers included with MyDIYCNC are 50 steps per revolution. The TB6560 board has the switches set for 1/16 microstepping. 50 x 16 = 800)
  • Driver Microstepping: 2.0 (Someone posted that 2 meant that microsteping was being used. I had this set to 32 earlier.)
  • Pulley teeth (Motor:Leadscrew): 1.0:1.0 (All axes are direct drive so they are all 1:1.)
  • Leadscrew Pitch: 20.0
  • Maximum Velocity: 0.4
  • Maximum Acceleration: 30.0
  • Home location: 0.125 This took awhile to get. If using the limit switches as home switches as well, we need to back the machine off so that the limit switches are not active when at home position. I choose to back them off 1/8 inch on all axes.)
  • Table travel: 0.0 to 5.5
  • Home Switch Location: 0.0
  • Home Search velocity: -0.05
  • Home Latch direction: Same

Axis Y

  • Motor steps per revolution: 800
  • Driver Microstepping: 2.0
  • Pulley teeth (Motor:Leadscrew): 1.0:1.0
  • Leadscrew Pitch: 20.0
  • Maximum Velocity: 0.4
  • Maximum Acceleration: 30.0
  • Home location: 0.125
  • Table travel: 0.0 to 8.0
  • Home Switch Location: 0.0
  • Home Search velocity: -0.05
  • Home Latch direction: Same

Axis Z

  • Motor steps per revolution: 800
  • Driver Microstepping: 2.0
  • Pulley teeth (Motor:Leadscrew): 1.0:1.0
  • Leadscrew Pitch: 20.0
  • Maximum Velocity: 0.4
  • Maximum Acceleration: 30.0
  • Home location: -0.125
  • Table travel: -4.0 to 0.0
  • Home Switch Location: 0.0
  • Home Search velocity: 0.05
  • Home Latch direction: Same

Almost Done

Do you want to quit?

Screenshot added for completeness

I plan to continue to look into what is going on with the scaling and settle on the correct settings or at least settings which will work.