fp@oniro
--:-- CET

45.69°N 11.71°E · Veneto, Italy

Francesco Pham

I bring open operating systems to hardware that wasn't built for them.

I lead Eclipse Oniro, the open-source project taking OpenHarmony to phones, tablets and boards for global markets, and I work as an open-source engineer with Huawei's European research centers. When the sky is clear, I'm outside with a small refractor.

role
PMC Lead, Eclipse Oniro
porting
Oniro to the Volla Phone Plinius
last seen
OpenHarmony Tech Conference Prague
21:00
Thu 29 Oct
Moon
GitHub
A simulated boot of Oniro on a Volla Phone Plinius. Tap an app.

whoami

Engineer, project lead, amateur astronomer.

Portrait of Francesco Pham, smiling, in round glasses and a white shirt
fig. 1 — observed in daylight

I've been writing software since I was a kid and never really stopped taking things apart. I studied Computer Engineering at the University of Padua, with an Erasmus semester at the University of Bergen, and spent my theses on deep learning for depth sensing and 3D rendering.

Since 2021 I've worked on Eclipse Oniro, first as Committer Representative and now as PMC Lead. On a given day that means bringing up a new device, porting a framework or an app, building tools and CI for other developers, reviewing community contributions, and explaining all of it on stage.

I care about open governance and vendor-neutral foundations, and about Europe having a real say in the software its devices run, from digital sovereignty to regulation like the Cyber Resilience Act.

Leads
Eclipse Oniro, as PMC Lead and committer representative on the Oniro Working Group
Works with
Huawei Europe Research Centers, since Nov 2021
Studied
M.S. Computer Engineering, summa cum laude · B.S. 110/110 · University of Padua
Writes
C, C++, Rust, TypeScript & ArkTS, Python, Kotlin, shell
Speaks
Italian, English, Vietnamese
Honours
Hack@2021 national finalist (4th) · ICPC SWERC 2021 · Iglesias Foundation and “1000 e una lode” scholarships · EUVIP 2022 paper

bring-up

Teaching phones to boot something new.

Commercial phones ship with Android vendor drivers and nothing else. On the Volla Phone Plinius, OpenHarmony boots first on the phone's own Android 14 kernel and owns the device. Under OpenHarmony's standard hardware interface, one small plug-in per interface reaches the hardware by one of three routes: Android HALs loaded in-process through libhybris, vendor daemons in a Halium container, or code written straight against the kernel driver.

Volla Phone Plinius · MediaTek Dimensity 7300 · OpenHarmony 7.0 13 working · 3 in progress
  1. KernelThe phone's own Android 14 GKI kernel with its vendor modulesok
  2. Halium containerAndroid vendor services only. No interface, no apps.ok
  3. Display1080×2400 OLED. Graphics shared with the HAL, never copied.ok
  4. GPUMali-G615 at full frame rateok
  5. TouchThe full Oniro interface, sized for this panelok
  6. AudioSpeaker and microphone through the in-process audio HALok
  7. CamerasFront and rear in the standard Camera app, via vendor daemons over binderok
  8. TelephonyCalls, SMS and 4G data. Calls use the older fallback path until VoLTE lands.ok
  9. Wi-FiJoins networks with real traffic, straight on the kernel driverok
  10. SensorsSensors, vibration and brightness, straight on the kernel driversok
  11. AppsApp Store, browser, media and gamesok
  12. Android appsOptional Waydroid container. Each app opens as an ordinary OpenHarmony window.ok
  13. LocationGPS positioning through OpenHarmony's location serviceok
  14. BluetoothNo earbuds or car yet. Wireless audio is otherwise ready.wip
  15. VideoRecording and hardware playback. Photos already work.wip
  16. NFC & fingerprintThe furthest from donewip

Built on the architecture of my first phone port, the Volla Phone X23. Also brought up: Volla Tablet · Raspberry Pi 4 (Yocto BSP) · QEMU emulator

Timeline

  1. 2021 → now

    Open Source Software Engineer Huawei Europe Research Centers

    PMC Lead of Eclipse Oniro, after serving as its Committer Representative. I lead engineering and community for an open mobile and IoT platform built on OpenHarmony, with a focus on privacy and EU regulatory compliance.

    • Brought up Oniro on Raspberry Pi 4 and QEMU with Yocto BSPs, then on Volla phones and tablets with Halium.
    • Built GitHub Actions CI/CD for OpenHarmony mirror sync, image builds, testing and board flashing.
    • Ported VLC, Tauri and Capacitor, and shipped the Oniro IDE extension for VS Code.
    • Delivered partner proofs of concept with Bosch and Hoperun on Eclipse Kanto and Mosquitto, and designed a C++ CoAP framework for Linux and Zephyr.
  2. 2019 → 2021

    M.S. Computer Engineering University of Padua

    Summa cum laude, with an Erasmus exchange at the University of Bergen. Thesis on deep-learning level-of-detail selection for 3D applications, published at EUVIP 2022.

  3. 2016 → 2019

    B.S. Computer Engineering University of Padua

    110/110. Thesis on fusing stereo and time-of-flight depth with a residual network, 7× more accurate than either sensor alone.

  4. 2015

    Full-stack web developer intern Kiteblue Italy

    A responsive web application with AngularJS and Node.js.

~/projects

Things I've built, charted.

Four constellations: devices I've ported to, the bridges that bring apps across, the tools I make for other developers, and the work that came before Oniro. Stars are named the way astronomers name them, brightest first. Pick one.

talks.log

On stage.

How OpenHarmony reaches new hardware, told to open-source, research and community audiences across Europe. Slides for every talk are in frankplus/presentations.

  1. 2026 OpenHarmony technical conference Prague Bringing Oniro to a European developer phone slides ↗
  2. 2026 Volla Community Days Remscheid Oniro on Volla: An open mobile OS, running on your hardware video ↗slides ↗
  3. 2026 GOSIM Paris OpenHarmony Tech Forum · Paris Lowering Every Barrier: How Oniro Brings Devices, Apps, and Developers to OpenHarmony slides ↗
  4. 2026 FOSDEM Brussels Bringing OpenHarmony to Phones: Lessons from the Oniro Porting Effort video ↗slides ↗
  5. 2025 SFSCON Bolzano From IoT to Mobile: Oniro's Technical Journey Toward Digital Independence video ↗slides ↗
  6. 2025 OpenHarmony Technical Conference Accelerating Global OpenHarmony Adoption through Oniro slides ↗
  7. 2025 Volla Community Days Remscheid Porting OpenHarmony to Volla phones: a technical deep dive video ↗slides ↗
  8. 2025 ASPLOS / EuroSys Rotterdam Oniro and the OpenHarmony ecosystem slides ↗
  9. 2025 FOSDEM Brussels Bringing Oniro to Mobile: Challenges in Hardware Enablement video ↗slides ↗

I also mentor at hackathons such as HackaTUM in Munich, and demo Oniro hardware at events like Huawei Connect.

after dark

Under a dark sky.

Away from the keyboard I photograph the sky with a small kit: a Skywatcher 72ED refractor with a focal reducer, a Star Adventurer tracking mount, a Tamron 70–300 mm lens, and a Nikon D5300.

I also take portraits and long telephoto shots of the Moon rising behind people, and keep a drawer of Raspberry Pis and microcontrollers.

Observation log

The Sun · eclipsed by the Moon

Total solar eclipse

Date
12 August 2026
Camera
Nikon D5300
Lens
Tamron 70–300 mm
Finish
HDR merge, GIMP

Totality

The corona, the Sun's outer atmosphere, shows only while the Moon covers the whole disc.

Messier 31 · 2.5 million light-years

Andromeda Galaxy

The nearest large galaxy to our own, with its companion galaxies, taken with a telephoto lens on a tracking mount.

Date
September 2026
Camera
Nikon D5300
Lens
Tamron 70–300 mm
Mount
Star Adventurer
Processing
Siril · GraXpert · GHS · StarNet

The Moon · 8 days old, 61% lit

Waxing gibbous Moon

Along the terminator the sunlight comes in low, so crater walls and mountain ranges cast long shadows.

Date
19 October 2026
Telescope
Sky-Watcher 72ED + reducer
Camera
Nikon D3500
Processing
Stacked in Siril, finished in GIMP

The Moon · 13 days old, 98% lit

Reaching for the Moon

Shot from far away through the 72ED, which makes the Moon look huge beside a person. At that focal length the person and the Moon can't both be sharp, so this is two frames, one focused on each, blended into one.

Date
24 October 2026
Telescope
Sky-Watcher 72ED
Camera
Nikon D5300
Exposure
1/1250 s · ISO 200
Finish
2-frame focus blend, GIMP

contact

Say hello.

Happy to talk about OpenHarmony, porting, open-source governance, or whatever you photographed last night.

visitor@frankplus: ~