We are happy to announce that the work on ProgArm 0.3.0 is finally over!

The device is working as expected and the only detected fault so far is improperly connected pin of BQ24297 that rendered OTG unfunctional (although STM32F103RBT6 does not support OTG anyway). The bug has already been fixed on the schematic and this problem will be removed from the PCB with the release of 0.3.1.

Functionally it is pretty much the same device as ProgArm 0.2 but it was created using technologies completely new to us.

First of all, the 0402 passives and ultra-small footprint MOSFETS have been used which brings us to the whole new level of miniaturisation.

We are now using nRF8001 for Bluetooth, which not only gives us ultra-low energy consumption and Bluetooth Low Energy compatibility, but also enables us to get rid of those bulky, low-quality solutions such as HC-05 or HM-10.

We are currently testing our new supercap-based RTC backup system, which takes much less space than usual CR2032 battery.

Finally, we have assembled this device using an improvised reflow soldering method. After applying soldering paste through the stencil and placing all the components, we used ordinary hot air rework station to do the reflow. This method turned out to be much easier and less time-consuming than manual soldering, we can recommend it to everyone.

Bluetooth LE (means low power consumption when used with modern phones)

1.27mm pin headers instead of USB ports.

Components like SD card slot are removed from the main board (although you can still connect them as separate modules), at the same time other components like vibramotor or pulse sensor are now considered a must.

Questions

Just wondering, I was following the steps you outlined in your Perl Client on Android page and tried running the android_launcher.pl script but the editor window opens up the script with no launch. I'm pressing the "right turn" arrow to Run the script. Is that correct ? Also, it looks like the sl4a folder was installed on my sdcard. Is that where it's supposed to go ? Also, when I press the terminal button on the menu, all I get is a black screen and I can't type anything. My phone is rooted and I've been looking to use Perl on my phone, luv your work.

When ProgArm project was starting, there was a quick (really dirty) prototype client written in Python. But later I decided that things will go more smoothly with Perl (CPAN was one of the reasons to switch). Anyway, neither Python or Perl don't work well enough on Android.

Perl v5.20 has Android support, which means that there shouldn't be any problems with compiling. However, if you want to put it in an application you still have to write some code in Java (or any other language supported by java machine). So in the end we have two options:

Write a separate android-oriented client in Java. However, it would not work nicely on other platforms, which means that any effort will be doubled since we will have to support two clients at the same time. This is a real problem. ProgArm has a decent hardware (a lot of effort was put into that), but software is pretty much not done due to the lack of development power (it's just 1 software developer!).

Embed Perl client into an Android application, write a thin layer in java so that Perl client can communicate with the phone (e.g. run some actions). That's what we should do, I think.

But in the end, Android is a real pain to work with. It all starts with the lack of decent support for a broad range of languages, but OK, even if you choose Java, then what? Still you cannot accept a goddamn call meaningfully… And it's full of such limitations and half-broken workarounds for them.

Regarding programming languages, Perl6 is coming this Christmas. JVM support is not promised, but it will be done sooner or later. I have no idea how soon we will be able to run Perl6 apps on Android though (if ever), but it seems like porting the client to Perl6 is a good idea in the long run (but the code base is really small anyway, so feel free to start Java thing from scratch!).

But that's not the only thing that is making our development pace slower. In ProgArm 0.3 we decided to use a chip that has Bluetooth LE (only!). That is, you cannot use it if your phone has Bluetooth v2.1 (still you can connect HC-05 and use that instead, that's what I do…). The idea was (and still is) that all new phones are manufactured with Bluetooth 4.0+ built in, so there shouldn't be any problems. In reality, it is still hard to find a cheap (used) phone that would support Bluetooth LE, and personally I'm not willing to spend much for a phone that I'm not going to use anyway (I'm using Nokia N900. Although it is old, still it has a full-blown GNU/Linux operating system). Again, it's a good decision in the long run, but it definitely does not help us right now.

Finally, although there is not much activity on this project we are still working on Free/Open-Source hardware designs! :)The project we are working on right now is associated with robotic vacuum cleaners. We will setup the website really soon.

If you have any interest in ProgArm, please ask us anything! We will try to help you as much as we can. If you want to contribute any code then I can give you full admin access to everything.

Comments:

Please see this page: Get ProgArmAnd feel free to add this question to the FAQ :)

Unfortunately, we cannot tell the exact day currently. If the number of preorders is less than 5 or maybe even 10, then we will probably approach to build these devices by ourselves. But this becomes unfeasible as the number grows.

-- AlexDaniel 2014-08-23 14:56 UTC

After a little discussion we decided to build another ProgArm 0.2 especially for you.Since I am aware of your programming skills, I am pretty sure that this will be very helpful :)Hopefully we will ship it in the first days of September.