Wheeled rig update

So I put in some time on the wheeled rig:

OctoMY™ Wheeled rig with speakers, buzzer, warning light and electronics mounted.
Side closeup showing the battery mounting bracket and port holes where wires will be fed into the electronics box.
Front closeup showing the stereo speakers and alarm buzzer.

New features include:

  • Created and mounted two separate stainless steel speaker housings made from the caps of  awesome waterwell™ bottles.
  • Mounted a piezo deterrent/attention grabbing buzzer.
  • Created a mounting bracket from stainless steel wire to hold the lead acid battery.
  • Found the perfectly sized and shaped weather proof electrical box for mounting all the electronics for the robot.
  • Created a mounting plate for the electrical box from an old plastic plate I had laying around my shop.
  • Mounted a LED warning/attention grabbing flash-light on top of the electrical box.
Still on the TODO list:
  • Mount all the electronics in a smart way inside the electronics box
  • Connect all the electronics together and test it
  • Protect the wires from wear/damage/water
  • Protect the whole rig from water
  • Paint job? Not sure about this


Merry Christmas & Happy New Year 2017!

A little late, but better late than sorry! Here are the seasons' best wishes to you, your friends & family from OctoMY™ Project. I never used to have a new-years' resolution, but this year is different.

My personal new-years' resolution for 2017 is to most definitely release the first binary version of OctoMY™ even if it is in a bare and simple form.

OctoMY™ seasonal greetings 2017


OctoMY™ Official License set to LGPLv3 or commercial.

The official license of the OctoMY™ project is now inspired by the official Qt project licence, namely a dual license that is either LGPLv3 or proprietary. Anyone can use OctoMY under the terms of the LGPLv3, while there exists a proprietary license just in case we need that at some point.

NOTE: Some parts of the OctoMY source code will always be under open source licenses only.

You can see the full OctoMY license here.

So why was this model chosen? Two reasons. First of all, the LGPL license guarantees everyone involved full access to the source code forever. It puts the O in Open Source.

Secondly the proprietary license prepares the project to accept contributions from sponsors that may have a hard time approaching a purely open source project. This is purely preemptive, we don't plan to accept such contributions at this time.


Two new widgets

I have been making tremendous pace on the OctoMY™ development lately. Despite being sick several times and super stressed out at work I managed to put in some serious coding effort.

My latest innovations include two new widgets;

The first is the user interface for remote controlling wheeled robots, where first channel is throttle and second is steering angle. It looks like this:

OctoMY™ Remote interface for RC Car type robot.
Relevant code is here.

It works as expected, the red dot follows your movements along the wheel to steer, while the yellow bar grows with the distance you move away from the wheel in upward direction, indicating higher throttle. If you move below the wheel the bar turns blue and you will start reversing (or breaking, depending on your controller).

The second interface is part of the agent configuration program and allows the user to sett up the number of actuators and the correct mapping of named agent outputs to indexed controller input channels. It looks like this:

OctoMY™ Agent interface for mapping outputs to servos.
Relevant code is here.

To use it, simply select the number of actuators you will be needing in the spin-box at the top. Proceed to name them their logical names using the rename button. Finally, map them to indexed servos by clicking the buttons to connect in order. I was especially happy with the way my "virtual wires" turned out.


iMacwear W1 First impressions

Good news: I managed to build, deploy and run OctoMY™ Agent without any changes to the source code! It crashed a few times, and I have a bad feeling that these crashes are due to out-of-memory. I really have not been able to debug that fully yet. Will continue in this trail soon. But it got past the delivery and having the Agent eyes looking back at me from the small screen is a delight!

OctoMY™ Agent running on iMacwear W1 Android Smart Watch

After my last post about the iMacwear W1 unboxing, I have now had some time to form a first impression.

At first I was not sure the devivce was actually running Android as it claimed, but I soon figured out that this is because it runs a custom version of Android called "FunOS". I have not managed to find any information about this OS online. But in practice it means that many stock Android applications have been replaced with less resource intensive and more compact ones.

The main UI and navigation makes sense once you get used to it, and getting used to it takes about 15 minutes. I find it lacking a bit in the aesthetics department, the icons are not well executed. But the UX is ok, and as we all know, form follows function!

I had some problems with getting the device to register with Ubuntu. The device reports the USB vendor of HTC with a device ID of 2008,  (0bb4:2008), so if you need a line for your Android udev.rules, it will look like this:

# iMacwear W1
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", ATTR{idProduct}=="2008", MODE="0666", OWNER="<username>"

I found that enabling developer options in the settings on device and installing mtpfs package helped a little, but it was still unstable.

sudo apt-get install mtpfs

In the end, just retrying a lot makes it work. Once it works it will work for some time. I also found you have to keep the pogo connector completely still the whole time, because just unsetting it a little will break the USB handshakje and the connection/debug session/whatever.

iMacwear W1 Unboxing

I recently purchased the iMacwear W1 Full Android smart watch for testing with OctoMY™ software. I will put it as a recommended device in the shop page as soon asi get the OctoMY™ agent to run without problems. But before that, le't do the unboxing!

Neat gift box with magnetic lock

Tidily arranged contents

Top compartment contains user manual

Watch is strapped to black velvet cushion

Polishing cloth under the watch

All the box content side by side

Accessories box open in the short end

Contains pogo USB data/charging cable in plastic bag

Pogo cable removed from bag

Closeup of pogo USB connector showing gold plated pogo pins and magnets

Back side of watch showing wrist band

Protective film for screen (I removed once already)

Backside of watch

Closeup of backside showing pogo pad and sim slot.

pogo cable connected

After 3 hours of charging, showing main watch screen.

After removing protective film
Main menu