Octavo OSD3358-SM

Goal : understand how to design around the Octavo OSD3358 and understand how to use the PRU

The story

I had a lot of fun with Alice Meshroom (a free and open source photogrammetry software) and i was looking for components to build a drone that could make a 3D scan of his environment autonomously.

I had to pack in a small drone :

  • An autopilot running Arducopter
  • An obstacle avoidance system
  • 2 camera (forward for photogrametry and downward for mapping)

The OSD3358 can do everything above with really good documentation !
The OSD3358 has a Cortex A8 microprocessor running Linux and can run the Linux version of Ardupilot. It also has 2 microcontrollers called PRU, they have direct access to some GPIO and can access the main RAM. They are fast enough for camera capture and obstacle avoidance. Also for the wireless part, the SOC provide high-speed interfaces like SDIO and USB 2.0.


Goal : Create tool and documentation about creating an aircraft from simulation, respecting the laws to mechanic/electronic and software

Quickie Q3

Goal : Create and document the build of a Quickie Q1 but electric and with modern tooling !

Example of an electric Quickie without documentation

Youtube Electric Quickie

  • Get the pilot license (ULM or PPL in France)
  • Design a mecanicaly accurate model in freecad
  • Contribute to freecad to do everything related to mathematics (mecanical testing, wing loading, wind turbine …)
  • Choose / design electronic
  • Create a technical report and contact OSAC
  • Choose / create tools
  • Build community
  • Get certified OSHW

Project NorthStar Standalone

Goal : Create a motherboard for North Star Project allowing standalone operation, positional tracking and 5G

Repo link

Specification of Standalone Board for NorthStar :

  • Based on SOM-RK3399 from friendlyarm
  • Soc RK3399 6 core
  • Ram 2GB
  • Rom 16GB emmc
  • Wifi a/b/g/n/ac
  • Bluetooth 4.1
  • 2x USB3.0
  • 1x USB2.0
  • MPCIE (USB2.0 + PCIE + I2C) with sim holder, can be used for additional storage or 4G/5G module
  • SD Card holder+ Debug UART (UART2_DBG)
  • Support 2x H381DLN01.0 Display (1080 x 1200 90hz Amoled display)
  • RTC
  • WARNING no current limiter, 5 Volt 5 A shared between all USB2.0, USB3.0 and MPCIE port
  • GPIO Header with UART4, 3.3V, 5V, I2C3, GPIO1_C2, GPIO1_C6, GPIO1_C7, GPIO1_D0
  • PWR_IN Header with
    • Batt(7-17V), +12V, I2C1, GPIO1_A1, GPIO1_A3 - expect a power supply module that can be :
      • directly 12 V (Connect Both +Batt and +12V to 12V and ignore other pins)
      • USB C with FUSB302 IC
      • Battery (need a BMS, regulator and ina219 as fuel gauge)




  • Component research
  • Component documentation and reference design
  • PCB designed
  • BOM
  • Push repo in public
  • Get feedback from the community
  • PCB Review
  • Make power module
  • Design and 3D Print a casing
  • Write more doc
  • Board bring up

Open HMD Quest Support

Goal : provide support for the Oculus Quest through Open HMD on Linux (stream video from linux to the headset and input (position, hand, headset information) from the Quest to the PC)

Actually Open HMD mostly provide positional/hand tracking and information about headset (display size, resolution, distortion matrix).
The image is created by the library’s user via OpenGL for instance (the headset is seen exactly like a display by the operating system).
To get a working Quest there is 2 step :

  • Implement video streaming through Gstreamer
  • Send all input from headset

Sending input is way simpler than streaming video, since the headset manufacturer already provide easy access to example to access everything and the flow of data is pretty small. In contrary, video must have the lowest latency while being carried by a possibly noisy network.

No repo yet

  • Understand Open HMD internal
  • Find how to use Gstreamer to stream the video
  • Implement positional/hand tracking
  • Create code example for Python/C
  • Document how much work must be done to port other standalone headset

Smart Bridge

Smart Bridge Micro

Goal : create a plateform for robotic focusing on small drone and being fully open source

Specification of the Smart Bridge Micro

  • Very small (smaller than a pi zero)
  • V3S for video streaming / “Heavy” operating system (debian , ROS, linux-rt)
  • ESP32 for wifi raw packet / realtime operating system
  • IMU
  • A lot of extension port
  • 1s / 2s battery support
  • Support cheap camera (OV5640)


Smart Bridge Micro
Smart Bridge Micro
Smart Bridge Micro


  • Component research
  • Component documentation and reference design
  • Pcb designed
  • BOM
  • Pcb review
  • PCB and component command
  • Waiting for test jig
  • Board bring up
  • ESP32 firmware
  • Linux kernel

Hexo mini tutorial

Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create hexo project

$ hexo init project_name
$ cd project_name
$ npm install
$ npm install hexo-deployer-git --save

add to the _config.xml file :

type: git
repo: <repo url>
branch: master

If you want a custom domain name, add your CNAME to the source folder and add either to your DNS an ALIAS or A value

Create a new post

$ hexo new "My New Post"

More info: Writing

Run server

$ hexo server

More info: Server

Generate static files

$ hexo clean
$ hexo generate

More info: Generating

Deploy to remote sites

$ hexo deploy

More info: Deployment

  • Copyrights © 2019-2020 Yohann Belair
  • Visitors: | Views:

Buy me a cup of coffee~