Skip to content

Commit

Permalink
Merge pull request #137 from orionrobots/robot-arm-update
Browse files Browse the repository at this point in the history
Robot arm update
  • Loading branch information
dannystaple authored Jan 4, 2025
2 parents a095125 + 44c6f58 commit 707f29a
Show file tree
Hide file tree
Showing 7 changed files with 64 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .github/scripts/new_post.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#!/bin/bash
# Helper to create a new blog post, and folder structure, open it in vs code.
# Usage:
# ./.github/scripts/new_post.sh "Post title not slugged but in quotes"

set -eu -o pipefail

POST_DATE=$(date +"%Y-%m-%d")
Expand Down Expand Up @@ -39,6 +43,7 @@ function main {
local file_path="$(file_path "$slug" "$folder_path")"
mkdir -p "$folder_path"
create_post "$file_path"
code "$file_path"
}

main
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ tags:
- raspberry pi
- raspberry pi projects
- raspberry pi 3 projects
- maplin usb arm
- maplin usb robot arm
- owi edge robot arm
- raspberry pi zero w projects
title: Use OWI Edge Maplin USB robot arm with the Raspberry Pi
Expand Down
6 changes: 5 additions & 1 deletion content/2021/01/2021-01-23-bluedot-usb-arm-control.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
layout: post
title: "Controlling a OWI Edge Robot Arm with Bluetooth"
description: "Controlling a OWI Edge Robot Arm with Bluetooth"
tags: [robot arm, usb arm, owi edge arm, python programming, maplin arm, raspberry pi, raspberry pi zero, bluetooth, blue dot, robotics at home]
tags: [robot arm, usb arm, owi edge arm, python programming, maplin usb robot arm, raspberry pi, raspberry pi zero, bluetooth, blue dot, robotics at home]
date: 2021-01-23 12:00:00
---
Today I attended the fantastic Pi Wars Conference 2021, and among the talks was Martin O'Hanlon with the [Bluedot](https://bluedot.readthedocs.io/en/latest/dotapi.html) project. I followed along, had a few problems, and created two versions of a controller for the arm.
Expand Down Expand Up @@ -180,3 +180,7 @@ This extends the original code. And is available at <https://github.com/orionrob
This is a complete working control, but I'll admit I'm not 100% happy with this control surface - I find it a bit cumbersome and it's easy to press the button for the wrong motor.

So I plan to come back and make a more intuitive control panel now I've got one working.

## Update from 6th December 2021

There's also an accompanying [Youtube video for this](https://youtu.be/qy1u0NPmMwM).
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: Investigating VScode + WSL as a MicroPython IDE
tags: [robot programming, micropython, mpremote, vscode, python, raspberry pi pico]
tags: [robot programming, micropython, mpremote, vscode, python, raspberry pi pico, maplin usb robot arm]
date: 2024-12-23
---
I am a frequent user of Micropython. I also have recently been using a Windows desktop (I had been using a Mac for a while).
Expand Down
52 changes: 52 additions & 0 deletions content/2025/01/04-thanks-to-github/04-thanks-to-github.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Thanks to Github for fixing a problem
date: 2025-01-04
tags: [github, robot arm, python code, maplin usb robot arm, owi edge robot arm]
author: Danny Staple
thumbnail: content/2025/01/04-thanks-to-github/github-repo-screenshot.png
---
My python library for the Maplin USB robot Arm has been reasonably popular over the years. However, at one point several years ago, I wanted to move the repository from my dannystaple account into the orionrobots org, so other people in orionrobots, students or helpers, could contribute, review and so on.

## What is this code

This is a python library to control the Maplin/OWI robot arm via USB. It works well on Linux and Raspberry Pi, but needs a bit more coaxing on Windows and Mac due to the OS trying to be careful with hardware security. It allows the user to combine bit-patterns to control the different aspects of the arm.

## How did I try to move it?

I was less experienced with the ways of Github admin, so I forked my repository, and created a fresh one in the new organisation at [orionrobots/python_usb_robot_arm](https://github.com/orionrobots/python_usb_robot_arm).

I then deleted the original repository (it was dannystaple/robot_arm). This was still considered the upstream of the new repository. This had some unfortunate effects:

- Some other fork of my repository (tazjel/robot_arm) was now considered the upstream. Of course - thank you for there interest in my arm, but this isn't really the correct attribution.
- All pull requests were being automatically routed to that upstream.

I was frustrated, but left it for a few years. However, I have support requests for this library.

## Support requests?

Every few years, the way to get it to work on windows or Mac changes. These arms are no longer sold new, but people dust them off and have a go again, often finding parts don't quite work.
This time, I added debug logging to the library, so with python logging turned on, you can be sure USB messages are being sent to the robot.

However, that PR was routed to the new repo, reminding me again of the problem.

## How did I resolve it

GitHub help said I could recreate a repository, by doing a git clone, then pushing it to a new repo. However, this repository has stars, issues, pull requests that I didn't want to lose. So I contacted GitHub support.

I am really happy with them, within a few hours, they had this fixed, with the repository now considered the root of the fork network, and keeping all it's issues/prs and stars. The stars on the original one I forked from (my dannystaple one) were gone forever, but at least the parts of this were preserved.

Well done and thank you GitHub support!

## How would I do it right in future?

There's a change ownership of repository button in the admin section, this is the correct way to do this.

## Other problems with the Arm

Sadly, my Maplin Arm is dead. After we moved house, I tried to plug it in, and broke it, letting the magic smoke out of one of the motor control chips, by trying to power it differently... I've ordered a replacement on eBay, a whole arm that I can use for spares and repairs to keep it going. Perhaps when my SMD skills are better, I could replace the specific motor chip I blew too. I didn't keep notes on how exactly I broke it, probably because we were moving house. Suffice to say, it added to the list of stressful things at the time. But once the new parts arrived, I'll repair it and get it running again.

![Blown chip on my Maplin USB Robot Arm board](/2025/01/04-thanks-to-github/usb-arm-chip-damage.jpg)

The photo is a touch blurry, but the indicated chip is blown. Based on <https://kyllikki.github.io/EdgeRobotArm/> the blown chip is an ST1151A single channel motor controller. The board could be repaired, but fro now I'll swap the board out as that will get me up and running sooner.

I've still got someone I've been supporting whose arm isn't moving at all. With mine up and running, I'll perhaps be able to better troubleshoot his for him.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 707f29a

Please sign in to comment.