DIY-AT Research

This site contains information on the prototypes and studies that make up part of my PhD research. For the DIY-AT workshop for participants with making experience go here.

Subsections of DIY-AT Research

DIY-AT Workshop

A Workshop on the Making Journey of DIY-AT for Wheelchair Seating Comfort.

This workshop is part of my PhD research in DIY assistive technology (DIY-AT). Following an interview process with multiple wheelchair users, seating comfort of manual chairs was identified as a common need. I have since designed some prototypes that are meant to be DIY (“do it yourself”). Getting these prototypes to finished designs, I need to better understand what format they need to be distributed at. Are they better served as a simple “DIY” kit? Are they simple enough to source and assemble individually by users?

What is the aim of this workshop?

The aim of this workshop is to understand how users with making experience, interact with my prototypes. Through your experience assembling this prototype we can hopefully identify any design weaknesses or different ways of doing things.

What do I need to do before we get started?

Please make sure to read through the participant information below and then complete the consent form which can be found here. Upon completion alert the researcher running the session.


Participant Information

This workshop is being conducted as part of a UCL PhD degree. This project has been approved by the UCL Ethics Board, Project ID: UCLIC_2024_003_Rogers. All data will be handled in accordance with the General Data Protection Regulations (GDPR) and will be anonymised. If you decide to share contact information for further studies, this will be kept separate from the data collected. Only the researcher running the session will have access to the data. You will not be identifiable in any publications that may arise from this data.

  • Title of Study: A Workshop on the Making Journey of DIY-AT for Wheelchair Seating Comfort.
  • Department: UCL Interaction Centre
  • Name and Contact Details of the Primary Researcher: Andreas Polydorides, andreas.polydorides.21@ucl.ac.uk
  • Name and Contact Details of the Principal Researcher: Professor Yvonne Rogers, y.rogers@ucl.ac.uk
  1. Invitation: You are being invited to take part in a research project. Before you decide it is important for you to understand why the research is being done and what participation will involve. Please take time to read the following information carefully and ask us if there is anything that is not clear or if you would like more information. Take time to decide whether or not you wish to take part.

  2. What is the project’s purpose? The purpose of this workshop is to observe wheelchair users with making experience as they build DIY assistive technology (DIY-AT) and to understand what part of the design, dissemination or making process can be improved and how.

  3. Why have I been chosen? You have been chosen because you expressed a willingness to participate in this study and meet the inclusion criteria of being an adult wheelchair user with previous making experience.

  4. Do I have to take part? Taking part in the study is entirely voluntary. If you decide to take part, you will receive this information sheet by email and will be asked to complete the consent form below prior to the beginning of the workshop. You can withdraw at any time without giving a reason.

  5. What will happen to me if I take part? You will be asked to participate in an in-person workshop where you will follow web-based instructions to perform a series of making-related tasks, namely sourcing components for a DIY project, soldering, coding, and 3D printing. The primary researcher and two other participants will be present during the study and will be in conversation with you as you proceed through the tasks.

  6. Will I be recorded and how will the recorded media be used? The workshop will be video-recorded so that the researcher can analyse each participant’s experience and identify any common themes. An anonymised transcript will be created based on the audio recording and pictures will be selected from the video. The pictures will be used for publications and presentations. The video will then be deleted.

  7. What are the possible disadvantages and risks of taking part? This research poses no risk greater than that which you would encounter during your other making activities. If you wish to skip any tasks, you are free to do so without it affecting your participation in the rest of the study and any compensation you may be eligible for.

  8. What are the possible benefits of taking part? By participating in this study, you help us improve the process of DIY-AT design so that users of varying making expertise can have access to DIY assistive technology. Additionally, you may learn a new making skill from the tasks you have to complete.

  9. What if something goes wrong? If you wish to raise any issues relating to this research, please contact Professor Yvonne Rogers who is the Principal Researcher on the project, at y.rogers@ucl.ac.uk. You can also contact the Chair of the UCL Research Ethics Committee, at ethics@ucl.ac.uk, should you feel your concern has not been handled to your satisfaction (e.g. by the PR or the supervisor).

  10. Will my taking part in this project be kept confidential? All the audio information that we collect from you during the course of the research will be transcribed and anonymised. The audio will then be permanently deleted. It will not be possible to identify you in pictures included in any ensuing reports or publications as faces will be blurred.

  11. Are there limits to this confidentiality? Please note that every effort will be made to keep your information confidential and to present it in an anonymised format. All personal data will be immediately decoupled from any responses provided. However, you should also note that the nature of your responses – if specific to your studies or work – may mean that you can be indirectly identified from the responses you provide. Please note that confidentiality will also be maintained as far as it is possible, unless during the conversation the researcher hears anything which makes them worried that someone might be in danger of harm, the researcher might have to inform relevant agencies of this.

  12. What will happen to the results of the research project? The workshop transcript, and experiences of the participants will be processed and included in the researcher’s PhD thesis, and possibly an academic publication. The outcome of this workshop will help improve how DIY-AT is designed for makers of all expertise levels.

  13. Who is organising and funding the research? This PhD research is funded by the Department of Computer Science at University College London (UCL).


Thank you for reading this information sheet and for considering taking part in this research study.

Please make sure to complete the consent form

Subsections of DIY-AT Workshop

Bill of Materials

OpenCushion

Item NameDescriptionQuantityLink 1Link 2
eSUN TPE 1kgFor very small chairs 1 roll might be enough but 2 will ensure you have enough material in case a part fails.2Amazon.co.uk3djake.uk

Apart from the above you will of course need a 3D printer capable of printing flexible materials like TPU.

Loop One

Item NameDescriptionQuantityLink 1Link 2
Raspberry Pi Pico WHThe Pico WH variant includes headers, otherwise you can get a Pico W and solder the headers yourself1The Pi HutPimoroni
JST-XH 2-pin connectorsLinks include multiple connectors, you need 8 connectors.8The Pi HutDigikey
B3950 ThermistorsMax of 3, these come with the appropriate connectors3AliexpressAmazon.co.uk
DS18B20 ThermistorsMax of 4, these will need to be terminated with 3-pin JST-XH connectors4Amazon.co.ukAliexpress
Peltier CoolerUsed as the heating/cooling element1Amazon.co.ukAliexpress

Soldering PCB Components Task

This task will require you to hand-solder a number of components onto a PCB, simulating the process of building a design called LoopOne.

LoopOne

LoopOne is an open-source design that aims to alleviate thermal discomfort among wheelchair users. It works by circulating water through a tube in the wheelchair’s cushion for a cooling or heating effect which the user can control as required. In addition to improving the user’s comfort, thermally regulating the seat temperature can minimise the risk of pressure sores.

I’ve designed a custom circuit board (PCB) which handles all necessary functions for this design:

  • Heating and cooling the water (this is done through a small component called a Peltier module)
  • Circulating the water (this is done through a water pump)
  • Sensing water flow (this is a safety measure to ensure any bends in the tube do not increase pressure and put unnecessary strain on the water pump)
  • Sensing temperature and humidity (this allows us to monitor multiple points for temperature and humidity, which in turn allows the user to set up custom settings to suit their needs)
  • Connecting fans (this is an optional add-on where users can choose to add air fans to either blow air through the cushion or toward the user in hot/humid weather)
  • Connecting additional sensors (this takes the form of an I2C port, which DIY-minded users can use to to incorporate additional sensors of choice)

Top down view of the Loop One PCB with various functionalities of the board annotated. Top down view of the Loop One PCB with various functionalities of the board annotated.

Why do I need to solder?

In the spirit of keeping this design as financially accessible as possible, we are testing whether it would be possible for those with ‘making’ skills to hand-solder larger components to a PCB themselves. This results in a significantly lower cost compared to purchasing a PCB with all required components pre-assembled by the manufacturer.

Subsections of Soldering PCB Components Task

A refresher (or lesson!) on soldering

Tools and Parts Needed:

  • Soldering iron
  • Soldering wire
  • Tip cleaner
  • Flux
  • Tinner
  • Prototyping board
  • Red cable
  • Black cable

Learning Task Instructions:

  1. Assemble the tools and components needed for this task
  2. Identify the prototyping board (shown below)
  3. Affix the cable given to you through the prototyping board
  4. Apply some flux and use the soldering iron and wire to solder the cable to the board
  5. Power off the iron, securely set aside and check the connection, here’s a useful image by Adafruit that can help you judge the quality of your solder joints.

Image by Adafruit displaying different solder joints side by side. Image by Adafruit displaying different solder joints side by side.

Soldering the PCB

Have you done the required reading? It’s here

Loop One PCB with components labelled Loop One PCB with components labelled

Tools and Parts Needed:

  • Soldering Iron
  • Soldering Wire
  • Tip Cleaner
  • Flux
  • Tinner
  • PCB
  • Screw Terminal (black, 2-pin)
  • Inductor (grey cylinder, 2-pin)
  • JST-XH connectors
  • Soldering helper (choose from 3D printed jig, masking tape, or “helping hands”)

Soldering Task Instructions:

  1. Assemble the tools and components needed for soldering
  2. Prepare PCB for soldering with soldering setup of choice.
  3. Affix the screw terminal on the PCB with a “helping hand” or with some masking tape. Be mindful of its orientation.
    Note

    If you are using the 3D printed soldering jig, you want to start with the shortest component we will be soldering today, the JST-XH connectors.

  4. Verify the orientation and solder the component to the PCB.
  5. Now try to solder more components.

Firmware Flashing to the Pico

Tools and Parts Needed:

  • Computer
  • USB-A to micro-USB cable
  • PCB
  • NTC100K Thermistor
  • DHT11 Humidity Sensor

Uploading and Configuring Firmware:

  1. The firmware for the Raspberry Pi Pico on your PCB is based on a programming language called CircuitPython. To upload our code we need to prepare the Pico to accept CircuitPython code. If you’re using a Pico, download this, and if you’re using a Pico W, download this. If you’re unsure which Pico you have, check the picture below. A comparison between the Pi Pico and the Pi Pico W. A comparison between the Pi Pico and the Pi Pico W.
  2. Now click here to download the firmware.
  3. Keep the BOOTSEL button pressed as you connect the Pi Pico to the computer. The button is visible in the images above!
  4. The Pico should now show up as a drive in your computer’s file manager under the name “RPI-RP2” or something similar.
  5. Drag the Circuitpython (.uf2) file to the “RPI-RP2” drive.
    Note

    Make sure you drag the CircuitPython file and not the firmware.

  6. The drive should reset and should now appear as “CIRCUITPYTHON”.
  7. Now that our Raspberry Pi Pico is set up to run CircuitPython code, we need to install some libraries (bundles of additional code) that our code relies on. Download the adafruit libraries from here: https://circuitpython.org/libraries. Make sure they match the version of the circuitpython download from step 1. Once downloaded unzip and copy these two libraries: adafruit_onewire and adafruit_ds18x20.
  8. In the CIRCUITPYTHON drive, open the lib folder if it exists, create one if it does not. In the lib folder paste the two adafruit libraries from the bundle we just downloaded.
  9. Finally, drag the firmware file we downloaded to the “CIRCUITPYTHON” drive. Choose to overwrite the existing code.py file if prompted about it.

Testing Firmware:

  1. In Visual Studio Code (VS Code), navigate to Extensions (Command/Ctrl+Shift+X) and install the ‘Serial Monitor’ extension by Microsoft
  2. With the Raspberry Pi Pico connected and with the code uploaded to it, open a new terminal (within VS Code) and switch to the Serial Monitor tab
  3. You should be seeing temperature values if all is going well. If you are not, check that:
    • the Raspberry Pi Pico is showing up as a Circuitpython device,
    • the “.py” file is in the base directory as you open it up,
    • the code itself has print statements. e.g.: print(f"Temperature: {temp:.1f}°C").

3D Print a Personalised Cushion

OpenCushion

OpenCushion is a project that allows users to customise and 3D print wheelchair cushions using flexible materials, with the aim of evenly distributing pressure and minimising discomfort and the risk of pressure sores. The design is essentially a lattice of varying density, with areas that are subject to high pressure using a lower density lattice and vice versa. As these cushions can be made with most standard consumer-level 3D printers, they can be more affordable as well as geographically and financially accessible.

3D Printing

Compared to purchasing a cushion from a shop, 3D printing one is probably outside of most people’s comfort zone. Though it’s easier than ever to access a 3D printer, with many hobbyists owning one and printers generally available in most makerspaces, the process may still seem daunting for inexperienced makers or anyone not quite confident enough to troubleshoot or resolve any issues. For this reason, we are asking participants to configure and begin a print of their personalised 3D printed cushion.

I have come up with three ways in which we can create personalised cushions:

  1. Using Python and a library called FullControl we can turn a pressure map into a 3D printable cushion model. This doesn’t require and CAD or slicer software typically used in 3D printing.
  2. Using slicer software we slice a 3D model of a cushion, with only the lattice (infill) structure. Using Python and the pressure map we then personalise the density of the previously generated GCODE.
  3. For users without access to a pressure map, a third way of creating a cushion, involves using a feature of modern slicing software and SVG drawings of pressure maps. This is the method you will be focusing on in the workshop, proceed to the task page to learn more.

Subsections of 3D Print a Personalised Cushion

3D Printing Cushion Task

The ‘SVG Modifier’ Approach

This method takes advantage of a ‘modifier geometry’ feature available in some slicers including Prusaslicer. This allows us to introduce 3D shapes which can interact with the 3D model to modify settings like speed, temperature or line widths. In addition to standard shapes like cubes and cylinders, the modifier geometry feature can also work with SVG files, which we can shape any way we need. If we look at a pressure map like the one below, we can split pressure values into areas and assign different densities to each one. If we can create SVG drawings of each area we can overlay them over our cushion 3D model as modifier geometry and create cushions that go some way toward distributing pressure. This approach is not personalised but is a step forward in improving comfort over standard cushions.

A simplified pressure map example. Usually there are more areas.

A simplified pressure map example. Usually there are more areas.

An ’exploded’ view of the pressure map ‘area’ stack.

An ’exploded’ view of the pressure map ‘area’ stack.

Software Needed (check if they are pre-installed)

  • Inkscape
  • Prusaslicer (enable the “Ultimaker S line” printers in the configuration assistant)

Instructions

  1. Choose one of the areas from the pressure map above. Given our time constraints you will work with only one today.
  2. In Inkscape, select the Bezier tool. This is different to a classic paint tool, this is how it works:
    • When you first Left-Click on the canvas you set the first point.
    • From the move to where you want your curve to end.
    • If you don’t wish to set a curve to your line just Left-Click again to set a straight line.
    • To add a curve, Left-Click and hold - moving the mouse around now induces a curve. When you’re done release the left mouse button.
    • Repeat until you’re back at the start.
    • When you want to end the area, you can click back on that first point (it is the square icon at the start of your line) to create one final connecting line.
      Note

      The rules on creating a curved line apply to the last one as well. So if you need a curve, Left-Click and hold.

  3. Once you’re satisfied with your shape, select the path and click on the export tab indicated below.
  4. Make sure the export directory is somewhere you can easily access and select to export the path as an SVG file.
  5. Now on to slicing, launch Prusaslicer.
  6. In the printer preset select Ultimaker S5/S7. If no Ultimaker option is selected use the Configuration Assistant to add the preset.
  7. While the cushions are made with TPU, the S5 printers don’t handle that too well so we’ll be using PLA for this study. Go ahead and select ‘Generic PLA’ for both Filament slots.
  8. For print settings pick ‘O.25mm DRAFT’, you’ll see the most progress on your print with this! Now go into ‘Print Settings’ > ‘Layers and perimeters’ and for ‘Perimeters’, ‘Top solid layers’ and ‘Bottom solid layers’ to 0.
  9. In the ‘Infill’ section of ‘Print Settings’, you can swap between ‘Fill patterns’ to see the different lattices. ‘Gyroid’ is particularly good for cushions.
  10. Now download this cushion model, and import it to Prusaslicer. Resize it to make it fit.
  11. At this point you can click slice to check you are on the right track. The lattice should be visible from all angles.
  12. Right-Click on the cushion model and select ‘Add modifier’ > ‘SVG’ and load the SVG file you created in Inkscape.
  13. Left-Click on the SVG and change its height (Z axis) to match or exceed the height of the cushion.
  14. Now Right-Click the SVG modifier, select ‘Infill’ and change the infill density to a percentage density different to that of the cushion.
  15. Finally if you connect a USB drive, Prusaslicer should let you export the GCODE instructions to it. Once that’s done, eject the drive and bring it over to the 3D printer.
  16. Ensure there are no prints in the printer and that the print head is clean, now navigate to the file in the USB drive and start the print!