A week of online ringing

I've had a busy week of online ringing. Last Saturday we tried a quarter of Cambridge Maximus, in Handbell Stadium, with the band that rang the peal of Cambridge Royal, plus Graham Firman. We didn't find it very easy, and eventually had to stop because someone's laptop was running out of battery. We agreed to try again on Thursday, ringing Kent so that we could focus more on pace and rhythm (the idea had been to get below a 3h30 peal speed).

During the week I signed up for a couple of quarters with Gareth Davies' Five o'Clock Handbell Club. On Tuesday I called a quarter of Lincolnshire, again in Handbell Stadium, which went smoothly although I found it needed a lot of concentration. About half way through, an alert popped up on my screen, from Skype wanting to install an update. I had no way of getting rid of it, so it just stayed there, obscuring my view of the trebles.

Tuesday evening was the Glasgow online tower bell practice, in Ringing Room. I used my new Handbell Manager for Mac program so that I could ring with a motion controller instead of pressing the keyboard. At one point during the practice I rang 3-4 for a course of Grandsire Triples, with Tina ringing 1-2 and everyone else ringing one bell each.

Wednesday was the Five o'Clock Club again, and we rang a quarter of Bristol in Handbell Stadium. Mike Purday called a composition with a snap start and 6th place bobs, to keep 5-6 coursing - the calling was just 6 ins (s - - s - - ) for the tenor. It went very well. Alan Winter was ringing with a pair of controllers that he has made to my design, which was satisfying.

Thursday was the second attempt at the Kent Maximus. It didn't go, because my network connection was playing up. I was experiencing a lot of delays which made it sound as if the rest of the bells were ringing late and piling on top of each other. The rest of the band didn't get the same effect, but it was extremely difficult for me to keep to a rhythm. Eventually one of my bells got stuck, which was quite a mercy.

Friday was the regular Handbell Stadium practice that Graham John organises. During the week, as I described in another article, I received a pair of 3D-printed dummy handbells from Tim Hart and installed my Arduino sensors in them. So on Friday I tried them out. They worked well, and the weight is about the same as my original wooden dummy handbells. They have longer cables, which makes them a bit easier to ring when sitting at my desk. There are some sharp edges and corners though, which is evidence for high-quality printing, but it might be a good idea to smooth out the design a little. Unusually for a Friday practice, I didn't find myself ringing any Double Norwich, but I rang some Double Oxford Minor and some Plain Bob Royal.

Round to Saturday again (today), and we had another attempt at the quarter of Kent Maximus - successful this time. We were down to 3h25 speed for a while, which is much more promising for ringing a peal than the 0ver-4h speed of the previous Handbell Stadium quarter of maximus, and similar to some of the quarters on Ringing Room. My network was behaving better - there were still a few delays, but I'm finding it easier to have the confidence to stick to my internal rhythm and ring through them. Overall it was a good quarter.

The final exciting news is that I've ordered a 3D printer of my own, which is supposed to arrive today. So I hope to be able to print more dummy handbells from Tim Hart's design (but maybe with smoother edges), and I also want to look into printing clappers for the mini-bell conversions.

Handbell Manager for Mac

Mac users are a little bit behind Windows users when it comes to technology for online handbell ringing. We are catered for by Handbell Stadium, but we don't have a version of Graham John's Handbell Manager software that converts the input from motion controllers into keypresses that will drive Mabel or Ringing Room.

I have solved this problem by implementing my own simple version of Handbell Manager. It's not quite as fancy as Graham's, and in particular it doesn't have the option to draw graphs of the inputs from the controllers, but it works. You can download it here. It's not really productised yet, because I haven't succeeded in packaging it up into a standalone application. But if you are willing to roll up your sleeves and do some software installation, here's how to do it.

  1. Make sure your Mac has a recent enough version of MacOS: at least 10.13 (High Sierra).
  2. Install Python 3.8.
  3. Install Homebrew.
  4. In a Terminal window, type brew install sdl sdl_image sdl_mixer sdl_ttf portmidi

  5. In a Terminal window, type pip3 install pygame

  6. In a Terminal window, type pip3 install pynput

  7. Plug in your controllers.

  8. In a Finder window, go to the folder where you saved HandbellManagerMac.py

  9. Right-click on HandbellManagerMac.py and select "Open with IDLE 3.8.3"

  10. In the window showing the code of HandbellManagerMac.py, press F5 (or fn-F5, depending on your keyboard).

  11. You should see an application window that looks like this:

  12. Set the Left and Right controllers so that they are the right way around.

  13. Set the Axis options to whatever you would use in single-axis mode in Handbell Stadium.

  14. Set the Handstroke and Backstroke values to whatever you would use in Handbell Stadium.

  15. Swinging the controllers should result in #Handstrokes and #Backstrokes counting upwards.

  16. Focus on the window of the application that you want to ring in: Mabel, or a browser with Ringing Room.

  17. Swinging the controllers should cause your simulated bells to sound. If using Mabel, make sure you don't have up/down key action selected (this is in Preferences / Ringing).

The evolution of handbell controllers

To remind you, here is the first dummy handbell controller I made based on a large Arduino Leonardo.

And here is one of Tim Hart's 3D-printed dummy handbells, with my small Leonardo Pro Micro inside.


Tim and Graham John are planning to go into small-scale production with the 3D-printed bells and a new sensor board from ActionXL.

An inversion of the usual difficulty levels

Online ringing with Ringing Room becomes more difficult when more people are involved, because there is more variation in the internet delays and more people who have to cope with it. Of course it's normal for ringing on more bells to be more difficult, but in Ringing Room, ringing on a given number of bells is easier when people are ringing two each (assuming that they are competent handbell ringers) than when they are ringing one each.

This has led to footnotes about first performances with one bell each, when they have already been achieved with two bells each - the reverse of the usual situation.

For example, the first Ringing Room quarter of Bristol Maximus was on 22nd May, with two bells per person, and on 12th June the first Ringing Room quarter of Bristol Maximus by 12 people was rung and footnoted.

Update on handbell controllers

This is an updated article on how to make handbell controllers for use with Handbell Stadium or Handbell Manager. I now have more experience with using several different components, and I have been trying to make the software easier to use and install.

You might want to refer to the previous article for general information and pictures, but here I will try to reduce the instructions to their essentials.

The electronics (if you want to avoid soldering)

Components (for each controller)

  • An Arduino Leonardo (with headers), for example from RS for £18.36.
  • An accelerometer board with a Grove socket, for example this one from Cool Components for £3.99.
  • A cable with a Grove plug on one end and pins to connect to the Leonardo headers, for example this one from Cool Components for £2.83. You get 5 of these in a pack, so with one order you get enough for two handbell controllers, two more for a friend, and one spare.
  • A cable with a male USB micro plug at one end and a USB or USB-C plug, according to your computer's sockets, at the other end. It's worth getting a 2m cable so that you can sit comfortably back from your computer.


  • Plug the cable (with red, black, white and yellow wires) into the socket on the accelerometer board.
  • Plug the cable's pins into the header sockets on the Leonardo board: red to 3.3V, black to GND, white to SDA, yellow to SCL.
  • Plug the USB cable into the socket on the Leonardo board.

The electronics (if you don't mind soldering)

Components (for each controller)

  • An Arduino Leonardo Pro Micro
  • An accelerometer board, for example an Adafruit ADXL343 or a GY-521 based on an MPU6050 (but beware that with the GY-521, I have found a high proportion of defective components). Make sure that the accelerometer board will take a 5V power supply, because the Pro Micro only has a 5V power output.
  • Wire for connection between the boards.
  • USB cable as above.


  • Usually the Leonardo Pro Micro and the accelerometer boards come with a row of header pins that you can solder in if you want to, but it's not necessary and I find that the end result is neater by soldering wires directly into the holes on the boards.
  • Connect the accelerometer to the Pro Micro as follows: VCC to VCC, GND to GND, SDA to pin 2, SCL to pin 3.
  • Plug in the USB cable.

The software

  • Install the Arduino IDE on your computer.
  • Download my UniversalHandbellController.zip. Unzip it and save the UniversalHandbellController folder somewhere.
  • Open the file UniversalHandbellController.ino. This should launch the Arduino IDE.
  • In ArduinoIDE, use Sketch -> Include Library -> Add .ZIP Library and choose the Joystick folder within the UniversalHandbellController folder. This is correct even though it's not a .ZIP file.
  • In ArduinoIDE, use Tools -> Manage Libraries and type LIS3DH into the search box (top right). When you see Adafruit LIS3DH, click on the Install button. You need to do this even if your accelerometer is not a LIS3DH.
  • Plug your Leonardo into a USB socket on your computer.
  • In ArduinoIDE, use Tools ->  Board to select Leonardo, and use Tools -> Port to select something that shows Arduino Leonardo.
  • In ArduinoIDE, press the Upload button (a right-pointing arrow, in the top-left corner of the window). You should see messages saying that the sketch (program) is being compiled and uploaded.
  • If your accelerometer is an ADXL343, an ADXL345, a LIS3DH or an MPU6050 then the UniversalHandbellController software will detect it and set up your controller. If you are using a different accelerometer then you will have to either adapt the program or contact me for help. It's only universal among the accelerometers that I have tested so far.
  • You can now start Handbell Manager or Handbell Stadium and try out your controller.
  • You might need to set the strike points. Go into the Options window (in Handbell Stadium) and look at the Input tab. First, work out which way the boards should be oriented. The UniversalHandbellController software is designed to work with the boards in a vertical plane. The electronics might be facing right or left. When holding the boards in the position corresponding to the handbell being down at backstroke, you want to see a large negative value as the input. If it is positive, turn the boards to face the other way. Set the backstroke strike to be a negative value that is not quite as large. When holding the boards in the position corresponding to the handbell pointing vertically upwards, you want to see a small positive value. Set the handstroke strike to be something close to this value. I find that the controllers work well with with a handstroke strike of 100 and a backstroke strike of -600 (with the ADXL343/345  accelerometer) or -1800 (with the MPU6050 or LIS3DH).
  • I use a Mac and for me, the controllers work easily with Handbell Stadium. On Windows we are having problems with some systems and it can take some adjustment of the software. Contact me if you need advice.

The dummy handbells

You need to fix the boards onto something that you can hold and swing like a handbell. If you are using a big Leonardo and an accelerometer with a Grove socket, then there are screw holes. With the Pro Micro and the non-socketed accelerometers, I use sticky-backed velcro (you can get it from Tesco).

Some ideas for making dummy handbells, in increasing order of sophistication:

  • A table tennis bat.
  • A wooden cut-out handbell shape.
  • A 3D-printed handbell.

Alternatively you can use a real handbell if you tie or remove the clapper.


RSS feed Subscribe to Blog feed