I've got a couple of projects mostly for learning purposes, but you might want to check out these ones:
It is a (Java) chatbot that allows anyone to control an external device such as Cartesian Manipulator (with a real microscope) securely and easily via live-streaming platform Twitch.tv using user-defined commands.
I have also implemented firmware (C lang) that controls this Cartesian Manipulator and a controller for stepper motors used in this Manipulator.
So the stack looks like this:
TwitchMicroscope >> CartesianManipulator >> A4988Controller >> HALibrary
LSEDDemo2.webm
This is a bit banged implementation of the I2C protocol developed and tested on the AVR microcontroller.
GenericI2CDemo is another repository in which I use this library to communicate with a gyroscope, read values from the digital encoder, and connect two AVR microcontrollers as transmitter and receiver.
For fun, I made this simple but useful logic analyzer using Arduino to read signals and JavaFX for a desktop application to show them.
This is my system based on convolutional neural networks that learn how to estimate the relative position and rotation of 3D models from generated images.
This genetic algorithm learns to control the 2-segment arm to perform basic inverse kinematics and reach the target.
InverseKinematicsWithAi.mp4
This genetic algorithm learns to reach the target and tries to follow a road as much as possible.
Implementation of the wave function collapse algorithm in Python to generate infinite patterns based on examples.