Saturday, August 21, 2021

RobotGo Mini expo

 Huge thanks to all that came down to the RobotsGo mini expo at the Eaton Community Library, check out some of the photos

Thursday, July 29, 2021

Bob The OTTO Bot 'built and named by my eldest'. Running through all his dance moves.
A very cool platform with BT app control, scripting and a drag and drop programming interface for the kids. 
Check it out at


Thursday, July 15, 2021

'PRINCE' the 4x4 obstacle avoidance CAT


A small robot I built for my daughter. 'PRINCE' the 4x4 obstacle avoidance CAT. Based on the SMARS Robot platform. It's still a little bit clumsy when the ultrasonic sensor is at an angle to a object but the kids have fun chasing it around the house.


Sunday, June 27, 2021

Solenoid No. 3 - Testing

 Well, it didn't take long to modify the 3D CAD design for the solenoid mount so it would take the smaller solenoid No. 3.    With only 3mm plunger movement, there isn't much to play with, so I designed it to fit right onto the ball, as it is easier to move the ball out than the solenoid:

The results are a bit surprising though. 

1) How does Pulse length effect ball distance?

Interesting to see that it dips a bit over the 24mS and 30mS values.  It is hard to judge 5mm with a moving ball, but I did do the tests twice.

2) How does the plunger and ball distance effect the distance travelled?

3mm doesn't give you much room for movement  :-)   At least no gap is easy to measure.  I did try some other values like 1mm and 1.5mm, but no gap was the best.

3) How does Output Voltage effect ball distance?

Now this one did surprise me.  I would have thought the distance would increase over voltage - like the other solenoids, but not this one!

Notes: The best performance is: 6V input, with an output voltage of 10+ volts, with a pulse length of 15 mSeconds with no plunger-ball gap.

Solenoid No 1 Testing

For the initial solenoid test, I used a breadboard and lots of alligator clips to join everything together.  This is not ideal, as the junctions could have a relatively high resistance, plus it was a a pain to setup every time.  I am aware that the rig will only be used a few times, so I didn't want to put much effort into making a dedicated electronics board for it.  This all came to a head at the June Robots Go meeting, where I spent too much time talking and not paying enough attention to what I was doing and I wired the boost power supply in back to front AND swapped the  + and - wires around!  Luckily I quickly noticed the high input current on my adjustable power supply and turned it off.  Amazing that the board still works.  A robust design!

So last week I made up a ESP32 Dev board mount and added a firing switch and variable resistor, and wired the boost power supply board directly into the MOSFET pulse board.  There is only one 6V input now and a supply goes off to the ESP32 Vin supply as well.  It all makes a much neater wiring arrangement.  Only the capacitor needs to be clipped onto the MOSFET board:

The solenoid housing for the first test (solenoid # 2), had nice mounting holes so I could mount it directly onto the MDF.  For this solenoid I have to widen the MDF frame and laser cut and glue it up. A plastic housing was 3D designed and printed out:

Take not of the large gap between the solenoid plunger and the ball.  The yellow spacers are 2mm thick and are made of EVA foam.  I had a bit of a play testing out different gaps between the end of the solenoid plunger and the ball.  With the ball resting on the MDF ball rest, the default gap is around 6mm. I then tested various different spaces to place the ball further away:

So, how did solenoid # 1 preform?  Lets have some graphs to see how:

1) How does pulse length effect the distance travelled:

surprisingly once you get above 6 milliSeconds nothing changes.  The coil does have quite a low resistance, so I presume the capacitor discharges much faster - up to 16A!

2) How does the plunger and ball distance effect the distance travelled?

The ball rest is around 6mm from the end of the plunger.  There is a bit of a sweet spot of around 9-10mm, which means I use a 3mm MDF or two 2mm foam spacers.  Interestingly, when I tried using my fingers to manually pick something in between, I managed to record a distance of up to 430mm! 

3) Output Voltage Test:

Kind of no surprise there.  As per ohms law, the higher the voltage, the more current is generated.  What is interesting though, is that even with a 6V output, the ball was travelling 35mm!

Notes: Optimal firing would be 37.5V output with a 9mm spacing and a 10mSecond pulse. No tests where run with an input voltage of 12V feeding into the MOSFET board, as the robot we are using only has a 6-8.4V supply.

Solenoid Power Supply

 Just a short post while I wait for the mini-solenoid housing to be printed.  

The 37V Boost power supply board I am using is based around a XL6019 IC.  The spec sheet for it doesn't list the performance when fed by 6V, but it does for a 12V input voltage, and lists the output at 0.8A.  Therefore, I am presuming it can only output around 0.4A to 0.8A at 37V, ie: not much.  As an example, the 4 hole solenoid would like around 16A at 37.5V, so we need something to help supply a temporary source of electrons.  A large capacitor will help with that.  I have an 18 Farad capacitor that I am using for the moment that seems to do a job of supplying a surge of electrons into the solenoids.

This is a small chart to show the difference the capacitor makes in firing solenoid number2:

 Volts    Capacitor    No Cap.

12V            40               30
15V            55               30
20V            80               30
25V            110             35
30V            170             35

35V            240             45
37.6V         280             50 

Note: distances are in mm.  Voltage is the output voltage of the boost board, with a fixed 6V input.

You can see that it makes for a huge difference in solenoid firing power.  More current, stronger solenoid action! 

Saturday, June 26, 2021

Solenoid Specifications

 I will be using the ball ramp to compare three different solenoids performance. I thought I would list the physical specifications.  They are all rated at 6V, but I have driven then up to 37V for up to 100mSeconds.  They really only need a 15-25mSeconds power pulse. You will need a  10-16A power supply or large capacitor to drive them at that voltage. They are being ranked here by physical size.

  • Solenoid 1:

A 4 mounting hole solenoid purchased in 2021 from:

Weight: 44.1gm

Coil resistance: ~2.3 ohms

Plunger weight: 9.55gm

Plunger movement: 10.6mm

Dimensions: 19.2mm x 60mm x 18.45mm


Notes: this is the strongest of the three solenoids. The 4 mounting holes are not symmetrical.  I ended up 3D printing my own mounting block for it!

  • Solenoid 2:


A 2 mounting hole solenoid purchased 2021 from:

Weight: 30.86gm

Coil resistance: 3.82 ohms

Plunger weight: 7.61gm

Plunger movement: 11.3mm

Dimensions: 15.5mm x 58mm x 13.9mm

Performance data:

Notes: mounting holes are M3 and are 15mm apart.

  • Solenoid 3:


A 2 mounting hole solenoid purchased from:

Weight: 12.4gm

Coil resistance: 3.4 ohms

Plunger weight: 1.95gm approx

Plunger movement: 3mm

Dimensions: 12mm x 29mm x 11.3mm


Notes: mounting holes are about 10mm diagonally apart and about 1.3mm diameter and have no thread. The plunger can not be removed. This does come with a handy JST-PH 2pin connector on the end of the wires.

While I tested each of these using a 45.6gm golf ball, it would be idea to have the striking plunger to weigh the same weight so that all the kinetic energy is imparted into the golf ball.  As it is, the whole ramp moves backwards when the plunger hits the ball.  I did test a ping pong ball on the ramp with solenoid #2 and at full strength, it lunched it into the end of the ramp and into the air.

Our little mini solenoid will be striking a ping-pong ball that weighs around 2.7g, so very close to the ideal weight.  As we are trying to play Robo soccer, we don't want the ball moving too fast.

Sunday, June 20, 2021

Solenoid No. 2 - Testing

 Looking around for some different Solenoids, and I found this one marked 6V 350mA:  Here is a photo of it in case the link expires:

The solenoid centre pin moves around 13mm and the coil has a resistance of around 3.23 ohms. It has two handy M3 mounting holes on the opposite side of the label above.

I wanted a method of being able to quantify different solenoids, so I hit upon building an adjustable ramp.  It took a day to design up and laser cut it out of 3mm MDF wood. This is what it looked like in the DesignSpark Mechanical CAD program:

And the finished result:

I am using a ESP32 with a variable resistor to set the pulse length (6mto 150 mSec), along with a OLED screen, so I can see what the pulse length is set too.

The pulse output is fed into a AO3400, 30V 2A MOSFET but it can be intermittently pulsed up to 8A.  During one of the tests, I forgot about the MOSFET voltage rating, and wondered why it momentarily fired the solenoid by it's self when I turned the voltage past 30V - followed a short time later with a burnt electronics smell a few seconds later!  It didn't take long to replace the SOT-23 sized AO3400 MOSFET.  The driver circuitry is mounted on a small piece of vero board:

To fire the solenoid, I am using a small XL6019 boost power supply board.  This will be powered from the Alphabot2 Li-ion 6-8V batteries and can generate up to 37.5V from the batteries:

As the original home made solenoid driver can only go up to 29V, I made a new one that can handle up to 60V using a final 100A capacity HY4008 MOSFET.  To drive the final MOSFET, I use a combination of a N-MOS to drive a P-MOS MOSFETs.  These can switch the Li-ion 6-8V battery voltage, which is just enough to drive the HY4008 MOSFET gate.  Ideally it should be 10V or 15V so that it's driven or switched on a bit harder, however, due to the 25-30 mSecond switching times, non of them get even warm.  I did however add 3 x 1000 uF capacitors to help supplement the driver voltage pulse.  The new board:

Lots of spare room to add on the high voltage power supply board.

From a 6V input, it can be wound up to a 37V output, but it can't supply much current, so I have mounted a (supposedly), 18F, 100V Chinese super capacitor across the output:

When the super capacitor is in place, the firing voltage is quite steady, however it is quite a large and impracticable size for mounting on a small Alphabot2 robot.  I have identified a few different smaller 10mF, 63V or 15mF 35V capacitors that could be tried out at a later date.

I am attempting to drive a 42mm diameter golf ball that weighs around 45.6gm up a ramp that is set to a slope of around 16 degrees.

Now for some graphed results.  But first, some notes on testing.  I ran 5-6 tests per record.  These usually resulted in a range of distances that might vary by 10mm, or up to 30mm.  Ideally I should have recorded each distance, but I took the fast approach and just recorded the minimum and maximum distance from the 5-6 solenoid firings for each setting.  To graph these numbers, I then picked an average between the min/max numbers.  This is not quite accurate, as maybe most of the distances might have been around the high number.  Anyway, the graphs do tell a story about the solenoid and each of the inputs.

1) How does the solenoid firing pulse length effect the ball distance?

I tested various pulse lengths using either a 6V or 12V input voltage for the Boost PSU and MOSFET gate voltage (Vgs).

This is kind of what you would expect, in that once the firing pulse is long enough for the solenoid to fully move, then using a long pulse is just wasting battery power.

2) How does the initial distance between the solenoid and the ball effect the ball distance?

Be default with no spacer, the ball rests about 1-2mm away from the end of the solenoid pin.  The spacer is just a piece of 3mm MDF, so that puts the pin around 4-5mm from the ball.  This gives the solenoid a bit of extra time to build up energy before contacting the ball and start pushing it along the rails.

3) What is the effect of voltage that is fed into the solenoid?

This gets a bit complicated, as I have done 4 tests (with or without the 3mm spacer and with a 6V or 12V input voltage), for each output voltage data point.

Basically though, higher the voltage the more current your going to drive through the solenoid, so the faster it's going to move.  Testing with both 6V and 12V input allows me to verify that the MOSFET will work ok down at the worst case input voltage, ie: both Li-ion batteries are nearly flat at 3V each.

When the boost power supply board is turned up to the maximum boost voltage of 37.5V, there is no difference to using the 3mm spacer.

It would be interesting to try some higher voltages, however, I don't currently have a better boost or higher power supply available.

As an side note, this afternoon I tested this solenoid out with both a rubber super ball:  it only went about 50% of the distance compared with a golf ball (the rubber absorbs a lot of the solenoid pulse); and a ping-pong ball: due to it being much lighter than the solenoid central firing pin, it flew up the ramp, hit the end and launched into the air.  I had to turn the pulse length down to 3mSeconds before it would stay on the ramp.

Wednesday, May 19, 2021

 AlphaBot software updates 19/05/2021

From the last club meeting on the 16/05/2021

New controller request, needed to work on the setup script and continue to work on the streaming issue.

Notable changes to

- Remove opencv/flask and replaced it with ustreamer and OMX encoder support.
- Hostap is now configured as a 5Ghz AP by default.
- Raspi-conf is no longer needed for setting host-name or WIFI country codes.
-Added 'rpi-eeprom-update -a' to update the eeprom if needed, I was experiencing a hard crash with the PG-9099 and Blue-Tooth on older firmware.

Notable changes to AlphaBot2-Control

-Removed all opencv/flash codeand replaced with ustreamer 100% improvement in  video streaming speed, we now have full live video streaming from the camera.
    Viewing stream in a web browser is perfect :)  
    If using VLC you need to reduce the 'Network cache to 200ms so the stream has no delay.
-Added ipega PG-9099 'WOLAVERINE' Blue-Tooth controller support.
-Small code cleanups

Sunday, May 9, 2021

 Last few weeks I've been playing around with different designs of the kicker, to improve its performance by adding a little mechanical advantage but at the same time keeping it all 3d printed.  

*.stl's Available from the git

Monday, April 19, 2021

At the last club meet the mmp1251 controller code was tested with no luck, but now!!!!!

Saturday, April 17, 2021

Playing field 

We  can use this setup to run various activities based on a printed insert. So this will be used for robot soccer, maze following, traffic and object navigation, amongst others. Looking for suggestions about format for games. The field is 2400mm x 1168 mm.