#Projects

Christmas Tree PCB

· 2min · Damien LaRocque
A rendering of the PCB, in KiCad.

Towards the end of 2023, in preparation for the holidays, I designed and soldered about twenty small Christmas tree 🎄 PCBs to give to my relatives. During this year's holidays, I took advantage of some free time to clean up and prepare the project to publish it as an open-source hardware project on GitHub.

Assembled PCB

About

This project taught me the basics of ATtiny microcontroller programming (via UPDI), PCB art, and SMD components soldering. I hope this project inspire anyone interested in #hardware, #embedded #programming, and #electronics. If you're interested in making one for next year, I wrote down all the tips and tricks for making your own Christmas tree PCB in an instruction guide.

This project was made with the following free and open-source software:

  • FreeCAD for the outline
  • Inkscape for the PCB art
  • KiCad for the design of the PCB
  • PlatformIO for embedded programming

Images

{ "images": [ { "src": "images/rendering.png", "title": "Rendering"}, { "src": "images/front.png", "title": "Front layer"}, { "src": "images/back.png", "title": "Back layer"}, { "src": "images/sketch.png", "title": "Tree Outline in FreeCAD"}, { "src": "images/pcb-layout.png", "title": "PCB layout in KiCAD"} ] }

Links

For more info,

Christmas Tree PCB

UVT-RS

A blazingly fast trajectory description file format

· 2min · Damien LaRocque
cover

During the last months, I worked on uvt-rs, my first project in Rust 🦀!

uvt-rs is a collection of Rust crates for processing and interacting with Uncrewed Vehicle Trajectory (UVT) files. The UVT file format provides a lightweight way to describe trajectories of uncrewed vehicles, such as UAV, UGV, etc. It was designed as an extension of the LTR format introduced in Kilometer-Scale Autonomous Navigation in Subarctic Forests: Challenges and Lessons Learned.

The repository includes three crates:

  • uvt, to read, write, and generate UVT files from ROS bags (.bag) and MCAP files
  • uvt-plot, to plot a bird's-eye view of recorded trajectories
  • uvt-viz3d, to visualize UVT files in 3D with rerun

Through this project, I learned a lot about coding and packaging Rust crates, and I gained experience with deserializing messages from both ROS bag and MCAP formats. I'm now looking forward to more opportunities to use Rust for robotics projects!

<video controls autoplay
    muted>
    <source src="uvt-preview.mp4" type="video/mp4" />
    Your browser doesn't support the video tag and/or the video formats in use here – sorry!
</video><div class="galleria mb-6" style="height: 450px;">
{

"images": [ { "src": "rerun02.png", "title": "A UVT file visualized in rerun"}, { "src": "rerun01.png", "title": "A UVT file visualized in rerun"}, { "src": "traj-plot.png", "title": "Trajectory plotted with uvt-plot."} ] }

For more info,

UVT-RS