391043 Stack
📖 Tutorial

How Fisker Ocean Owners Built an Open-Source Lifeline After Bankruptcy

Last updated: 2026-05-16 22:26:48 Intermediate
Complete guide
Follow along with this comprehensive guide

Introduction

When Fisker Inc. filed for Chapter 11 bankruptcy in June 2024, roughly 11,000 Ocean SUV owners faced a grim reality: their vehicles—purchased for $40,000 to $70,000—were losing the software brains that made them functional. No more over-the-air updates, no connected services, no warranty. The manufacturer was gone.

How Fisker Ocean Owners Built an Open-Source Lifeline After Bankruptcy
Source: electrek.co

But instead of accepting their cars as rolling paperweights, a determined community of owners organized, reverse-engineered proprietary software, hacked into CAN bus networks, and built open-source tools on GitHub. They effectively stood up a volunteer-run, open-source car company from Fisker's ashes. This guide walks you through the steps they took—so you can understand, replicate, or support similar efforts.

Jump to: What You Need | Step 1 | Step 2 | Step 3 | Step 4 | Step 5 | Tips

What You Need

  • A Fisker Ocean vehicle (or access to one)
  • Basic automotive electronics knowledge (CAN bus, OBD-II)
  • Software development skills (Python, C++, GitHub workflow)
  • Hardware tools: CAN bus adapter (e.g., USB-CAN or Raspberry Pi with CAN hat), multimeter, soldering iron
  • Computer with Linux or macOS
  • Patience and community spirit (you'll be working with strangers online)
  • A willingness to void any remaining warranties (already gone after bankruptcy)

Step 1: Organize the Community

The first and most critical step was communication. Owners found each other through social media groups, forums like Reddit, and dedicated Discord servers. They formed a central hub for information sharing and task allocation.

  • Create a dedicated communication platform (Discord, Slack, or Matrix) for owners.
  • Identify skill sets within the group: who can code, who understands car electronics, who has access to diagnostic tools.
  • Establish a clear goal: preserve vehicle functionality through open-source tools.
  • Document everything from the start—minutes, logs, and progress reports.

Internal anchor: Jump to tips for community management.

Step 2: Reverse-Engineer the Proprietary Software

With the community formed, the next hurdle was understanding the vehicle's software architecture. Fisker used a mix of proprietary Linux-based systems and custom CAN bus messages.

  • Obtain a full OBD-II dump from your vehicle using a compatible reader.
  • Analyze firmware updates that were saved locally before the servers shut down.
  • Disassemble and decompile available binaries using tools like Ghidra or IDA Pro.
  • Document message IDs and payloads on the CAN bus for critical functions (doors, battery management, infotainment).
  • Share findings in a public GitHub repository with a license that allows reuse.

This step required significant collaboration—some owners contributed CAN logs, others wrote Python scripts to parse them.

Step 3: Hack Into the CAN Bus Network

Once you understand the network, you need physical access to the CAN bus to send and receive commands.

  • Locate the OBD-II port (usually under the dashboard). Connect a CAN bus adapter.
  • Use candump or SocketCAN in Linux to capture raw traffic.
  • Identify which CAN IDs control essential systems—start with climate, locks, and window motors.
  • Develop and test custom CAN frames that mimic original manufacturer commands.
  • Watch for countermeasures: some ECUs check message authenticity; these need to be bypassed or recreated.

A sample command in Python using python-can library: bus.send(can.Message(arbitration_id=0x123, data=[0x01, 0x02], is_extended_id=False)). Start with non-critical functions before attempting motor or battery commands.

Step 4: Build Open-Source Tools on GitHub

With the reverse-engineered protocols and CAN access, the community created a suite of open-source tools.

How Fisker Ocean Owners Built an Open-Source Lifeline After Bankruptcy
Source: electrek.co
  • Create a GitHub organization (e.g., 'OpenFisker') with repositories for firmware, software libraries, and documentation.
  • Write a core library in Python or C++ that abstracts CAN bus interaction into simple API calls: openDoor(1), setAC(temp).
  • Develop a mobile app (Flutter or React Native) that communicates with the car via a local server or BLE-to-CAN bridge.
  • Implement over-the-air update functionality using a Raspberry Pi inside the vehicle that downloads patches from a community-maintained server.
  • Add a web dashboard for monitoring battery health, charging status, and diagnostic trouble codes.

Every tool must be thoroughly documented and tested on multiple vehicles.

Step 5: Maintain the Volunteer-Run Open-Source Car Company

Building initial tools is one thing; keeping them alive is another. The Fisker community continues to operate as a de facto open-source car company.

  • Set up continuous integration (CI) for automated testing on a test bench with a real or simulated CAN bus.
  • Create a bug tracking system and feature request board (GitHub Issues).
  • Hold regular virtual meetings to assign tasks and review pull requests.
  • Maintain a parts database sourced from salvage yards and aftermarket suppliers.
  • Develop a user-friendly installer (e.g., a USB image that auto-flashes a Raspberry Pi).

This step never truly ends—as the cars age, new issues will emerge, and the community must adapt.

Tips for Success

  • Start small: Focus on one feature (e.g., climate control) before attempting full vehicle control.
  • Never work alone: Reverse engineering a modern car is complex; tap into online forums and existing open-source automotive projects.
  • Legality and ethics: Reverse engineering for personal use is generally protected under fair use (US), but avoid distributing proprietary code. Stick to clean-room reverse engineering.
  • Backup everything: Before flashing or reprogramming, make full dumps of the original ECU firmware.
  • Use simulation: Test CAN commands on a bench setup with an Arduino or simulation software before applying to your car.
  • Document well: Future owners and developers will thank you. Write clear README files and include wiring diagrams.
  • Celebrate milestones: The first successful unlock, the first OTA update—share wins to keep morale high.

This story proves that when a manufacturer abandons its customers, an empowered community can rise from the ashes. The Fisker Ocean owners didn't just save their cars—they pioneered a model for automotive resilience in the age of software-defined vehicles.