Friday, 6 December 2013

BC Member! Me!

Well, i have exciting news.  I am on the BC. :D

Really hoping i can contribute.  The club has given me so much, i would be honoured to give a little back.

So i suppose this makes me BC approved. :P  Hope it can also help the UK club go on to even bigger and better things, i am proud to be part of the UK club and know we can go from strength to strength.

Monday, 2 December 2013

BHD 2.0

Easy Dudes.

I have been a busy boy. :)  The wiring of the control Arduino shields has been redone.  The pad now uses 2 way serial, opening up many more options for the future.  Also the I2C now transmits more than the script number, it also transmits the charge level. So one reading taken on the master is passed to all the end units. :)

I redid all the end units and spent a but of time making it work as reliably as before.  It took a bit of playing, but its great. :)  I have a load more coding to do now to make the most of the extra functionality, but it all works and the wiring is set.

He spent a couple of hours with the Scouts in Harwell on Wednesday, and they all had a go driving, so he was VERY thoroughly tested. There was some serious button bashing going on and he didnt miss a trick. :)

The new Leia and Luke messages are LOADS louder and now work with the R2 sounds really well.

Latest Code and Files

While redoing the code and testing i tried to document the setup.  I have a BHD write up now.  But i want to run it myself for a few more events and also follow it to wire up a 2nd droid to help improve it.  I will be starting that this weekend. :)  Maybe try and take a few step by step shots to help simplify a few bits.

I will post it about when finished and fully tested. :)

So the blog is now back on-line and all the Google Drive files have been tidied up. :)


Monday, 7 October 2013

BHD Logo

Was messing about last week, and decided if writing it all up, the BHD needed a logo, or something recognizable to go on paperwork, PCBs and maybe even stickers/paches. :)

Here it is:

Didnt think about the intel inside thing.  :D

2-3-2, Dome Servos and Arduino Workshop

Building has been fun recently.  Decided to delay the magic panel and DBC installs, I want to look at the base of my code first.  Reduce a few signal lines and replace them with 2 way comms.

But I added the 2 relays to the dome, these control the power to the servos.  One for the 3 HP servos and one for the rest of the doors.  They both prevent any servo twitch as the main power is connected, so connection order is no longer an issue for the dome.  They also power off the door servos 2s after they are all closed.  This allows the doors to be pulled open when on, stops any servo buzz and saves power.  Really good, highly recommended.  These will be included in the BHD write-up.  Will also be adding these to the body servos, and maybe the dome motor for completeness.

I then moved back to the 2-3-2, James had offered to ask Roger to look at the ankles and leg rod fixings in the feet, so I took him up on the offer, hoping to get this finished once and for all.  The play in those areas was causing a lot of wobble in the 2-3-2.  So almost a full day of stripping the legs on the Saturday, then I set off to Roger’s last Sunday.  We remade the JAG push-in inserts for the ankles for a tight fit on the shoulder bolts, and made them a little longer too.  Then we redid the leg rod fixings in the feet, these now cannot move, and the rod more easily rotates on the brass bush and so it looked like it should solve the issues.

I also wanted to show you my ankle bracelet brackets. :) 

So then came 3 evenings of re-assembly!  So much work to get it all back together.  James came over Thursday evening to help as catcher.  So tested it, it looked amazing, so much more solid and reliable.  But all the positions were wrong.  So I uploaded the tweaked code…..then nothing.  Dead.  I spent about 5 hours debugging, thinking initially that I had knocked out a wire and then that I had shorted the Xbee.  Nope, I had accidentally deleted the line Serial.begin(9600);  not clever, obviously the serial wont work without that!  So once id found that I recalibrated all the positions, re did the 2-3-2 code so that the signal to drive the feet stops when the first actuator stops and not both (looks much better).  It is so nice now.  Really smooth and stable.  There is one little detail of the bolts that attach the legs now taking all the force so they undo themselves, but an easy fix with the right washers.

So here is my 2-3-2 as it should be, stable, balanced and reliable.  No face-plants, no wobbles, just 2 legs to 3 legs and back.  Maybe 60 cycles + now, and still running perfectly.  Long may it last.  But if you are doing 2-3-2, it is a nightmare, does require lots of work, it is different on a dressed droid, and just because it does it once, doesn't mean it will do it all year long.  Don’t give up, just keep finding more ways that don’t work till you find one that does.  My whole frame now needs a rebuild to allow more space for the CPU arm and claw, they fit, but not their mechs. :)

Anyone who says they have 2-3-2, unless you have done 100 cycles without issue, you haven't even started. :)

This Sunday we had another Builders day at my local hall.  We had a really nice Dalek, a beautiful B9, 3 complete droids and 2 part droids, oh and a really nice mouse droid.  There are a lot of talented folk in the UK.

The day included (or was taken over by) an Arduino workshop.  I wanted to get a few people working with arduinos and felt that the initial phase was the tough one, so doing an intro and making something fun would be a good start and maybe help others to pick up Arduino and run with it.  It went really well, they seemed to enjoy it, and were showing each other how to solve stuff by the end, which is usually a good sign.

I had planned to do a load of testing in an open space, but didn’t get chance. Next time.

I finally got the Relays for the feet, only a 5 week delivery!  Will be adding those ASAP.

Monday, 16 September 2013

Magic Panel Part 1

My Magic Panel arrived.  It is a pretty thing. :)

So i soldered up the pins (or James did), and powered it up.  Nothing, so read the guide.  It defaults to flash every 8-12 mins.  So i added the jumper to test the other options.  It seemed like it had loads of potential, but some of the default scrolls and patterns seemed jumpy.  So i started over.  :D

The grid layout of LEDs is complex.  The rows of 8 LEDs are actually the first 2 rows of the 1st chip and not in the same positions.  e.g. Row 0 B11110000 and Row 1 B00001111 will turn on all the LEDs in the top row.  So this was going to be fun.

I used a 2 dimensional boolean array (8x8) as what i wanted to see and mapped that to the actual LED layout.  So i simply change the boolean array to say what should be on/off and then map and print that to the LEDs via the chips.  It works beautifully.  I can set rows and columns and work with it very easily now.

So once i got that setup i decided to do the pattern i had my heart set on.  Random in and out so it is almost like a fade.  I really like this one, it took a few goes to get it looking right, and being random it doesn't always look perfect, but im happy with it now. 

Then i looked at shapes, i applied the Logo on the back of the PCB as one option, but when difused the image isnt easily seen, but it isnt horrible. :) 

Here are a couple of videos of what it can currently do:

So it is now ready for me to decide on when it should be used and add in the triggering, i have started working on the spreadsheet, and hope to have the I2C stuff added this week.  Then i need to cut the hole in the dome and im good to go. :)

Tuesday, 3 September 2013

BHD Control BOM Mk1

BHD Control BOM

The following is a list of the parts used in my current electronics setup.  This is subject to change and still work in progress, but I have been asked a few times, and this will be a useful base for a future write up.
Details on wiring to follow.
All Sketches, libraries, sound files etc can be found here:


5v Dome battery with Auto Sense (20Ah+)

Slip Ring kit, boards and slip ring – See for details

3A Switch for 5v system

BHD Teeces Logics & PSIs

Controls the Logics and PSIs.  This includes a Arduino Pro Micro or mini etc.  Plus Header pins, resistors for voltage divider, leads crimps and covers etc.  This is setup as a 3 chain setup.

BHD Dome Servos and HPs

Controls 3 HP lights using PWM, 3 HP Servos for random and controlled motion, and 9 door servos (4 pies and 5 lower).

Arduino Uno, Mega or Nano : Recommend Genuine Uno

3 Bright White LEDs 

3 220Ohm Resistors

Servos for dome (4 for pie panels, 5 for lower doors)
I use Ripmax SD200 servos, so something suitable to lift the panes, the specs are as follows:
Dimensions (mm): 25.0 x 29.5 x 13.9     Speed (sec): 0.14     Torque ( 2.50
James recommends these:  £10.00 (cheaper on ebay, but get what you pay for)

HP Servos – I have a custom mech, and use Std size servos x 3.  Any servos strong enough to move the HPs will be fine.  Currently the code only does the Y axis, I hope to add code for the X axis too eventually.

Adafruit 16 Servo PWM Controller (+Capacitor and pins), – If servos are added

Relays for servo power – If servos are added

DC/DC converter for servo Power – If servos are added
Plus Header pins, resistors for voltage divider, leads crimps and covers etc.


Rear PSI will also run on Teeces code if DBC is not added.  This will allow control of 6 funtions from the dome bumps e.g. random sounds on/off, hi/low volume etc.

Dome bump controller – See for details of the part run
Work in Progress
Also need a few header pins etc.

BHD Magic Panel

Magic Panel – See for details of the part run
This may well become the controlling Arduino for the Dome servos and HP, but needs coding and testing.
Work in Progress

Body and Feet

12v main Battery – LifePo4 Tracer? SLA – Up to you.  Power depends on weight of droid and run time needed.  This only runs the ESCs and the 3 motors, the DC/DC converters, the amplifier and the 2-3-2 system.  The rest runs on the dome or body 5v supplies.  All 12v supplies are fused, and relays are added on the feet drives and on the servo power feeds to prevent rogue start up issues, and improve overall safety.

5v Dome battery with Auto Sense (20Ah+) (see above in dome section)  This powers the Master, relays, MP3 Uno and Shield, the Body Uno, 2-3-2 Uno, Adafruit and all the LEDs

Feet Motors – Up to you, recommend NPCs for alu droid

Dome Motor – Up to you, recommend Pitman

Fuse Holder for 12v Supplies – Recommend RigRunner 4008H + Suitable fuses for each 12v circuit.

3A Switch for 5v system

BHD Master

Master runs the speed controllers, dome positioner etc and communicates with the pad.

Uno (see above)


SparkFun XBee Shield

Sabretooth 2x25 – 2 x 25A ESC For Feet Drives if lower powered motors you may get away with less current.

Syren 10 – 10A ESC For Dome Drive

Dome pos Pot (Optional)

Feet Relays
Also need a few header pins etc.


MP3 Shield and controller

Uno  (see above)

SparkFun MP3 Shield

Ground Loop Isolator

Any 12v amp, 2 channel, just needs RCA on inputs from GLI connectors (above) and speaker outs, volume control is useful, but not essential.  Recommend a min of approx. 2 x 20W RMS power.

Speakers, cables etc
Suitable speakers for amp, and wires including headphone to RCA adaptor for the Shield to GLI
Also need a few header pins etc.

BHD Body Controller

This will run all Body Servos, CBI, Data Panel and Vegas Kit.

Uno (see above)

CBI Panel – See for details of the part run

Data Panel (Optional) – See for details of the part run.  I am 
not using this on mine so control is basic, but the random mode looks great.

Vegas Kit – RGB LEDs in LDP and Coin Slots

Servos for Utility Arms and Doors (If so add 2nd Adafruit, 2nd DC/DC, Dual 5v 10A relay and more Servos - see above) 
Plus Header pins, resistors for voltage divider, leads crimps and covers etc.
CPU Arm and Claw to follow.

BHD 2-3-2

Optional – But complete and working, please ask for details if needed.  Also feeds back status to master to say if in 2 leg mode.



V1 – Changes to follow

Arduino Mega (see above)

Xbee (see above)

SparkFun XBee Shield (see above)

Screen 1604 LCD I2C

PS2 Pad
NOTE:  Must be New and Genuine.  Do not attempt to save £10 on this part, you will regret it.



Up/Down USB Cables
Header pins, connectors, leads, resistors etc

General list

Solid core wires, lots of colours. :)  For making up shields
Header pins, lots of them, all sorts
10k resistors for pull-ups where needed
Crimps and PCB connector covers in various sizes (details to eventually follow)
Crimpers for above are useful, but not essential
Wires for power and signals, often servo type leads, but also for feet motors (check your stall current values)
Multi-metre (Essential)

Thursday, 29 August 2013

Decisions, Decisions

Time has come for me to Fish or cut bait.  I have been wanting to write up the BHD control set-up and allow others to use it too.  But i have decided to delay it, and give it another few events testing, add the safety relays and make sure it is totally safe.  But also add the DBC, Magic Panel, Data Panel (for those that want it, im not fitting one in mine), and also make a start on the Touch Screen controller for in the droid and get Mk2 PS2 Pad complete and maybe using custom PCBs for the shields and pad. :)  It will be much easier to support something that is pre-made rather than users making their own shields.  Most of my set up issues (and James') were wiring related, and this would eliminate a lot of that.  I may be able to get the new Twist Paw arms in and working, maybe add an X axis for the HPs, and maybe a few other gadgets before it goes live too. :)

So now refocused, i am tracking my Magic Panel as it is shipped from the US, hope to finish the DBC this weekend, shouldn't be long till i have the Data Panel and that will be an easy job to add and code up.   I will start all 4 relays this weekend (2 for the feet and 2 for the DC converters that power the servos).  So in a few weeks time i will be ready to start on my touch screen.  But should have an all singing all dancing R2 for the upcoming events. :)

The plan for the touch screen is to have a touch LCD screen (ideally 5") fitted in portrait behind the big door on the front, so instead of having the Data Panel, i will have my touch screen.  Id like to be able to do almost anything i can do on the pad via the screen, this may mean a menu system, but should be fun to do.  I need this screen to send the scripts to the master via I2C, currently the Uno i use as the master is using all 20 pins, so I2C is the only option left. :)  So i hope that the Screen will talk to the master using 2 way, and the master will talk to the end units, need to get the screen and start playing. :)  This one should be a really nice addition and make the BHD system not just a very functional system, but a cool one too. :)

I need a free graphics app to create the images i will use on the LCD, does anyone have any recommendations?

Saturday, 24 August 2013

Dome Bump Controller - Part 2

So i got the code working, but soon discovered lots of tweaks to make it more usable. this is a list of what i added and changed.
1.  Removed flash after button change to make lights more responsive and not turn off.
2.  Added PSI Confirm Flash pattern to more easily see when activated.
3.  Refined all the Get Out commands to reset more easily if wrong code added.  Any bad combo, or too short or long will error it out.  These only apply depending on conditions to allow it to be played without activating.
4.  Added PSI Get Out Flash to see when it crashes out (it looks like an X on the PSI, may tweak this when diffused to more easily see the shape).
5.  Added de-bouncing to the 2nd confirm to make it easier to trigger.
6.  Added a boot up combo to see if it reboots more easily.
7.  Added the combo entered in the end confirmation flash. :)
8.  Changed all the delays to take out flashes during get out and make it more sensitive but still usable, it now times out in 1s, so it has to be done as a combo, and all the flashes are much shorter to make it quicker to use, but still recognizable.

So the steps to use it successfully are:

1.   Hold both until flashing starts (1.5s).
2.   Release buttons during flash.
3.   Button A or Button B until Flash (0.5s).
4.   Release button during Flash.
5.   Repeat 3 and 4 for the Same button, only one button should be use and from 1 to 3 times.
6.   Hold both buttons until flash starts (1s, then combos are sent on signal lines).
7.   Release buttons during flash.
8.   Flash pattern will confirm the code received.

Resulting in 6 combos, A, 2A, 3A, B, 2B, 3B, or 1-6. :)  These output on 3 signal lines to the master.

The BHD I2C stuff is in, i just need to do the spreadsheet of the scripts that use the rear PSI, then do the timings and the scripts themselves, but all easy to do, just a case of getting on with it.  Once that is all done and in tune with the main setup, i then need to add the reading of the signal lines to the master, then i will be able to upload the code to the DBC and see it working in the dome.  :)

Im really pleased with it, from where it started this morning (i had thought it was almost done) it has come a long way, it is really usable but you need to know what to do, so its spot on.  I havent had any bad signals, and i love that it confirms what it read. :)

Here's a vis of it so far:

Monday, 19 August 2013

Dome Bump Controller - Part 1

The DBC arrived the other day.  It is a pretty piece.  I followed the PDF and soldered it up.  Then went to look at fitting it.  The dome has 2 bigger holes so that the buttons sit under the outer layer, this was perfect for the DBC, and didnt need any work at all.  But i had no way to add screws, and didnt want to add the the steampunk look by bolting through both layers.  But the fit on the dome is so nice.  So much so that i just cleaned the dome and the housing and used superglue powerflex to stick it in place.  Its not perfectly square, but the buttons seem to work fine, so good enough, and it's not coming out without a fight, and if it does i can straighten it next time. :)

So with it fitted i needed to decide how to use it.  The default code controls the rear PSI and outputs different signal lines depending on the combo used.  But i need the rear PSI able to be triggered to run the same as the front PSI during things like the Cantina and Leia message, so it needed to be able to receive I2C commands.  So after a lot of bad ideas i went for a simple setup that will work with my current setup, but that wont be required, so can be left out.  This is the plan:

I2C triggers using the same as the teeces, run the rear PSI options, e.g. flash one colour
Rear PSI will flash in the default way while inactive, so std sweep unless set by the user in code or by pad.
Buttons will flash the rear PSI when pressed, so A is one colour, B is the other and Both is all LEDs on
The code will look out for the following:
If both held for 1.5s then flash the Rear PSI in a pattern, then either press A for .5s up to 3 times, or B up to 3 times.  The corresponding colour will flash for each press registered.
Then press both again for 1.5s  (any alternate combos or held far too long etc will reset combo seek)
Rear PSI will flash a fattern
Using 3 output lines signal out the chosen on the 6 options  e.g. for 1 use B001 for 6 use B110
The signal will go high on all three lines to signal a new command is due, then it will set the output lines for long enough to be read.

This gives the option for change and growth, by adding more lines and combos if needed.

So far i have the following planned for the options:
1 x A = Random Sounds On/Off
2 x A = Random Delay Long/Short
3 x A = High Low Volume
1 x B = Random Dome Motion On/Off
2 x B = Feet Drives On/Off
3 x B = 2-3-2 ?  Maybe add extra combo for this one to make sure

So i made a start this weekend, but working with 2 buttons was more of a pain than i expected. :) I didnt work hard on it, just popped in and out, maybe why it wasn't happening.  But i got there.  I have coded all the button combo stuff and PSI default running stuff in, added the I2C base, i just need to add in the Teeces script alternatives and get the timing right on those. :)  Im pleased with it so far, it should be easy to use but not easy to accidentally trigger. :) Just needs testing to death now. :)

I have a test setup with 2 buttons, and a rear PSI, then 3 LEDs setup as the output pins and will test the code on that Uno.  Then i will need to update the master to read those pins, assuming i have enough spare. :)  Then get all the timings right for the teeces scripts and then once all that is done i will upload to the DBC.  All this fuss for 2 buttons and 6 options, i must be mad.  But that DBC is too tarty to leave out. :)

Thursday, 1 August 2013

CE2 - Essen Germany


What a great weekend, where to begin?  Lots of cool moments, but i will remember the event because of the other builders and their droids.  A wonderful bunch of people.  I felt very relaxed and in good company at all times. :)  And the droids were great, lots of cool stuff on the way. :)  At least 5 2-3-2 systems on the go, all using slightly different methods.  And lots of plans to advance things, it has worn me out.  But after a recharge I will just have to keep pushing on too. :)  Good luck everyone, i look forward to reading your progress. :)  The other thing is the kids, they do love R2, in the droid play pen on the stand they would lean in and stroke him, it was like being a zoo animal, but they loved the droids, i spent quite a bit of time driving in there.

Thanks to Arnd and Bernd and all the German guys, they did a superb hosting job.  The stand was great and lots of variation for the public to see.

But also thanks to the UK guys, all superstars, a great week, with great friends.  Some fine work all week long.  So many fun moments and about 3 million Star Wars references along the way.

R2:  A few lessons from this weekend.  The 30Ah 5v packs i bought seem to last less time than the 12Ah ones i have, so may need to try some others.  The packs also were only lodged in and so on 3 occasions i hit a bump while driving and the battery hit the power switch, not good, he just retains the last signal.  One builder's leg at low speed (sorry Michel) once while dancing in a spin.  And once while reversing.  All luckily with no damage or major trouble.  So i then taped the batteries to the main battery and it was fine for the rest of the event.  I have a plan to totally avoid this issue, will do that next.

R2's drive was a problem this weekend.  It started on the Thursday, in the press conference the drive started rubbing and he was ripping through power.  But with a bit of WD40 we struggled on.  Then disaster, R2 stopped driving on 1 side.  So i got the legs off and found that the keyway stock was missing from the drive cog on one foot.  So long story short, by locking one of the grub screws into the keyway i managed to lock it, and it lasted the event.  But while off i saw how badly the wheels were rubbing, so went hunting for 4 screws and a drill.  Felix had the drill, Bernd had the drill bits, and Heiko had the screws, i popped a pilot through the wheel hub into the derlin hub to lock it, worked perfectly.  Big thanks guys.  Couldnt have carried on like that :)

After that the battery lasted really well, so by the end of the event i was starting to trust him again.  Little bugger.  He has been pretty good recently, but every issue makes for a safer droid.  So id rather find an issue i can solve with no damage than have a good event and still have a hidden issue.

So i didnt drive him about as much as usual, but still had fun with him, the pen was a great idea. :) 

Here are a few photos i borrowed:

Me getting interviewed by Warwick Davis ;)

Flip, happy abut something.

Russian TV girl, she was dancing with R2 and shook his hand. :)

Slave Leia :D

R2 leading a troop of 6 dancing Canteena girls. :D  Good work R2.

4 UKs with the Lego R2

Anthony Daniels and the Droids. :)

The press conference waiting area droid line up. :)

Steve Sansweet with UK builders patches. :) And the UK group. :D

Clone Wars designers filming my droid. :D

Kenny Backer, UK R2 Senator, proud moment for the UK guys. :)

I have so far found 40+ vids of the EU Droids at CE2, and will continue to like all the vids i find on my YouTube channel:

Dont forget to subscribe while you are there. :)  I will keep liking all the vids i find. :)

Saturday, 20 July 2013

CE2 Awaits

I looked at the trolley today.  The rear door was getting bent every time i used it, so it needed addressing.  I added a board the same height as R2 to the trolley to give a flat surface for the frame rings to rest on, then removed the area of the mat that was pressing on the rear door.  It works well, he now rests on the trolley without damage. :)

I then decided that the way i was strapping him to the trolley was also not ideal, it too was putting pressure on the skins and bending them.  So i found that if i strapped round the leg to body hubs i could strap him on really tight without that problem.

So all safe and strapped to the trolley but no protection.  So i got my over sized sleeping bag out and started playing.  By making 4 small holes in the right spots, to pass the strap through, the bag can be used on the trolley and he is still just as secure.  Really happy, hopefully he will make it to Germany in 1 piece now. :)

So with that done, i moved on to repair the back door.  I removed all the bent bits and flattened them out and reattached them with VHB, and added tape to the back as extra support.  Job done. :)

Then a few final little bits.  I fine tuned the utility arms, and tightened a few bits and put the skins back on.  And taped up a few unfinished bits.  He is looking fine. :)  I might swap out one for the front logics tomorrow (it has a dead LED).

While playing i spotted another issue with the 2-3-2, the leg rod fixings on the feet have play in them, not sure if that is due to the grass driving or if it has always been like that, but it will need redoing when i redo the ankle joints.  I am confident that that will help quite a bit, and mean that the drive moves the droid and not the angle of the foot first. :)  2-3-2 is an almost never ending pursuit, fun, but not for the easily scared, we will get there eventually. :)  But for the moment, 2-3-2 and 3 leg driving are fine, its just the 2 leg driving that will benefit. :)

Ian dropped off his droid today.  James is over Monday.  We collect the Van Tuesday, then fit the false floor to maximise the space.  Then Flips for Tuesday night, via a few droids. Then its the 8am Ferry and the trip to Essen.  Cant wait. :D

BHD Control code now Online

James has now had the code uploaded to his droid too, we tested the booleans for the 2-3-2 and dome potentiometer.  All works well.

We did need to adjust the stop points for the dome and feet drives and also the speed and turn profiles for the different modes, but easy fixes.  The code is now reordered and annotated to make those changes easier for others.

I went through all the sketches and added a header, and a few critical annotations.  It can still be improved, but its all in there now, all tested and all working reliably.

Im not 100% happy that the random dome motion prevents the triggering while moving, but it was intended more as a static mode, so its fine for now.  Also the flash of the HPs means that the dome servo scripts can be up to 0.15s slower to trigger, but no biggie.

So all MP3s, all sketches, libraries and Xbee files are now uploaded to my drive.  Please test them thoroughly before using in public.  Mine has a lot of run time now, and i have fixed lots of issues, the code is good, but id hate to see any droid go wild.  This code is used at your own risk, but i haven't had any issues and trust it.  Good luck.


I will write up the wiring of the setup after CE2 and pad 2 are done.

Im so glad i upgraded it to the 193 commands, it gave me the chance to refine a lot of the functions.  Really pleased with the results. :)

Sunday, 14 July 2013

The Warborough Festival AKA 3 hours on grass!

Well.  A mixed weekend for R2.  

The 30Ah 5v packs arrived, only about 60% heavier than the 12Ah ones and they also have a power draw sense, so i only need one switch inline to turn the power on and off.  I will need to do some work to fit it in the body, so decided to add one and a switch to the dome as a quick job.  I used a short USB extender, and stripped it to add the switch on the +ve line.  I then rewired the dome to use one USB lead as the power to both Teeces and servo controller.  The switch is easily accessible with the dome facing forward and the back door open.  And much easier than fishing around in the dome. :)

Then my car let me down, so i was forced to cancel another event for Saturday night.  I was really disappointed i couldn't make it. it was for a charity about as close to me as it gets.   Hope they repeat the event and i can go next time.

But that meant i had a fully charged and ready to go R2, so today i went to the village festival, and was soon convinced to bring R2 down.  He ran on the grass fine for about 3 hours (all i could manage), the ground was hard and bumpy but R2 coped well and he was really well received.  So much love. :)

Me and R2 :D

The new code all ran fine, no bugs at all that i spotted, the delay on the triggering while the dome is moving is a bit of a pain, i may have to look at seeing if i can put in a cancel for that to make it more responsive, the grass made no difference to run time, the extra drag didn't seem to make much difference, i just had to drive a little slower so that the door didn't bounce open, all the batteries still show as full after the 3 hours, nearly all with the dome random on.  So it was a useful afternoon, even if i do now have to double check what has come loose. :)  

Will make the final tweaks and upload the new code this week.  But please don't post any spoilers if you go digging in the code. ;)

Sunday, 7 July 2013

Redo Complete BHD v1.0 is fully operational

The 2-3-2 with the feet drives is a lot better,  the wobble of the caster is gone. :)  I still need to adjust the bottom limit switch and also the 2-3-2 drop position, but it works much more reliably with the feet drives in. :)

2 leg still mode isn't right, fine forwards or backwards, but not while turning, i need to do a whole new mixing method for it, the resistance to turn is too much, so needs more power, but i don't want the forward speed to be too much, may have to sketch that one out, should be fun, and might be better on the other modes too and allow faster on the spot turning.  Maybe later, for now its stable enough for parking. :)

But the tweaks to the slow mode are an improvement, a little more top speed and a little more agile.

Loving this dome motion, while static i now have the dome position, MP3s, random HP move with flash and the logics and PSIs, he really seems alive. :)  I might try and add the odd ripple or twitch here and there too, on the dome servos and utility arms, but i want him to be safe while doing it, so will have to make sure nothing opens too far.  Will just help add a little more character.  But he has character already, he made me chuckle a few times while letting him run. :)

So that is it.  I still need to annotate the code a little and pop on a header.  I will do the event next Saturday (Oxford SciFi Moonlight Walk) and post the code once it has had a proper run. :)

Still not done those door servos, its a pain to get to the arms, maybe forget those for now, just do the CBI and big door next to the vents.  There is still time. :)

While testing, i have noticed that the body battery seems to run down quicker than before.  It is now running the Master and Xbee, dome positioner, MP3 uno and shield, 2-3-2 Uno and pots, Body controller, CBI, Vegas Kit and Adafruit.  It is happy running them so cant be more than the 3.1A output, so i decided to upgrade, i have ordered 2 30Ah 5v packs, so i now have 2 12Ah for the dome and the 2 30s for the body. :)  Should last a whole event for the 5v needs. :)

I also ordered some USB mains adapters and a UK to EU converter, so all i need now is the USB leads and a 4 way extension and i can charge while in CE2.  So R2 is nearly there now, just me and the trolley and we should be sweet. :D

Final testing before driving

I got most of it running. :)

But i still had a few things to sort out.

After playing for a few hours, i gave up on the MP3 freezing problem, but after a kip i found the issue, i needed to reset the script numbers on any functions that did not play a track.  Easy fix once found.  That is sound now.

I added a random dome position, in the vid it was in it's early stages, i spent a little more time making it more usable, it now works in the first 120 or so degrees of front range, i used 9 positions and simply random one, wait a random time and repeat.  I did it so that the dome drive can still be used, it will wait for about 2 s of no dome motion before doing the dome motion and then random wait, works really well, but other than feet drives, it wont receive commands while moving the dome, so ok while static but not ideal. :)  I added a slow fast option, tied to the random sounds frequency, so like an overall activity level option.

I also reduced the flash of the HPs on random to 0.15s so that there is less delay running any scripts.

Then i ran into an issue, i thought the 2-3-2 command lines were fine, but turns out that if you use pin 13 as an input on an uno, it floats at 1.7v because of the LED on the board, hence i wasn't getting a reliable 2 leg signal.  So i moved to pin 7 and it started working, sort of.  After a lot of debugging i found out why the 2-3-2 call wouldn't end, i had the wires the wrong way round!

So with the 2-3-2 call ending nicely i knew the while calls were ok, so the pins were all signalling fine and the 2 leg/3leg on the pad was showing correctly.  So i wired up one motor and did some more testing.  I had to fix the direction of the motors during 2-3-2.  Hey presto, controlled feet drive motion during the 2-3-2. :)

I then got the walk working too, and moved onto feet drive testing, i spent a while trying to work out why it wouldnt switch to fast mode, but then i remembered that in 2 leg mode it wont, so did the 2-3-2 and all worked fine.  Muppet!  But both slow and fast modes seem fine, 2 leg driving is much slower and look like it will work well.

So its time to fix the legs on and adjust the speeds to suit the droids. :)  Must do that tonight, after that is done, and 2-3-2 positions are fine tuned for balance, i should be ready, all bar a few small jobs that dont really matter. :)

Pad Mk2 is going well, slowly working on the layout. :)  Maybe in time for CE2, you never know. :)

Will post a vid once i get him driving in 2 legs. :)

Saturday, 29 June 2013

Testing almost done

Another boring text update.  But im not quite ready for another video, and its all code based stuff anyway, mostly to get it doing what it before did but better. :)

I have been uploading, testing and fine tuning my code, all week.  Started on the Vegas and CBI code, took ages to get it running, i wasn't powering the 2-3-2 system and so the I2C wouldn't boot and the body Arduino wouldn't start.  But once i figured it out and unplugged the 2-3-2 I2C it ran fine.

I then got all the dome positioner stuff retested and I moved onto the MP3s, I added a few new sounds, and made a couple of my most used ones more available.  Once all the new commands worked i moved onto the dome.  Plugged it in and the logics and PSIs ran random fine, but nothing on remote, and the HPs and dome servo controller wouldn't boot, so I assumed I2C issues and tried everything I could think of and nothing would work.  So i looked at the whole dome setup again.  Because of the Adafruit, the 5v system in the dome was totally isolated from the body 12v system, so i added a ground wire from the slip ring power feed to the teeces supply and booted it up.  It ran great.  So I tested and tweaked all the lights commands.  Then fitted a ground for the dome servo and HP controller and powered the adafruit from the arduino.  That ran great too.  I adjusted all the servo open and close points and tested all the dome servo and HP commands.  All great so far. :)

I think the lesson is to ground every system together no matter what, that way there is less reliance on other connections to ground it. By grounding each arduino it also allows them to be run with the lead connected from the PC, for much easier uploading and testing,  So might have to redo some of the wiring in the body.

So all the fitted bits were working, but the timings on the combos needed adjusting and a few of the new scripts kept growing. :)  The pad needed a slight fix, i had the 2/3 leg mode the wrong way round.  I found a system for working with all the different sketches.  I would open those i needed for the combo, make all the changes as i went and then upload, when happy with that combo i would save and close that sketch, so i only had those i needed to upload open.  Worked really well, it can get confusing. :)  But my new spreadsheet helps a lot too. :)

While in the dome servo code I took advantage of the slow mode and added a really nice Mexican wave, also redid a few of the other servo scripts.  Then had the thought that the HP servos and lights are on the same controller, obvious I know, but I hadn't seen the potential.  :)  It would be pretty easy to add a flash when it moves the servo in random mode.  It looks wicked.  The random mode sometimes selects the same position so you just get the odd flash with no motion, really cool.  There is a slight compromise, it adds a delay of 0.3s for every flash, so there may be a slight delay starting dome servo scripts if it is flashing at the time, but i can happily live with that.

Really pleased with progress, it has been slow and a little frustrating at times, but it has been great to see him come back to life. :)  193 options now, and the improvements have bean a big success. :)  Assuming the drive code and 2-3-2 stuff works ok, we should be running by next weekend. :)

A couple of odd MP3 not responding issues, but not sure if it was just me, last run it ran for at least 2 hours with no issues.  So fingers crossed.

I then started on the utility arms, i fine tuned the positions in the openings so they swing freely.  Then thinking about the dome servos only using half the available range (will redo the pies soon, but lower doors are a pain) and knowing how much power these servos need as they are currently, i decided to shorten the arms by about 25mm.  It uses nearly double the servo range and will maximize the servo efficiency.  I am a little worried about running these higher power servos through the Adafruit.  Will keep my fingers crossed.  Just need to neaten those up and i can get on with mounting the 2nd 12v-5v converter and adafruit and i can get testing that too. :)

Remaining jobs:
Sort Utility Arms for better range usage and alignment.
Fit adafruit, DC/DC and wiring for body servos.
Connect body door servos and test servo code.
Test 3 and 2 leg driving modes, speeds retune and retune 2-3-2 positions adding feet drive for max stability, plus wobble and walk tweak
Trolley revamp to better protect the skins from damage.
Back door repair and reinforce
Get chargers, extension and plug converter, to be able to charge all 4 batteries at once.  3 USB and the big one.
Cheat sheet redo, may need to be double sided now. 

If Time:
Pad Mk2 or Redo controller strap hanger bar for better hang when in use.
Redo pie dome servos, for better range usage
Centre vent remount.
Magic panel install and code up - unlikely

Dome bump controller install and code up - very unlikely 

Mancave floor arrived today. :)  We marked it out, it is going to be great, my brother has oak panel frames, so that is 5 windows and a double door sorted, just need a frame for the doors and the 7 bits of glass. :)  Each bit of glass will be about 6 foot long and about 15" deep.  Cladding and shingles are sorted and timber arrives Wednesday morning.  Getting really excited now, should look great.  Need to start looking at electrics and internals straight after CE2.  But the sofa is sorted. :)