This website is a wiki. You are highly encouraged to edit it.

Start Here if you are new to this project.

Most common links:


2016-03-11 Inactivity

This project is temporarily frozen. Right now we are working on a free firmware for robotic vacuum cleaners and all our efforts are put into it.

If you have any questions about any of our projects feel free to contact us.


2015-02-07 ProgArm 0.3 Has Come

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.

Other improvements include pulse sensor, new pin header connectors instead of old usb-based ones, 9 axis combined gyroscope-magnetometer, ultra-small LPS25H ambient pressure sensor and a powerful on-board vibration motor.

It seems like next time we are not going to rebuild the device from scratch, so the next version is going to be ProgArm 0.3.1 and not ProgArm 0.4.

We are also able to offer a couple of DIY ProgArm 0.3 kits for you to assemble! As for them, please contact AlexDaniel if you are interested.


2014-12-22 ProgArm 0.3 Is Coming

For the last month we were working on ProgArm 0.3.

It is almost done! Currently we are making the last steps to finish the PCB.

Most of the effort was put into various design decisions and component selection. Perhaps we should document it on Design Decisions page.

You can follow the progress on ProgArm 0.3 page.

Here is a list of the most notable changes:

  • 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.
  • Smaller size. (4x7cm -> 4x5cm)
  • Other changes are listed on ProgArm 0.3 page.

We hope that this time we will make a few extra devices so that you can get it.




Question 2

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.

Keep it up, YOU GUYS ROCK !!

-- colstelhml 2015-10-11 15:05 UTC


Hi! Sorry for the late answer.

Indeed, it seems like SL4A is not working on android 5+. In fact, SL4A is abandoned for almost 4 years, just look at the activity graph on GitHub. There are some forks but none of them is active enough.

Basically, I was hoping that perldroid project will come alive, but now it seems like it is not going to happen.

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.

-- AlexDaniel 2015-10-30 00:18 UTC


Question 1

When can I receive the device? :C

-- Yuno 2014-08-23 12:49 UTC


Please see this page: Get ProgArm
And 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.

Have a nice day!

-- AlexDaniel 2014-08-25 00:41 UTC

The device was sent on September 30th. Happy progarming! :)

-- AlexDaniel 2014-10-03 23:48 UTC