Heimdall on FreeBSD

Heimdall is an Open-Source utility to work with Android devices manufactured by Samsung. It allows to flash firmware components into memory via FastBoot/ODIN+USB. I have created a patch to build this nice tool on FreeBSD OS (QT gui works as well, to build it you need qt-{gui,qmake,uic,moc,rcc,…} packages installed). When patch is included into the project sources and release is done, I will prepare a FreeBSD port for this nice utility which is only missing a memory dump and live boot to be totally perfect :-)

Read More

We Are The Universe!

“If the number of distinguishible states is a must, but not enough, for a consciousness to exist [1] in a machine, there must be additional structural factor for consciousness to exist. Given human, biological DNA-based self replicating machine, has this consciousness operational, it is possible to assume that the universe is conscious as well, because there is a sufficient number of interacting bodies, just as in our neural network, and we are all made of the same star dust. We Are The Universe! :-)”/CeDeROM2013

[1] “Phi: A Voyage from the Brain to the Soul”,  Giulio Tononi, Pantheon; First Edition edition (August 7, 2012), ISBN-10: 030790721X, ISBN-13: 978-0307907219.

CeDeROM BCI at Bio-Tech 2013

Today I had a pleasure to give a lecture on my “CeDeROM Brain Computer Interface” at Bio-Tech 2013 scientific conference hosted by Lublin University of Technology. Thank you for this great opportunity and so many interesting people!

LibSWD 0.6 release

I am happy to announce a new release of LibSWD-0.6! Most important feature of this release is the standalone Application with an example of Command Line Interface (CLI), FTDI driver and ARM Cortex-M3 Core Debug and Flash support demonstration. Please report issues via Ticket System. Have fun! :-)

SkyDive Course Complete!

Full SkyDive course with 50 jumps is now complete! :-) Thank you for this great experience and amazing atmosphere at SkyDive Section of Warsaw Aviation Club!! :-)

Glider Pilot Course complete!

I am really happy to announce my new skills of piloting a glider! :-)

II Conference on Aerospace Robotics (CARO’2)

Today, with my friend Grzegorz Misiołek, we have presented a lecture on our early stage research “BioCybernetic Robot with Brain Computer Interface Technology for Space Applications” at II Conference on Aerospace Robotics (CARO’2) hosted by Polish Space Research Center of Polish Academy of Sciences. Thank you for this great opportunity!

SkyDive Tunnel Training

My first ever SkyDive Tunnel training was sooo fun and soo hard at the same time :-) Thank you for teaching me those very first steps… :-)

KT-LINK FT2232H based interface on FreeBSD

I have created a simple patch for FreeBSD Operating System to detect and support FT2232H based KT-LINK interface. FTDI chips are already supported using uftdi driver and they can provide various serial and parallel protocols over USB such as RS232, JTAG, SWD, SPI, I2C, 1Wire, etc. My patch allows to use RS232 port on the KT-LINK which in conjunction with Minicom terminal software allows to talk to the Serial Console Port on various embedded systems. KT-LINK is really nice inexpensive (50EUR) and versatile tool for embedded system developers, now it became all-in-one tool on my FreeBSD box :-)


Planned Obsolescence

My Knidle 3 3G e-book reader (leading product of Amazon, one of the most expensive model) has stopped working this week for no apparent reason. It is not even two years old device. It was not damaged mechanically, electrically, nor any other way. It simply does not want to power on. I am not alone with this problem. As it is over one-year warranty period the only thing Amazon can offer to me is to purchase a new product. Perfect example of Planned Obsolescence. Amazon – no, thank you, you have lost my trust :-(

Screenshots in Android 4

If you wonder where did the power menu option to make a screenshot go in Android 4 – you need to long press Power + Volume Down buttons together :-)

Still I don’t know how to disable screen inside ongoing call when my Power button is assigned to end call, or how to end call when screen is locked and Power button is assigned to lock screen ;-) Design Fail or hidden solution somewhere there deep inside..? Apple simply use one button to end/diall call and separate mechanical switch to lock the device – simple functional and elegant.. but hey why Android does not use this solution as well, is “button switch pair” already patented by Apple? ;-)

Glider Pilot Course

Glider Pilot Course started! Aviation here I come! :-)

YouTube and HTML5

I have found very simple solution on how to access YouTube videos that require Flash using HTML5 player. Although front site may not support HTML5 video player, YouTube usually allows to embed videos to other sites, they also should use WebM codec developed by Google. If you have a video that does not work in HTML5 by default try to run it in embed player by URL modification – replace “/watch?v=” with “/embed/” and it should work! :-)

Example: http://www.youtube.com/watch?v=M84Y6VXAIaU -> http://www.youtube.com/embed/M84Y6VXAIaU

SkyDive Water Landing Training Movie

I have created a short movie from the Warsaw Aviation Club SkyDive Section Water Landing Training, enjoy! :-)

OpenOCD and LibSWD integration complete

Patches that integrate LibSWD with OpenOCD has been already sent, so the platform independent Serial Wire Debug in Open-Source becomes a reality! Mr. Gerrit takes care of the source code review part, while Mr. Jenkins takes care of proper binary build for various platforms and operating systems. This is the right moment to make use of developers mailing list for feedback, asking questions, blaming, testing, adding new features and voting to accept the patches, so the code becomes an integral part of the OpenOCD release! :-)

Orange Labs provided R&D environment for initial stages of the research. Warsaw University of Technology made this possible as part of my MSc and PhD thesis. Krzysztof Kajstura designed and provided his generic KT-LINK (FT2232H based) interface to work with. David Brownell first introduced the Transport layer in OpenOCD in 2010 to split Target from JTAG. Simon Qian was working in parallel on his own SWD implementation for a Versaloon interface (as part of intelligent firmware). Øyvind HarboePeter StugeSpencer Oliver, Rodrigo Rosa helped me on GIT usage and OpenOCD internals,  Freddie Chopin helped me a lot with commited patches to match OpenOCD coding standards, Akos Vandra helped me to test functionality as the program was created… and my other friends should be also noted here for their support :-)

Power of the few outweights power of the many! Thank you for your support! :-)

Open Web and Multimedia

I am happy to notice slow withdrawal of closed-source solutions such as Adobe Flash (and so available only on selected platforms) from the web. When I have working Open-Source and (mostly) BSD-based web browser (Chromium) with some commercial support (Google) at least to display H264 encoded multimedia content (using Open-Source x264 software implementation), and there is HTML5, I start to consider Vimeo a better option than Google’s YouTube, if we speak of quality.

Although Google develops Open and Free multimedia codec called WebM, at the same time they use annoying commercials that makes WebM-ready videos unavailable in most cases on HTML5 YouTube and push users towards Flash anyway, as opposed to Vimeo where all H264 videos works flawlessly in HTML5…


I was even more surprised to see for the first time a very colorful, scalable, interactive and full of multimedia content website of Jennifer Vaughn (created by Phil Giampi) that use NO closed-source Adobe Flash at all!! This website works flawlessly in Chromium browser on my FreeBSD Unix style desktop which use only Open-Source and Free-Software components and embeds Vimeo content. Thank you for supporting high quality open web (although its not totally free)! :-)

What about WebM? Google at one hand creates Free and Open standard such as WebM, but on the other hand Google does not seem to support it at all – neither in its own projects (see advertising with Flash on YouTube that blocks HTML5) nor in external projects (see Mozilla/Firefox struggling alone to promote WebM, see Google Chrome that simply buys restricted H264 license and thus promotes the competitive standard). I think it might be cheaper for Google to make H264/X264 free to use (at least as renderer like Microsoft did) rather than investing into something that is not going to be used anyway… What is the internal organization of Google? Do people need to fight for their projects against each other inside? Why there is no global view for better coordination? This seems to be a great waste of energy, WebM seemed to be very promising Free and Open Standard :-(

SkyDive Water Landing

Today I have attended very interesting theoretical course on parachute landing on the water with some practical exercises on how to escape equipment underwater in various situations. Thank you for this great experience! :-)

LibSWD 0.5 Released

LibSWD 0.5 is out! It brings mainly the rename of all function prefix due API conflicts with other existing solutions.

Please visit Project Website for more information :-)

LibSWD 0.4 Released

LibSWD 0.4 is out! It brings various bugfixes and improvements, but most of all stable API to be used with OpenOCD and other external applications.

See Project Website for more information :-)

LibSWD on FedCSIS 2012

“LibSWD serial wire debug open framework for low-level embedded systems access” has been presented on FedCSIS 2012 international conference and the paper has been already published by IEEE Xplore Digital Library.

All my publications are listed on Google Scholar.

SkyDive Adventure Started! :-)

On August 2012 I have started the SkyDive AFF adventure! Aerospace here I come! :-)

www.SkyDive.waw.pl team – thank you for the amazing atmosphere, professional training and friendly support in these hard first steps!!! :-)

CeDeROM BCI on ITiB 2012

“CeDeROM Brain Computer Interface” has been presented on ITiB 2012 conference and the paper has already been published by Springer Link.

All my publications are listed on Google Scholar.

Hello ER6-N Moto

Say hello to my new personal teleporting device :-) :-)


First steps of LibSWD and OpenOCD

The LibSWD and OpenOCD has just made its first steps into flash memory access and writing program code to the ARM Cortex-M3 based Stm32Primer2 device using cheap and generic FT2232H‘s based JTAG/SWD KT-LINK interface :-) The current connection speed is around 10sec/1kB but still I have some ideas on how to improve it, even with the USB bottleneck. The LibSWD is platform independent, so it can drive any other type of hardware (RLink, GPIO based, Parallel Port, etc), also it can be uploaded into dedicated hardware dongle if necessary :-) Feedback and testing are welcome :-)

You can get the code from remote GIT repository at http://repo.or.cz/w/openocd/libswd.git. The project implementation details and history is at http://stm32primer2swd.sf.net/.

%telnet localhost 4444
 Connected to localhost.
 Escape character is '^]'.
 Open On-Chip Debugger
 > halt
 target was in unknown state when halt was requested
 > flash probe 0
 device id = 0x10016414
 flash size = 512kbytes
 device id = 0x10016414
 flash size = 512kbytes
 flash 'stm32x' found at 0x08000000
 > stm32x mass_erase 0
 stm32x mass erase complete
 > flash write_image toggle.hex
 wrote 1936 bytes from file toggle.hex in 18.636387s (0.101 KiB/s)

KT-LINK interface driver for UrJTAG

I have sent patches with KT-LINK interface driver (FT2232H based, full-featured, low-cost, SWJ capable design by Krzysztof Kajstura) working in JTAG mode for UrJTAG low-level access software utility with GNU license. I have also created a dedicated fork of UrJTAG for LibSWD integration, which is open and available at http://repo.or.cz/w/urjtag/libswd.git. When the job on LibSWD error handling is finished and fully functional with OpenOCD, I will make a release of LibSWD that will be also integrated with UrJTAG using git submodule mechanism just as in my OpenOCD+LibSWD fork :-)

new website

After two years of my web inactivity here when social networking steals our private space such as this meanwhile balancing between everyday struggle of survival I have managed to set up a new website. It will be available in English by default, but Google Translate should help to read it also in other languages. There are some basic information copied from old website (it had over 1 500 000 visits since 2006, thanks!) , successively I will add more information from the past, hopefully I will also have something new and interesting to write about in future as well :-)

PhD started

I have started a PhD studies on Biocybernetics with Neural Interfacing as my field of research. Cyberspace here I come! :-)

MSc Level Complete :-)

I have finished the MSc level of the scientific career with my “CeDeROM Brain Computer Interface” design, at last, but still lots of work ahead! Credits goes to everyone who earned it – Thank You for Your Support! :-)

Serial Wire Debug for ARM

I have started my works on implementing the Serial Wire Debug (kind of JTAG alternative for ARM-Cortex Cores) for Open-Source OpenOCD and UrJTAG utilities. You can watch the progress at:


Project type: Open
Status: Work in progress…

Windows 7/Vista Installer

The new Microsoft Windows Vista/7 brought also new revolution to the installer and bootloader components. If you are in that group who gets their OS preinstalled on the computer and no backup DVD is attached, then you have really bad luck.

If MBR gets modified Windows won’t boot anymore, unless you use installer disk to fix the bootstrap. But hey – you may ask – where is my installer disk, I only got the preinstalled system with rescue partition on the hard drive! So if you dare to install BSD, Linux, or any OS other than Windows, beware and get the installer disk first. Also note that this is not Microsoft duty to provide that system disk, but the Manufacturer, so good luck with getting back what you paid for.

The other issue in Microsoft Windows Vista/7 installer is the nasty welcome screen that lets you select the language for further installation – but, in fact, there is no “Next” button and the list is “one click”, so if you click anything except your language on the list, there is no other choice but to use this foreign language for the installation process – because there is neither “Back” nor “Restart” button (like in the FreeBSD and Linux installers) on the following screen. You can only reboot the computer and wait few more minutes for the installer to load again… assuming that you have the disk and won’t click anything wrong on the welcome screen ;-)

Ah, by the way – you won’t get into fixing the previous installation if the active partition has changed and does not point to windows installation anymore. Also be prepared and download Ethernet Adapter drivers because fresh install does not contain any of them bundled, so in order to download all of the drivers you need at least network up and running. So called “backup disk” contains only system, no drivers.

Now tell me who really creates piracy?

STM32Primer2 SWJ R-Link pinout

Poniżej zamieszczam obraz wyprowadzeń układu STM32 oraz R-Link w zestawie uruchomieniowym STM32Primer2:

Typ: Otwarty
Status: Zakończony

OpenOCD on FreeBSD

My port of OpenOCD has just been committed. Enjoy Open On-Chip-Debugger on FreeBSD! =)