Long, long time ago I joined the Student Space Engineering Scientific Group for ESEO (European Student Earth Orbiter) Project. The project has… failed… two times already:) But from what I hear (I’m not involved at the moment, so what I hear has to be taken with a grain of salt), the third effort is underway (^_^) Still, problems with ESEO coincided with a major change in a different project – PW-Sat. It was a period of enthusiasm and sci-fi-like dreams, and so the required functionality and processing power were way too much for the initially planned 8-bit ATmega microcontroller -> switch to a 32-bit ARM7 microcontroller was decided. As I had some experience with ARM7 and FreeRTOS (Hildorfr…) I joined the project.

The PW-Sat project had… some issues:) As it seems, space engineering is not as simple as it sounds to some. Both software and electronics have to meet certain requirements. Mechanics is also not trivial. Radiation, vibrations, temperatures, heat dissipation, vacuum, power constraints, lack of humans to push a reset button and perform servicing… all take their toll. Enthusiasm started to wear off… Functionality started getting reduced… Some subsystems experienced engineering problems, some were going through constant redesigns. In 2009 the OBC (On-Board Computer) became payload (well, at least according to Marcin Stolarski), as it’s critical functions were… assimilated by the communications module. Soon after, I graduated…

But then, a colleague of mine phoned me, saying that the project is back online! The hardware design was stable (read: mainly off-the-shelf one), the components seemed solid, the experiment was likely to succeed, the equipment, testing facilities and competent supervision were available (thanks CBK – Space Research Center of Polish Academy of Sciences!)… One of the missing things (there is lots of stuff to be done when creating a satellite, even a “pico” one!) was to write the On-Board Computer flight software. The task was given to the part of the old OBC software team – basically me and Marcin Iwinski. We reused some code of the old OBC (the one that was hardware independent, so some of the Parser/Interpreter and Scheduler) and the overall design idea. Of course, the hardware was different and so most of the code had to be written from scratch. I dealt with the high level architecture, general framework, some porting (Scheduler, Parser) and some modules (mainly Communications), while Marcin dealt with low level programming (flash, I2C bus) and other modules (mainly Power Supply, Antennas). Of course, much stuff required collaboration (Payload, Watchdog), so it’s difficult to precisely divide the responsibilities… But still, the work finally got done, and got done… well enough:)

The underlying hardware is a NanoMind A702 board, with 32-bit ARM7 AT91SAM7A1 microcontroller, equipped with 2MB of RAM (you have absolutely no idea how much that is in an embedded world… my Hildorfr had 32KB of usable memory… sky is the limit!) and 2x4MB of flash storage for code and data (and yet again, we use fraction of that… despite having a wear leveling algorithm for scheduler data serialization). The communications with other hardware modules (power supply (EPS), antennas deployment system (ANTS), transceiver (COM), payload board (PLD)) is done using I2C bus (thanks Marcin for making this… moody;P piece of equipment work in a stable, reliable manner…). Communications with the GS (Ground Station) is done through the TRXUV transceiver using AX.25 packets (the radioamateurs noticed a few CW transmissions – they occur on hardware resets… but please, don’t worry, everything is OK:)

The satellite sends telemetry from its subsystems (including payload), can function as a transponder (echo for radioamateurs) and can deploy the payload. All telecommands can be scheduled for deferred, optionally repeated, execution, so the mission plan can be preprogrammed in advance and changed on orbit.

The mission is to test the flexible solar panels and a new way of deorbitation (why is it important? Watch Anime PlanetES -> However, IMHO the main benefit of the entire project is to train students, and not only students, in building and handling satellites. Whether the panels and the deorbitation (using an extendable tail) succeeds, the greatest achievement is actually building the satellite, going through all the hops and bureaucracy to put it into the orbit, and then maintaining contact with it. The rest is a bonus (^_^) For me, it’s one of many steps on the road to a real, high-tech, polish space industry.

PW-Sat was launched on the 13th of February 2012, which makes it effectively the first polish satellite. The communication was established, the satellite works, the mission is in progress… Let’s hope for the best!

I’d like to thank all the people I worked with during this iteration:
Marcin Iwinski – for writing the software with me
Grzegorz Wozniak, Marcin Stolarski and Rafal Graczyk – for helping with the radio equipment (too many knobs and buttons, and no console to type “man _topic_”…) and providing the right cables;P
Tomek Szewczyk and Marcin Dobrowolski – for dealing with the electronics, mechanics, bureaucracy and all the stuff I didn’t have to deal with because of them:)
Andrzej Cichocki – for being a good admin;P

Of course, I don’t know ALL the people involved, and I don’t know ALL their responsibilities… I mentioned people I worked with, for what they helped me with.

I’d also like to thank:
Piotr Orleanski and Michal Mosdorf – for giving me this unique opportunity to finally finish this project
European Space Agency (ESA) – for giving us the lift to the orbit:)
Space Research Center (CBK) of Polish Academy of Sciences – for providing tools, equipment, facilities, support and… well, making stuff possible (^_^)
Lukasz Mosdorf, Marcin Kocon, Grzegorz Niemirowski, Kacper Bak and many others – for working with me during the previous iterations.

Some of the telemetry, as received by dk3wn (

DATA D 401 RSS 962 TRP 6 TFP 5 TC 0 RC 79 AT 194 PB 395 E -1 END.
DATA RUT 16 0 0 TUT 16 0 0 RE -1 TE -1 END.
DATA ADCS BATT1C 0x0371 E -1 BATT1DIR 0x03FF E -1 BATT1FV 0x0168 E -1 BATT1T 0x020C E -1 END.
DATA ADCS 5V 0x03FF E -1 3V3 0x03FC E -1 ENDt
EMP 0x36 0x02 E -1 END.
DATA D 411 RSS 961 TRP 7 TFP 6 TC 0 RC 81 AT 210 PB 382 E -1 END.
DATA RUT 18 0 0 TUT 18 0 0 RE -1 TE -1 END

The beginnings of frames are truncated, but you can see the data from ANTS, COM and EPS.

You can find some stuff about the PW-Sat on its official site.

This slideshow requires JavaScript.

One Response to “PW-Sat”

  1. […] Urbanowicz told me it’s OK to publish a little bit about the satellite and its software, I decided to add it to my projects on this blog. Enjoy! Like this:LikeBe the first to like this […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: