And then there’s the ‘App’

MeccaNoid Android Application Version 2.4 (31)

A year waited for and a few waited longer before Application with ” Behavior Builder”showed up in Android Market.
Open Source. yaaaaa. Funny. When Meccano / Spin Master declare properly what is and what isn’t “Open Source” of what has been released then I will take it more seriously instead of a buzz-word sales tactic.

Copied from the Meccabrain.cpp Arduino IDE library posted on Meccano.com websiteinside a compressed folder named “meccanoid library” as of June 26, 2017:
“”
/*
LEGAL NOTICE:
Meccanoâ„¢, MeccaBrainâ„¢, MeccanoTechâ„¢ and Meccanoidâ„¢ are trademarks

of Meccano. All rights reserved.
The information contained in this document is Proprietary to Spin Master Ltd.
This information should not be used in the creation and sale of any commercial

product.”
*/
“”

That bit of text in the header of program Library made freely available to me says: NOT OPEN SOURCE. I guess there’s no web resources describing Open Source. NOT.

It is reasonable to assume API is free for use with Meccano hardware. IMO.

********//// The Meccanoid Arduino Library is not complete and has typos,errors.  Meccano_Smart ModuleProtocols_2015.pdf has same. Library does nothing by itself and requires a program written by You or someone else brave enough. It is an Application Programming Interface (API). It implements low level protocols used by Meccano servos and modules made available by inclusion (#include) in user program.

Basically it’s a translator so your program can talk to Meccanoid hardware through whatever microcontroller.

******It is not a Meccabrain ™ control program and as of present
Meccabrain is a closed system.  The use of Meccabrain name in its declaration in Library is misfortunate and adds to confusion. It would be nice if Meccano would release the BLE controls protocols so actual Meccabrain could be used in true Open Source. \\\\*********

It really is disappointing to diminish a perfectly usable 16 bit processor to a singular use when could easily be left open. *sniff* some blue.

*Sigh.*

Perspective:
I’ve been Building robots and electronics way too long.
I’m a ‘long-time’ fan of Meccano and Erector. From the disappointing 70’s of Erector to the glory of Meccano up to 90’s and A.C. Gilbert Erector Type II sets far Older than me; there will always be a fondness.
So when Spin Master manned up a Meccano(id) Robot I was thrilled. Honestly.
Was almost preschool child like giddiness on Christmas eve night thing.
Robotics and Meccano. My favorite hobby and construction toy. I already had a pictured model in mind with all the elegance of past Meccano gorgeous fine tooth brass gears, and style of Type II Erector, with modern flare for a New Generation and big HONKING hulking powerful motors like yester years. Now with: stand alone semi-autonomous programmable microcontroller, servo control , modern batteries, fancy L.E.D. lighting and color changing, modern voice synthesis, and array of sensors.  Of course there had to be WIFI and Bluetooth. Duuuuhhhh. Another assumption would be odometery on drive wheels or at very least a reliable Navigation of some kind.

Ah sweet fantasy.

*POP* goes the bubble.

Reality sucks.

Got some bit of what fantasized anyhow and usable voice control. Sea Monkeys anyone? Alright not that bad- mostly. No sonar either. Is like: but everybody else has one on their systems. Well if everybody else jumped off a cliff — Yup probably in this instance. Of course without sonar, Infrared, or other way of determining the edge of cliff it can be reasoned that leg motors will continue to push forward til gravity forces ugly termination of program. The original drop down and through programming style.
So with that in mind:

Some of this is me whining and venting.
Some may be constructive criticism.

 

Meccanoid Android Application.
Don’t know about that other thing or those Other fruity things.
Overly fat power sucking Unity stuff. Not picking on Unity. Is good portable library on multiple platforms but can be taken to less than good use. Seriously bad processor / battery drain for what appears to be doing little to nothing.

Ummm…. Program audio control? Oh. No. Turn your volume off and on manually on your smart-er device.

Besides bad sound effects are much better than anything else you might need or want to hear.

3D Ragdoll Avatar on 2D display more work than useful.

Would it have been so difficult to put icon on the sides with backward -forward-left-right? I get it. It skid steers like a tank. Differential. Can think of at least a half dozen better ways to do this than having to press two icons to go forward, wait for Avatar to turn around, and then use two other icons.

Screenshot_20170625-061356

Ragdoll Slider controls better but lack edit labeling and specific positioning or speed control. They do have labels now but too generalized: Head, Left Arm, Right Arm, Feet and Eyes.   Labels only there in offline not connected to Meccanoid. Needs work.

Color wheel selection of LED lights on servos and LED light bar are fairly simple and allows transition speed for light bar. So one thing I cant really complain about. Wait a bit and some complaint will manifest.

I’ve seen the LED light bar referred to as Smart LED Servo with other names. Check definition of the word ‘servo’.
It’s not a servo mechanism. The official name in the construction manual is “Head LEDs” and “eyes”. Elsewhere “Smart LED module”,” Programmable LED Eyes”. According to Owen Lu it’s “Meccanoid Brain – RGB LED”. That’s hardware and so back to APPlication program.
All is limited by a timer based storage window which must be saved once full or “new”ed out. Needing to start another session. That can be irritating when desiring only to drive bot around. No setting for turning off recording session and run continuous.
No reasonable way to edit what was made either.

>>>Motion Capture was cool but again no editing and it needed it. Shadow gets confused and messes up an otherwise perfect sequence. Motion capture is no longer available sadly. Supposededly replaced by “drag and drop” AKA “Behavior Buider”.
Don’t know which is worse name. Alternatively I like to call it Crazy ArRoWs. That is excluding a list of derogatory names. <<<.

Shut off App or Blue Tooth and robot returns to dumby. The illusion of autonomy gone.
Not dumby really. Plays a bit. Have L.I.M. to work with.
Who thought using BLE (BlueTooth Low Energy) cutting off large number of available devices was a good idea?
BLE also tends to be on newer more expen$ive devices.

Drag to death and drop in trash programming. “Behavior Programming”.

Crazy ArRoWs everywhere and sometimes can’t always see where they’re going.  Often not to where intended. Drag to point intended. Drop. Goes somewhere near butnot where needed or not at all. Combines several elements together that were never intended. Sure, watch the little red dot pop on and out in modules while program runs.

Ya. Sucks.
Damn it dropped wrong place. Drop in trash working elements so can fix. Redo.
Lack of OOPs or BACK or Undo buttons. What the smeg?

Single step backup at least…. come on- sheeeesh.

Maybe start from ‘SCRATCH’ and work upward. Top-downward? Freaking 1980’s Turtle language maybe? LOGO, Pilot, Forth with Turtle, anything. I would welcome BASIC here or Micro ‘C’. Ya know like the Arduino but without having to buy an 8bit MCU when a 16 bit is already there and 32/64bit speed demon number cruncher in Smart Device. There’s a bad pun and a suggestion there somewhere.

For navigation … nothing. It has no odometery. Turn driving motor(s) on for ‘ x ‘ seconds at unknown speeds labeled very slow to very fast. 5 seconds minimum at very slow single drive or differential gets about 90 degrees turn. So much for fine control. Can use Ragdoll to make a recording for less run time on motor but still sad. Worse is Ragdoll recordings may not work as entered in Bad “Behavior”.
Lack of environment input not helping. Could use some simple switch inputs minimum. Using a servo’s feedback silly but it’s there. Not great mostly due to losing a servo to do it. Can be worked around.

IMG_20170701_060504

Dragging four menu buttons out of the chest (Meccabrain) to something and some where more useful comes to mind. More on that laters. maybe. Ha. Assuming Crazy Arrows can handle it.
Has voice control but no method to implement in programming. Yes or No response to question would be nice.
There is no provision in App for saving programs externally. Alternatively snag programs and sounds from Android file structure but will not include  L.I.M. which is on Meccabrain. Have to use a File Manager as there is no provision in program. Assuming access to files not blocked by firmware and permissions on smart device.

***Drone Mode: Another issue with “Behavior” is that it may not let you make a program if less than four servos are attached. If it does it may not work. Nothing happens or only some work. Sliders under Ragdoll may not work either. They go up and down without response on Meccanoid. Especially on channel 1 servo socket. Channel 8 sometimes works. The ‘start star’ wont be there with less than four servo in some modes and certain sockets.

IMG_20170701_060512
More Quarkiness. Configuration that usually has no problems is at least 2 servos on slot 1 and 2 servos on slot 3. Which not surprisingly follows G15 original wiring and it’s

Dino variant. Drive motors always seem to work.
True on G15 and G15KS.
Learned intelligent movement (L.I.M) recordings can be included into program.
L.I.M. seems to have no trouble but not reasonable to try all variations of slots and servos. Unlike App, LIM will recognize extra servos and record from them. App Programming and sliders may not.

LIM allows saving up to 15 recordings at about 3 minutes each. Approximately 45 minutes of recordings that can be used in Crazy Arrows and stand alone without App on Meccanoid.

Presently “Behavior” programming has numerous quirks and bugs.
A for instance or e.g.:
Setting any servo to LIMp to get a position may force all servos to LIMp. Once it gets what you asked it for everything goes back to active where last left them.
LIM(p) is the icon element for servo input where can be chosen a condition of less or minus 90 to -90 degrees of servo position. Smart servo disables motor on selected servo. Waits for servo position to match within a range entered.

180 degrees represented by a ~90 degree angle. Technical illustrator was where?
Work around bugs and bad representation to best patience will allow.

Wrapping it up:

Altogether a good toy. Far more of a programmable animatronic than programmable robot in ROBOT mode. Semantics somewhat. Drone mode allows more control and variant builds, but vast majority of capabilities in Robot Mode disappear including voice control. Not a big issue as I see it. Coolness factor 1.0 but noisy environment non functional.
Can and could be more of a learning system. S.T.E.M. worthiness questionable and limited at that. The sparse Maths in programming language particularly dissuades. There’s some in there. Look harder. It will inspire a few kids into finding out more. Where inspiration is encouragement then yes it encourages STEM.

Can a child learn to program on one of the smart device compatible with Meccanoid and it’s application? ***** Please note the qualifier ‘compatible’.*****
Yes. Programs will have to be simple and will probably require much more thought and planning than should be necessary.

Learned intelligent movement (L.I.M) is cool. It’s Meccanoid’s ‘programming’ feature that doesn’t require a smart device. A series of movements by motor servo position can be recorded and played back. Sound is also recorded through microphone. Servos turn off motor allowing them to be positioned within a range of 180 degrees with little resistance. I don’t consider programming exactly. It is path mapping. Little more than Recorder with playback. Ragdoll allows re-recording over to a point in time by slider bar , but missing any reasonable definition and inability to edit. LIM doesn’t allow stopping, back-track, or re-recording from a point in time so no editing either..

It should be noted that LIM likes to cut off approximately a second to two off the end ofa recording on some firmware. 2.8 firmware doesn’t seem to have that problem.

Lack of Drive (foot motor) control in LIM LIMiting. If LIM can be moved to a programming or at least event scheduler environment that would allow editing or conditionals then it would be programming.
LIM recordings can be included in Drag and Drop programs. The programming part of App lists LIMs by number not given audible name. Write down which is what recording in order helps.
Don’t remember order or which ones? Ask Meccanoid to list them. It will in order by the name given.

Crazy ArRoWs errr, um,  “Drag and Drop” AKA “Behavior” programming environment is NOT polished and lacks basic editing capabilities. It has quirks that may likely lead to a disdain after a period of time. May be a patience endurance test. I have an evergrowing list of Bugs, Quirks, and various dysfunctions.
Frustration is what is NOT wanted for young folk.

If noticed frustration then it’s time to move on to:

*Arduino also Genuino. Uses Meccanoid free Library. The Arduino company has split up a bit. Another topic in itself with the addition that processor manufacturer Atmel (ATMega) and PIC Microchip also are an issue somewhat. A PIC processor can also be used but it has its’ own IDE. Online Support communities vary. Arduino in my opinion the greater. Leaning towards cheap *uino knock offs myself lately.

*Other microcontroller control. Like Texas Instruments (TI LaunchPad) or ESP – 8266/32 by Espressif , or ST Thompson ST8 , or ________ . ESPs being popular due to WIFI and 32s’ bluetooth and dirt cheap.

Many other MCU manufacturers have adopted the open IDE for programming.

Raspberry Pi (Linux) is a ‘virtual machine’ and does best with the help of a microcontroller. It can do some low level but timing gets tricky.
Older model Pi like the B less power then the newer Pi2 (B) but still looking at around 1.5-2 Amps @ 5VDC. Pi2 is faster but likes more power. 2.5A average so far. RPi2 has a little lightnig icon show up on display when power goes brown. Power sucking an issue. AA NiMh not gonna do it for long. Maybe several banks. Probably should check to see how much the little feet motors can handle weight wise.
RPi does have Scratch and other programming languages. Is easily the most supported SOC (system on chip).IMG_20170320_034636

********//// The Arduino Library and “Open Source” Protocol are not complete and have errors. Library does nothing by itself and requires a program written by the User to implement the protocols used by Meccano servos and modules made available by its’ inclusion’ in program. It is not a Meccabrain ™ control program and as of present Meccabrain is a closed system.  The use of Meccabrain name in its declaration in Library is misfortunate and adds toconfusion. \\\\*********

IMG_20170320_035843

*one of the other building systems and respective related controllers and software.
They all have strengths and weakness. Meccanoid not only helps build itself when Meccabrain is running, it is also pre-programmed to perform under Robot Mode.

UNFORTUNATELY if u have original G15 it NEEDS the update from 1.0 firmware via USB and Robot Updater program running on PC.

Meccanoid Expansive? No not directly other than buying more servos. Servos addedmay require some experimenting to get to work with Application. LIM does work tho. Meccabrain 2.0 is out for ~50$US to replace G15 Meccabrain. Not feeling it. A good microcontroller with an IDE (Integrated Development Environment) would be far more useful add on. Adding other erector sets with servos and a better APP would be ideal.

Irregular shaped pieces would likely be substituted out for conventional Meccanoand/or Erector pieces.

Home computer free or self sustained it is NOT. Needs firmware updateminimum. Going further with “drag n drop” programming requires an Application programrunning in another computer smart device with BlueTooth LE (BLE) capability. More devices being incompatible then compatible. Cheap tablet thoughts vanish. This will change as BLE comes to be more standardized in newer devices. No Desktop or laptop versions of programming language available yet, and yet requires USB interface for firmware updates.

Been holding back and is good to let out. I was holding out for would had been fixed. Apologies for all the Quotations but needed to make clear that my terminology may notmatch others or the term-name-intention is not mine. Hopefully helps someone.

IMG_20170320_035535-e2

Yes I could go on, and will. Laters.

Advertisements

Meccanoid G15X2-KS

June 22, 2017IMG_20170617_050555.jpg

Meccanoid G15X2-KS.
Power Dwarf.
Good for pushing over G15KS and XL.

IMG_20170617_050655.jpg
Hah.
X2-KS is for the second G15 that was scavenged for its parts and KS firmware flash to handle four additional servos in KS configuration. Kept short in stature for now.

IMG_20170617_050702.jpg
Stay tuned for G15-X2KS Texan. Which may or may not happen. G15 servos (AKA CAM 03, Blues) aren’t as powerful as G15KS( DEV-06 Yellow) and will go Arduino or ESP8266 with an Arduino. Necessary for what I want to do.IMG_20170617_050709.jpg

I like the KS firmware voice soooooo much better than Lollipod Kid helium huffing IMG_20170617_050730.jpgWizard of Oz G15 voice. Anyway… alternative build.

Systems Check

Another firmware is out for G15: English US G15(and KS)-2.8.

IMG_20170613_062602.jpg
Not exactly sure what this adds or fixes.
It does NOT fix “Adjust Volume” voice command. Still stuck in SET ALARM response.
KS and G15 versions.

The only option to adjust volume right now is download the English UK – 1.9 firmware.  Use “Adjust Volume” voice command in settings menu to set where you like and then re-flash 2.8 firmware. Of course you have to suffer horrid British accented Meccanoid fora bit. Was waiting for to go Mary Poppins song step. Didn’t happen thank goodness.IMG_20170616_171204.jpg

I suggest highest volume and just tape over speaker if needed.
Of course if you speak another language can try flashing that.

The 2.8 firmware has more features than the 1.9 firmware for ROBOT Mode.
If you’re running in DRONE Mode then probably don’t need it.

Sad? Yes. Sadder still: Why is the UK ROM stuck in 1.9 land o the past?  I’m conflicted that it’s useful for back-stepping but don’t fathom why UK version is neglected.

IMG_20170616_041826.jpg

Then out of curiosity I clicked off the different languages through the Robot Updater

and fOuNd:

Language: Firmware Version G15 / G15KS:
English (UK) 1.9 / 1.9
French 1.7 / 1.8
Spanish EU 1.6 / 1.7
Italian 1.5 / 1.6
German 1.4 / 1.5
Russian 1.2 / 1.3
Japanese 1.10 / 1.11
Dutch 1.3 / 1.4
Spanish Americas 1.0 / 1.0
Danish 1.2 / 1.2
Swedish 1.1 / 1.1
Norwegian 1.0 / 1.0
and hopefully to embarass:
English US 2.8 / 2.8

Wow 1.0. Seriously ugly stuff. For the G15-US-1.0 was horrible because of battery voltage reading was set too high and would shut Meccanoid G15 down within a few minutes (about 10-20 minutes) with there being plenty of life left in batteries..

Programmers dropped the ball or ran away?
Somebody must have spooked them or there’s a shortage
of tater chips, popcorn, caffeinated drinks, and coffee in certain places.
Possibly a cheese curls deficiency.
Though reasoning suggests a relatively unknown processor / parts and lack of
documentation in anything other than Chinese is not helping.

IMG_20170616_041836.jpg

Mentioning China and not seeing a Chinese firmware.

Fuse blown there.

IMG_20170616_041846.jpg

NOTE: Flashing new firmware results in Meccabrain doing a diagnostic which must be completed in ROBOT Mode or App will lock out. The completion of startup system check requires all servos for whichever ROBOT (G15 or G15KS) and light bar be in the jacks in accordance with directions. Drone Mode in App will also be locked out.

Meccabrain will operate in Drone mode but not the App.

***No you don’t need to build the robot to complete diagnostic. Need servos, Smart LED bar, battery and of course Meccabrain in proper order as if they were installed in Robot. You can leave the foot motors disconnected but that may change with newer firmwares.IMG_20170617_050801.jpg

I’m sure the hacking community has moved to their own hardware and
only using “smart” servos and Meccanoid pieces. Fairly slow.
I have heard some bitching about parts not being Meccano or Erector style. Only compatible. Pieces aren’t what die-hard fans are used to and don’t exactly promote free thought open build mentality. Shapes are irregular and not typical Erector / Meccano simple shapes. They also have pinned keys limiting use. Interlocking pins of new parts requiring orientation have more to do with slow build times and aggrevation.

That’s my opinion partially based on  evidence.  Half-inch standard still theremostly. Being made of plastic not helping standing with the classic folks.
Poorly documented protocol under the ‘open source’ mantra. Not really open source and is only for Arduino program that communicates (protocol) to servos and light bar.

Meccabrain , not the Arduino program “Meccabrain” , locked out. Not OPEN Source.

Well mostly. There’s no reason why protocols can’t be abused to further capabilities of Meccabrain with other hardware as servos.. Still limited in programming through Application program which really isn’t that good. Usable but unpolished and quirky. Is good thing protocol was released with Arduino code. Meccabrain(tm) mostly for starter use. Any reasonable advanced use limited. Voice control is cool but practicality dysfunctional. It is a decent micro but its stuck pedantic cute-ware and BLE comms thru ‘App’. L.I.M. is nice idea but inability to save off line and transfer to other devices makes it barely useful and anti-social. Yes this robot is anti-social but it can joke about it… so it’s fine. No driving motors control available through LIM but may be hidden. Inability to shut off sound recording whilst programming

IMG_20170617_050746.jpg

in L.I.M. also sucking useless. Inability to add sounds to Meccabrain without motion equally irritating. Tape to the rescue again. Right over the MICrophone hole. Not100% effective but what-eee–ver you need to do to achieve desired results.
**** Limitation of L.I.M is roughly 3 minutes times up to 15 programs. ****
So technically up to 45 minutes of L.I.M time but only 15 labels..Don’t know if that will change.

 

Yes I could go on, and will. Laters.

Meccanoid G15 Brain Surgery

Oh the Horror

Not exactly Brain Surgery.  It is a brain of sorts.

Having trouble with the clock not holding time since day one I knew I’d have to replace the clock battery sooner or later, or so I thought.  Ha.

After updating the firmware flash and downloading the new App; the clock not functioning is now an issue because the drag and drop “behavior” programming has a use for it.  There’s also a hidden function in ‘settings’ menu that allows setting an alarm.  Woo hoo.  I was thinking that would be a nice function about a year ago.  Scary.

I had it apart once before but only for cursory examination  to check the board to see if it was indeed the one that had a clock battery and not a third farad capacitor.  Sure enough it had a battery hard soldered.  Not having an extra one of that type or any other suitable replacement to be soldered in I quickly slapped it back together without much further examination.

Oooops.   Ya.   Assumptions and all that.  Take a look.  Nice solder job.  NOT.

g15-controller-4

Can you see it?  Just above the clock chip.  No?  Look closer to battery to the right of “C24”.

g15-controller-5-1
Somethings aren’t better at higher res just uglier.

How about now?

g15-controller-7-1
Magic.  All purty like.

You know when you give a people a bowl a rice a day and work for 14 or more hours this happens.  I’m just saying.  I could be wrong, but given that the vast majority of chips on this board are China Mart , probably not.

There were some other nice pieces of solder slag laying on the board.  I’ve become accustomed to checking boards from overseas manufacturers.  Not only China.  Please don’t think I’m picking on China.  Many manufacturers produce quality products cheaply.  This is not one of those.  Lots of nice cold solder joints too.

g15-controller-6
Short waiting to happen.

Here’s one the larger pieces for example.  Doesn’t look like much but was laying across traces next to the blob.  The black blob is the CPU/MCU.  It didn’t appear to be attached by anything other green protectant paint layer.  Most were like that and smaller.  Not cool.

Checked the clock battery at 2.85VDC,  not great but good enough for a while.  Not worthy of a replace.    Cleaned up what I thought I should and put it back together.  FWIW that solder slab was shorting to clock crystal to one of the clock IC pins.  The clock does work now.  However the Firmware /ROM has issues.  More on that laters.  ONE Down.  Pencil in another dozen problems.  Sigh.    A few more pics for ya:

g15-controller-3g15-controller-2g15-controller-1