Turtlebot3 Rebuild – Integrating a Raspi and Jetson nano in one robot

The university I was a student at has a bunch of Turtlebot3 for student projects. And they got upgraded with a Jetson nano instead of the stock Raspberry Pi it had originally. After one student project on the new platform, it was clear that the Jetson nanos were good for calculating AI stuff, but terrible for reliability. So there was a plan to bring back the Raspberry Pis, but also keep the Jetson Nanos.

This was the initial rebuild:

This setup now has:
– two motors
– the OpenCR Board 1.0 for motor and battery control
– A Raspberry Pi 4 4gb as the Robot brain with Ubuntu 22.04 and ROS Humble
– A Jetson Nano for AI and Image operations
– Various sensors (ultrasonic, button, fisheye camera, 2d lidar, imu)

This prototype later got specific instructions what to screw in where, and short enough cables so they could be managed inside the robot. Another caveat that later popped up was that the power cables for the jetson nano were too thin, so a brown out occurred on power spikes. This was remedied by using the original barrel jack cables cut open and soldered in the place of the cables.

Here an example of the build instructions:

Gamejam: Life Support

For this jam, we – a team of 4 – wanted to try the first jam with Godot instead of Unity. This was on the aftermath of the Unity pricing changes, so we wanted to finally give Godot a try.

The gamejam we chose for this is the “MiniBeansJam 9“.

In Life Support, you have to survive in your fragile submarine until you manage to surface. During your ascent your submarine is getting attacked by something, which you can temporarily scare off with the underwater siren.

GitHub repo: https://github.com/MisterIXI/miniBeansJam9
Itch.io page: https://misterixi.itch.io/life-support

In rating we managed the following (out of 26):

CriteriaRankScoreRaw Score
Atmosphere#24.4174.417
Innovation#23.6253.625
Graphics#34.2924.292
Gameplay#33.9173.917
Sound#33.9583.958
Polish#103.3333.333
Theme#193.2923.292
Total#53.9173.917

Gamejam: Froggo Jump

For the “GMTK Game Jam 2023“, as a team of 4, we created a game that “plays itself”. We came up with the idea that you’d build a jump king like level, which an ai will try to play. The AI is presented as a rage game streamer.

GitHub repo: https://github.com/MisterIXI/gmtk23
Itch.io page: https://misterixi.itch.io/froggojump

For placement, we achieved the following (out of 6751 entries):

CriteriaRankScoreRaw Score
Creativity#12123.6673.667
Presentation#16223.53.5
Enjoyment#24342.8892.889
Overall#17173.3523.352

(Math:) Projective space visualizer

In my university module “Higher Mathematics” we learned about projective space and the different representation with the hemisphere. (Or as we lovingly called it: “salad bowl”) This was part of the basics to understand Elliptic-curve cryptography.

Since I had a hard time wrapping my head around the secondary representation of projective space, I decided to create a visualizer in the game engine I was familiar with at the time: Unity3d. I built a very crude module that can creates a 2D plane with a translucent mesh which can morph between the two representations. And I also added the intersecting lines together with the points to visualize where the points are at all times. This helped me understand the topic more deeply and didn’t take too much time to make.

Since it wasn’t planned to be a finished project, it is not really polished, but you can still find the working unity project on the GitHub repository: https://github.com/MisterIXI/projective-space-visualization

Gamejam: Alchemist Assembly

In a team of four, we created the factory game “Alchemist Assembly” for the Ludum Dare 53.

It is a top down factory game in which you have to craft potions of increasing complexity until you finish the main objective.

GitHub link: https://github.com/MisterIXI/ldjam53
Itch.io page: https://misterixi.itch.io/alchemist-assembly
Ldjam page: https://ldjam.com/events/ludum-dare/53/$334767/

The results are the following (out of 2308):

Overall700
Fun949
Innovation439
Theme731
Graphics503
Humor910
Mood740

Gamejam: Stick It!

For the “Mini Jame Gam #16” I decided to try completing a jam on my own. I focused on the programming and polishing part and didn’t really bother with graphics (I just quickly made basic little sprites in paint.net) as well as audio. Still I am very pleased with the outcome.

Stick it is a little puzzle platformer in which you have to “break the rules” which are objectives that you have to figure out on how to solve.

GitHub repo: https://github.com/MisterIXI/StickIt
Itch.io page: https://misterixi.itch.io/stick-it

The jam was rated and I placed the following (out of 62):

CriteriaRankScoreRaw Score
Special Object Implementation#44.44.4
Fun Factor#153.2673.267
Gameplay#163.23.2
Theme Implementation#253.1333.133
Audio#322.4672.467
Graphics#362.7332.733
Overall#163.23.2

Bachelor Thesis: Non Destructive Reverse Engineering of PCBs

Full title of the thesis: Non Destructive Reverse Engineering of Printed Circuit Boards using
Micro Computed Tomography and Computer Vision

This post only aims to illustrate the main contents of the bachelor thesis, for the full overview, the original paper is best read in it’s full form.

Here is the abstract of the thesis:
Reverse engineering (RE) of printed circuit boards (PCBs) is used for a variety of purposes, such as in computer forensics and quality assurance. Usually RE is very labor-intensive or destructive, since it pertains either manually measuring all visible contacts, including desoldering the components for the covered pads and mapping them out individually, or the process is done by milling away layer by layer to see inside the object and uncover the traces. This thesis aims to automate the process as much as possible while being non-destructive. To achieve this, micro computed tomography (µ-CT) will be used to scan the PCB while information will be extracted with the help of computer vision.


The thesis researches the possibilities of using x-ray to reverse engineer PCBs. This makes it possible to understand PCBs without the need of damaging them using different methods.

The program was not finished at the end of the thesis, since the reconstruction part was still missing, but the whole procedure was shown to work in theory. Here are a few pictures taken from the thesis to visualize the problems:

Left to right: CT scan, pre-processed CT scan, edge detection visualized, original picture

This is a comparison of the fix by tilting the PCBs when scanning in a certain way:

This picture shows the edge detection up close and explains the coloured lines:

The picture below shows the algorithm recognizing two traces on the PCB

Gamejam: Project Pirates

In our biggest time with the longest jam at the time, we created this mystery walking sim in a week.

We had a total of 6 people working on this project and created it for the “UDC Jam #25“.

This walking sim makes impossible geometry in the way you walk, and the tech behind it is very complex. It was very fun working on the system that made it possible for the map to spawn/respawn on a whim according to a defined map in a custom level editor. I was very proud of the level editor and system in particular.

GitHub repo: https://github.com/MisterIXI/UDC25
Itch.io page: https://misterixi.itch.io/project-pirates

This was a rated jam, and these are our rankings (out of 41):

CriteriaRankScoreRaw Score
Theme#23.6153.615
Innovation#102.9232.923
Fun#112.7692.769
Gameplay#112.9232.923
Overall#93.0583.058

Gamejam: Lotus Beaver

A friend of the usual group and I wanted to try to compete on a gamejam with a team of completely new people, so we did for the “Global Game 2023“.

With a team of 7 people, we created a small top down base building game in which you play a beaver that tries to plant various “buildings”, on always corroding soil. You can stop the soil from corroding with the roots of trees, which enables you to place the other plants to generate more ressources. The goal is to upgrade the central Lotus to it’s maximum upgrade level.

GitHub repo: https://github.com/MisterIXI/GGJ-2023
Itch.io page: https://misterixi.itch.io/lotus-beaver

This jam was unrated, so there is no ranking.

Gamejam: Orbital Oranges

For the Ludum Dare 52 in a team of 5, we tried to create a space game with a modular space ship, but unfortunately a team member had to drop out suddenly and we had big troubles to due to little manpower. In the end we didn’t get actual gameplay in the game. It is more of a technical showcase. But it turned out very pretty.

GitHub repo: https://github.com/MisterIXI/ldjam52
Itch.io page: https://misterixi.itch.io/orbital-oranges
Ludum Dare page: https://ldjam.com/events/ludum-dare/52/orbital-oranges

The rankings were the following (out of 1692):

Overall782
Fun815
Innovation735
Theme743
Graphics141
Humor648
Mood371