Controlling hardware and robots in Julia
APIs and bindings
- Instruments.jl : A package for controlling laboratory instruments through Julia over TCPIP/GPIB/USB/Serial, wrapped around the NI-VISA library (which needs to be separately installed) similar to PyVISA and has some starts towards making it easier to write custom instrument drivers.
- NIDAQ.jl : This package provides an interface to NIDAQmx - National Instruments’ driver for their data acquisition boards.
Computer-assisted design / manufacture (CAD/CAM)
- Devices.jl : For simplified generation of device CAD files for superconducting device design.
- LTspice.jl : A Julia interface to LTspice.
Semiconductor and Transistor
- MOSLab.jl : Semiconductor to Transistor Level Modeling in Julia.
Embedded Systems
- Embedded Systems
- Julia embedded organization
- Julia berry organization
- JuliaBerry.jl : An omnibus package with a high level API for controlling peripherals on the Raspberry Pi computer.
- LibSerialPort.jl : Julia wrapper for the libserialport C library.
- PiCraft.jl : Manipulate Minecraft on the Raspberry Pi from Julia.
- PiGPIO.jl) : Manage external hardware using GPIO pins on the Raspberry Pi.
- SerialPorts.jl) : SerialPort IO streams in Julia backed by Python’s
pySerial. (With Python dependencies)
Robots
- Julia robotics organization
- Caesar.jl : Robot toolkit: Towards non-parametric and parametric navigation solutions.
- MotionCaptureJointCalibration.jl : Kinematic calibration for robots using motion capture data.
- RigidBodyDynamics.jl : Julia implementation of various rigid body dynamics and kinematics algorithms.
- RigidBodySim.jl : Simulation and visualization of articulated rigid body systems in Julia.
- RobotOS.jl : Julia interface to ROS (Robot Operating System).
- StrandbeestRobot.jl : Simulation of a 12-legged parallel walking mechanism in Julia, inspired by Theo Jansen’s Strandbeest.
- TrajectoryOptimization.jl : A fast trajectory optimization library written in Julia. JuliaCon 2025