Software for Satellites Hack Chat

It's rocket AND computer science

Wednesday, July 12, 2023 12:00 pm PDT Local time zone:
Hack Chat
Similar projects worth following

Jacob Killelea will host the Hack Chat on Wednesday, July 12 at noon Pacific.

Time zones got you down? Try our handy time zone converter.


In space, everything is harder. Hardware has to be built to withstand not only the harshest possible regimes of temperature and radiation but the rigors of launch. Power is at a premium, things that are supposed to stay cool get too hot, and things you want to keep warm freeze solid. It seems like everything you "send upstairs" has to be over-engineered compared with the stuff that stays down the gravity well.

But what about software? Yep, that needs special engineering too -- after all, one little mistake, one uncaught exception, and millions or even billions of exquisitely crafted space hardware could become as useful as a brick. Jacob Killilea is an aerospace engineer who has done the rounds of a number of space concerns, and he's worked on a number of space software projects, including a pulsed laser system with the potential for lunar orbital communications. He knows what it takes to write software that keeps space hardware ticking, and we're excited to have him log into the Chat to talk about it.

  • Hack Chat Transcript, Page 2

    Dan Maloney07/12/2023 at 20:41 0 comments

    Dan Maloney12:52 PM
    Transcript coming up at the end, btw -- no need to copy and paste links

    Jacob Killelea12:52 PM
    @Dan Maloney thanks!

    Jacob Killelea12:53 PM
    I suppose I should hit a couple other things that I mean to mention

    Jacob Killelea12:53 PM
    Sensors: Your core spacecraft might not need sensors if it's Sputnik, but anything else will want to know where it's pointed and where it's heading!

    stu12:53 PM
    Jacob, where are you looking to go next? Amazon's project Kuiper is hiring vigorously.

    Jacob Killelea12:54 PM
    Sensors range from simple gyros to full star trackers that automatically take images of the star field nearby and use an onboard map to find out exactly where they're pointing. When you're close to earth, sun sensors, horizon sensors, and magnetometers can all be used.

    Jacob Killelea12:55 PM
    @stu I'm not sure yet. Still evaluating my options.

    Thomas Shaddack12:57 PM
    Any lessons from space that can be extra-useful on the ground?

    Jacob Killelea12:57 PM
    Communications: There's a lot of communication standards in use onboard a spacecraft! At the most basic level, RS-422 and RS-485 are common and that's what I used to talk to most of my payloads! However, MIL-STD-1553 is also popular, although boutique. Spacewire gets used when you want a lot of bandwidth. It's an LVDS serial protocol, although in my experience the signal integrity is a nightmare. Big NASA projects, like the Lunar Gateway, use Time Triggered Ethernet, which I think is the future.

    Carl12:58 PM
    What about using distributed systems to avoid or mitigate SEUs and other faults?

    Jacob Killelea12:58 PM
    @Thomas Shaddack I think we hackers don't often appreciate that one day our creations might leave our bench! Things have to be able to boot, communicate, and recover on their own.

    Dan Maloney12:58 PM
    No CANbus? Seems like it has a lot to offer

    Jacob Killelea12:59 PM
    @Dan Maloney CAN is definitely used in some systems! I've never had the opportunity myself however. The issue with CAN is the low data rate. It's great for basic sensors, but not when you have lots of data to shuttle

    Thomas Shaddack1:00 PM
    ...that's why I am asking. Down here sending a technician to a device is easier than Up There but still can be both costly and annoying. (And sometimes the extra telemetry can be handy even between bench and couch, when the hacker is extra lazy...)

    Jacob Killelea1:00 PM
    The NASA SCALPSS payload is going to spend _hours_ dumping data back to the spacecraft over a 921600 baud serial connection once Nova-C lands. Lots of other interesting instruments are similar, and spacecraft are always hurting for the extra bandwidth, storage, and processing power!

    Jacob Killelea1:01 PM
    That said, it's amazing how much terrestrial computing is wasted. Spacecraft always keep available resources in mind!

    Thomas Shaddack1:02 PM
    What about two buses? One for critical realtime control, one for just the payload data that can wait a millisecond?

    Thomas Shaddack1:02 PM
    YES. Compare the computing power needed to get man to the Moon vs how much is needed today to open an email. Something somewhere went wrong.

    Jacob Killelea1:03 PM
    @Thomas Shaddack yes, absolutely. It's more complicated to have two busses, but it's common to have a control bus where everyone communicates using fixed size messages at a fixed rate for predictability, and a second bus for handling large amounts of data.

    Nicolas Tremblay1:03 PM
    Yes, but GUI look better now

    Dan Maloney1:03 PM
    @Jacob Killelea - we're an hour in, but wrap time is totally up to you.

    Jacob Killelea1:04 PM
    @Dan Maloney I've got a few more things I can throw out there, let me get through a few more subsystems!

    Dan Maloney1:04 PM

    Jacob Killelea1:04 PM
    Great, ok. Telecom: Your spacecraft needs radios! How else will it phone home! A lot of systems are QPSK modulated and run between 2 and 10 GHz for the high bandwidth communication.

    daniel.fryling1:05 PM
    Is there always/often a method of performing firmware updates to the satellites...

    Read more »

  • Hack Chat Transcript, Page 1

    Dan Maloney07/12/2023 at 20:40 0 comments

    Dan Maloney12:00 PM
    Okie doke, top of the hour, let's get going! I'm Dan, I'll be modding today along with Dusan as we welcome Jacob Killelea to the Software for Satellites Hack Chat!

    Jacob, how about you kick us off with a little about yourself?

    Jacob Killelea12:00 PM
    Sure thing!

    homer.sajonia.ii joined  the room.12:02 PM

    Jacob Killelea12:02 PM
    Hi all, my name is Jacob Killelea! I’m an embedded and aerospace engineer currently living in the San Francisco Bay Area. My background and schooling was in Aerospace Engineering at CU Boulder, and I’ve been interested in just about everything relating to aerospace. I hold a private pilot certificate and a commercial small UAS certificate, and I spend my spare time hacking on microcontrollers, designing PCBs, and avidly watching what the Hackaday community comes up with!

    My technical background covers aero and thermodynamics, control systems, life support, systems engineering, electrical and RF systems, and lots of software. From 2020 to 2022, I worked for Intuitive Machines in Houston, where I wrote flight software for the Nova-C lunar lander. I worked on payloads from high power laser rangefinders, to missile gyros, to space based camera systems. I got to get hands-on with flight hardware, test instruments in-flight, and contribute some pretty neat code to this mission.

    Today, I'm here to tell you just about everything I remember about building, programming, and operating a spacecraft! A lot of stuff is similar to what you might be used to on the ground, but there's also some stark differences, both in how things are done and what the domain forces you to do. It's a fun and inventive domain, with a lot of technology developed for special purposes. Hopefully I can pass on some of what I know and fill in the gaps that people might have in what they know about space systems.

    Jacob Killelea12:03 PM
    So please, ask me anything and everything and I'll do my best to answer.

    hkurz12:03 PM

    thischillhome12:04 PM
    Quite the resume. 😮

    Dan Maloney12:04 PM
    What sort of OSs might one encounter when coding for space systems?

    Dan Maloney12:05 PM
    I imagine some sort of real-time OS?

    hkurz12:05 PM
    Are you using an off-the-shelf OS os some special "pace grade" OS for such jobs?

    Dan Maloney12:05 PM
    Great minds think alike...

    hkurz12:05 PM

    stu12:05 PM
    What coding standards, certifications, or guidelines are used for pico satellites? I'm thinking MISRA, DO-178, or similar?

    Jacob Killelea12:06 PM
    Great question, and the answer is all over the place! There are the systems you would absolutely expect to find, such as Linux and FreeRTOS, but spacecraft have historically had a wide range of solutions. Nova-C uses two computers, with one running Linux and the other running a proprietary RTOS called VxWorks.

    thischillhome12:06 PM
    Tips and tricks to keeping stuff within power budget? 😅

    stu12:07 PM
    Which VxWorks? I haven't used them since 6.9?

    Jacob Killelea12:08 PM
    Other RTOSes include my personal favorite, RTEMS, and lots of specialty systems from aerospace vendors like Green Hills

    Andrew Elbert Wilson12:08 PM
    What are some ways flight software monitors, mitigates, and recovers from errors & failures?

    Thomas Shaddack12:08 PM
    What are the advantages and disadvantages of using linux? Any special variants against "stock"?

    stu12:08 PM
    What does the UAS certificate enable? Is it easy to obtain? Also, how much (approximately, in total) for private pilot's license. I'm thinking like $5,000-$10,000 all said and done. (practice flights, instructor time, etc).

    hkurz12:09 PM
    Which programming language is used most often in space?

    stu12:09 PM

    Jacob Killelea12:09 PM
    @homer.sajonia.ii, Power budgets are really hard in space! If nothing else works, you spacecraft has to be able to keep itself thermally stable and power positive! Those are the core responsibilities of features like a spacecraft's safe mode. When things break, you need to be able to get the system back into...

    Read more »

View all 2 event logs

Enjoy this event?



Pablo Cabello wrote 07/14/2023 at 13:18 point

Hi guys, I wold be very interested joining this chat, just to learn about this. Do you guys have any discord or something like that?

  Are you sure? yes | no

Interested in attending?

Become a member to follow this event or host your own