QNX @ HT6!
Welcome hackers! QNX is pleased to be meeting so many of you this weekend and to get the chance to show you the power of the QNX 8.0 Operating System in embedded projects. Read on for more information about QNX!
This page contains everything you need to get started with QNX this weekend and beyond.
What is QNX? 🛠️
QNX is a powerful, real-time operating system designed for critical applications where reliability and performance are paramount. The QNX 8 OS, in particular, offers advanced features like adaptive partitioning and high availability, making it ideal for industries ranging from automotive to medical devices. Imagine an OS that can handle complex tasks with precision, determinism, and minimal downtime – that's QNX 8.
It's probably under the hood in the car, bus, or train you took today, or powering the streetlights and pedestrian signals you passed on your way here. It's Everywhere.
Building with QNX
Can you create an AI project running on the QNX real-time operating system? Try to use a hardware target (like Raspberry Pi) to build an embedded application running on the QNX OS.
Thought Prompts
- Can you make something that moves and accomplishes a goal?
- Can you prototype an industrial control system?
- Can you prototype a hardware solution to a real-world problem?
- Can you create an entertaining game or physical challenge?
Get Hardware For The Weekend! 🥧
QNX has a collection of Pi 5 kits available to borrow for the weekend. See the event organizers to borrow some gear.
Raspberry Pi 5 kits
Kits include power, a video cable, and a micro-SD card with QNX 8.0 preloaded. It's ready to boot up and get started! Here's information about setting it up without a monitor if you're going headless.
The Pi is pre-configured with a hostname, included in the box (qnxpi<n>) and the Wi-Fi network QNX (password everywhere). You can use a mobile hotspot with that SSID/password to have it connect with no configuration. Alternatively, use a micro-SD card reader and your computer to edit the wpa_supplicant.conf file on the micro-SD card with your own Wi-Fi network.
When your Pi is on a network and you're ready to connect:
$ ssh qnxuser@<ip-address-here>
$ ssh qnxuser@qnxpi<n>.localIf you prefer a graphical experience, you can access the GUI and desktop environment over VNC. Use a client like RealVNC's VNC Client or TigerVNC, and connect to <ip-address-here>:5900.
- For more details, see: QNX Everywhere Raspberry Pi Image Documentation
Sample code is available for many hardware components (as well as examples for SPI and I2C interfaces) at gitlab.com/qnx/projects.
Enable Camera Support
If you want to use the Pi Camera 3 with your build this weekend, perform these steps on your QNX Raspberry Pi terminal.
- Install some updated camera packages:
sudo apk add \
yaml \
libturbojpeg \
qnx-egl \
qnx-gles \
qnx-screen \
qnx-devu-hcd-dwc3-xhci \
qnx-sensor-framework-rpi-camera-ipa \
qnx-io-usb-otg \
qnx-usb \
qnx-multimedia-framework \
qnx-sensor-framework \
qnx-sensor-framework-dev \
qnx-sensor-framework-camera-imx708 \
qnx-sensor-framework-rpi5 \
qnx-sensor-framework-utils- Edit startup script enable the camera:
sudo vim /system/etc/startup/post_startup.sh
Press "i" to enter Insert mode and comment this line by adding a#to the line start:#sensor -U 521:521 -b external -r /data/share/sensor -c /system/etc/config/sensor/sensor_demo.conf
Uncomment this line, and add "rpi5_" to the config file name used:sensor -U 521:521 -b external -r /data/share/sensor -c /system/etc/config/sensor/rpi5_camera_module3.conf - Save the file with Esc, Colon (":"), wq!, Enter.
- Restart the Pi by removing the power or using:
sudo shutdown - You can test the Camera Module 3 with the command:
camera_example3_viewfinder
Helpful Links 📖
Getting Started
These links point you to the things you'll need to get started with QNX development and the QNX OS on Raspberry Pi.
- QNX Codelabs – learn about accomplishing some objectives on QNX & the QNX Developer Desktop
- See the codelabs for MediaPipe (C++ only), Claude Code, and llama.cpp
- Quickstart: QNX Toolkit for VS Code (and optionally: How to use macOS to develop for QNX 8.0)
- QNX Everywhere Raspberry Pi Image Documentation
Technical Links
Additional resources to help with your development:
- Overall QNX 8.0 Documentation – find guides, tutorials, and references here
- List of QNX ports – apps and libraries ported to QNX from Linux
- Projects and code samples – including hardware samples for Raspberry Pi!
- Working with a Pi camera? See the camera samples.
- Note: Camera use with Python is not currently supported.
- Working with Gemini? See the Gemini samples.
- Want to transfer data to a laptop? See this sample.
- Working with hardware components? See the samples.
- Working with a Pi camera? See the camera samples.
- The QNX Raspberry Pi Book - Written by the QNX Lead Architect
- The QNX Developer Blog – at devblog.qnx.com
- Linux Porting Guide – how to port new utilities to QNX
- Self-hosted Desktop Guide – a great resource for building QNX code on QNX
The QNX Job Board
QNX is hiring! Check out the job board for any roles that fit your expertise. Not sure if something is a fit for you? Send us a chat!