Skip to content

Realtime Debugging for Microcontrollers – with Logging, Task View, and Command Execution.

License

Notifications You must be signed in to change notification settings

NoOrientationProgramming/code-orb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub GitHub Release

Windows Linux MacOS FreeBSD ARM, RISC-V & MinGW

Discord

The Microcontroller Debugger

When working with small targets, simple log outputs are often the only feedback available. With CodeOrb on the PC and the SystemCore on the target, we have two additional channels: a task viewer and a command interface. The task viewer provides a detailed insight into the entire system, whereas the command interface gives full control over the microcontroller.

Features

  • Full control over target
  • Crystal-clear insight into the system
  • Through three dedicated channels
    • Process Tree
    • Log
    • Command Interface

Status

  • Beta
  • ETA: June 2025

How To Use

Topology

This repository provides CodeOrb the microcontroller debugger highlighted in orange. Check out the example for STM32 as well!

User Interface

How To Build

Requirements

You will need meson and ninja for the build. Check the instructions for your OS on how to install these tools.

Steps

Clone repo

git clone https://github.com/NoOrientationProgramming/code-orb.git --recursive

Enter the directory

cd code-orb

Setup build directory

meson setup build-native

Build the application

ninja -C build-native

Test CodeOrb on Windows

.\build-native\CodeOrb.exe --help

Test CodeOrb on UNIX systems

./build-native/codeorb --help

The output should look like this

CodeOrb - Microcontroller Debugging
Version: CodeOrb-1-25.04-1

Usage: codeorb [OPTION]

Required

None

Optional

  -d,  --device <string>             Device used for UART communication. Default: /dev/ttyACM0
  -c,  --code <string>               Code used for UART initialization. Default: aaaaa
  -v,  --verbosity <uint8>           Verbosity: high => more output
  --,  --ignore_rest                 Ignores the rest of the labeled arguments following this flag.
  -h,  --help                        Displays usage information and exits.
       --start-ports-target <uint16> Start of 3-port interface for the target. Default: 3000
       --start-ports-orb <uint16>    Start of 3-port interface for CodeOrb. Default: 2000
       --refresh-rate <uint16>       Refresh rate of process tree in [ms]
       --ctrl-manual                 Use manual control (automatic control disabled)
       --core-dump                   Enable core dumps
       --version                     Displays version information and exits.

 © 2025 DSP-Crowd Electronics GmbH