Generated by All in One SEO v4.9.3, this is an llms.txt file, used by LLMs to index the site. # Damogran Labs The Secret Home Of Awesome Projects ## Sitemaps - [XML Sitemap](https://damogranlabs.com/sitemap.xml): Contains all public & indexable URLs for this website. ## Posts - [MAF sensor: A Layman's Investigation](https://damogranlabs.com/2025/08/maf-sensor-a-laymans-investigation/) - A simulation of flow through a meticulously engineered MAF sensor. What goes where and why? - [classy_blocks tutorial part 8: Custom Sketches](https://damogranlabs.com/2024/11/classy_blocks-tutorial-part-8-custom-sketches/) - A tutorial for creating custom sketches with classy_blocks. - [OpenFOAM: A Case of a Bad Pump](https://damogranlabs.com/2017/10/openfoam-a-case-of-a-bad-pump/) - Here at Damogran Labs we do complicated things step by step, like this: Step one. Buy an STM development board. Step two. Write the simplest possible program that makes an LED blink. Final step. Connect the most sophisticated Bluetooth Low Energy module and study 3000 pages of documentation to compile the most complicated software that - [A Hardware Update: New Circuit Board](https://damogranlabs.com/2015/06/a-hardware-update-new-circuit-board/) - We are updating hardware, electronics, optimizing size, cost and reducing manufacturing time. We also added some connectors between the printed circuit board and calibration switches, in case either needs to be replaced. - [Air Assist Nozzle for Laser Cutter](https://damogranlabs.com/2020/11/air-assist-nozzle-for-laser-cutter/) - I solved the problem with burn marks on Klarart's laser cutter. Here is the blog post about details. At the end, I mentioned that the air assist nozzle might not be optimally shaped. Immediately I felt guilty for not backing that statement up. Here's a quick-and-dirty CFD analysis of a wannabe 'better' air assist nozzle. - [dlpt - Damogran Labs Python Tools](https://damogranlabs.com/2021/01/dlpt/) - This is just a quick shout-out to our first official Python package on PyPi: dlpt - Damogran Labs Python Tools, which was just released! This library should cover the most everyday use cases that you encounter while writing any Python project. Most of dlpt functions are basically a wrappers around built-in functions, that take care - [Serial Tool v3](https://damogranlabs.com/2022/12/serial-tool-v3/) - Another - much needed - rewrite. Now installable via pip or pipx, runs on Python 3.11 and is much more maintainable. There is still a lot to do, but for now, great improvements. Previous release post: https://damogranlabs.com/2019/11/serial-tool-v2/ - [RNS MFD2 Bluetooth (CD Changer Emulator)](https://damogranlabs.com/2020/02/rns-mfd2-bluetooth-cd-changer-emulator/) - Everybody said: "why don't you just buy a new radio with bluetooth?". And you can be sure when I say, that I considered this option several times, in fact, almost every day when something didn't work. But, projects just wouldn't be fun if everything would work out of the box. This is going to be - [How To Make Indestructible Housings - Labyrinth Ljubljana Flashlights](https://damogranlabs.com/2018/08/how-to-make-indestructible-housings-labyrinth-ljubljana-flashlights/) - This is a post about what we think is the right approach to make an indestructible cases for your DIY projects. Imagine this scenario: take a group of people and lock them in a room. Give them a flashlight and tell them that the only way out of this room is up the ladder and - [TriPO Tested](https://damogranlabs.com/2016/05/tripo-tested/) - TriPO vs. CycleOps testing After gruelling months of designing and manufacturing the right shaped sensors, we finally came a couple of steps closer to our first proper prototype of our power meter. For all those newcomers to our site: we are producing a power meter that will be placed under your cycling shoe (in a sandwich - [STM32 And Custom USB HID Device? Yes Please!](https://damogranlabs.com/2016/03/stm32-custom-usb-hid-device-yes-please/) - Update (Feb 2018): As this post seems to be quite popular, I decided to write a new post for STM32 USB beginners with example code/project where we port CubeMX generated USB HID mouse to USB HID keyboard. Update 2 (Feb 2018): Here is another post about making STM32 USB CDC device. I (Domen) finaly managed - [Cene the CNC Guide, Updated](https://damogranlabs.com/2016/02/cene-the-cnc-guide-updated/) - We updated our Cene the CNC Guide with discoveries we made during our prototyping work. Among them are some that we think may spare you a few hours. Hardware and software setup, cutting parameters, ...There is just too much stuff to write all here. You should download the whole package below - it includes: Hardware setup: limit - [Tesla Cybertruck Aerodynamics](https://damogranlabs.com/2019/12/tesla-cybertruck-aerodynamics/) - I am not going to share my negative opinion on visual aspects of design of this vehicle (although I could be very verbose) but there are some technical issues I need to clarify. There are statements in style of "Tesla Cybertruck could be insanely aerodynamic" or "Tesla's Cybertruck Aerodynamics Do Flow Smoothly" or even nonsense - [classy_blocks Tutorial Part 1: the Basics](https://damogranlabs.com/2023/04/classy_blocks-tutorial-part-1-the-basics/) - Let there be a script that makes blockMesh usage much, much easier to use. It shall be called classy_blocks. If you don't know it yet, take a quick scroll through the readme file on github, then come back for an easy tutorial. Installation Recently, classy_blocks has become a python package so it can be installed - [classy_blocks Tutorial Part 2: More Basics](https://damogranlabs.com/2023/04/classy_blocks-tutorial-part-2-more-basics/) - This is the second part of the classy_blocks tutorial. If you're new to this, you might want to start with part 1. Points Just to clear things up, classy_blocks uses the numpy package to do the heavy mathematical lifting. Anytime any classy object requires your input you can pass it a numpy array. In order - [classy_blocks Tutorial Part 3: Shapes](https://damogranlabs.com/2023/05/classy_blocks-tutorial-part-3-shapes/) - This is the third part of the classy_blocks tutorial. If you're new to this, you might want to start with part 1. Most real-life geometry cannot possibly be described using just a single block, regardless of how sophistically you create it. That's why blockMesh is a block-structured mesh generator, meaning you may specify many blocks - [classy_blocks Tutorial Part 4: Projections](https://damogranlabs.com/2023/05/classy_blocks-tutorial-part-4-projections/) - Part 4 of the classy_blocks tutorial covers vertices, edges and faces, projected to any geometry that OpenFOAM supports. - [classy_blocks Tutorial Part 5: Some Useful Hints](https://damogranlabs.com/2023/09/classy_blocks-tutorial-part-5-some-useful-hints/) - The 5th part of the classy_blocks tutorial: debugging meshes, face merging, wedge cases, and automatic sorting and re-orientation of blocks. - [classy_blocks Tutorial Part 7: Optimization](https://damogranlabs.com/2023/11/classy_blocks-tutorial-part-7-optimization/) - The 7th part of the classy_blocks tutorial where we write and comment an automatic mesh generator for 2D airfoil analysis - [classy_blocks Tutorial Part 6: Curves](https://damogranlabs.com/2023/11/classy_blocks-tutorial-part-6-curves/) - The 6th part of the classy_blocks tutorial: defining and working with all kinds of curves. Usage of *Curve objects for construction of curved edges. - [Classy Classes for blockMesh](https://damogranlabs.com/2020/02/classy-blocks-for-blockmesh/) - IMPORTANT! classy_blocks have been massively improved but this article hasn't. Please refer to readme in repository for most up-to-date information and examples. blockMesh: pros and cons blockMesh is a great tool for creating simple and quick meshes. It also creates structured meshes and offers total control over its cells, which snappyHexMesh (and many other) doesn't. - [blockMesh for External Flows](https://damogranlabs.com/2020/10/blockmesh-for-external-flows/) - The Old-Fashioned blockMesh BlockMesh is the weapon of choice for directly generating rather simple meshes of channels, pipes, 2D-stuff etc. Those are mostly internal flows. With external flows, life gets tough much quicker. Consider a very simple case of a 3D flow past a cube. You now need this many blocks: if the cube sits - [Serial Tool](https://damogranlabs.com/2017/05/serial-tool/) - This is an outdated post. For the lates windows release and source code, please visit Serial Tool on GitHub. While developing embeded electronic devices, I always have problems with the same thing: how to establish a communication and send/receive some data with a custom predefined protocol. I use UART in almost all my projects, but - [Visual Studio Code STM32 IDE](https://damogranlabs.com/2018/10/vs-code-stm32-ide/) - UPDATE (29.12.2021): after a couple of weeks of testing, I can confirm that all he things covered in this project are now replaced (and even better) with VS Code Makefile tools plugin. Anyway, 3 years in a such rapid changing SW development world, I consider this project a success, even though closed. This is - [Custom USB Programable Keys With STM32 + AHK](https://damogranlabs.com/2020/05/custom-usb-shortcutter-with-stm32-ahk/) - A cheap way to add custom buttons to your PC with STM32 and AHK. - [Remap Natural Ergonomic Keyboard 4000 "My Favorites" key](https://damogranlabs.com/2020/12/remap-natural-ergonomic-keyboard-4000-my-favorites-key/) - A simple hack to enable the same configurable menu for "My Favorites" key on a Microsoft Natural Ergonomic Keyboard 4000 - [MS Natural Ergonomic Keyboard 4000 + Kensington trackball mouse](https://damogranlabs.com/2020/11/ms-natural-ergonomic-keyboard-4000-kensington-trackball-mouse/) - This is a story about how I embed Kensington trackball mouse with Microsoft Natural Ergonomic Keyboard 4000. I work as a programmer - that means 8 h/day 5 days/week I sit and stare into a screen. Although I mostly type, you can't really avoid mouse. The problem is that I also have a severe issues - [Laser Cutting Burn Marks And How to Get Rid of Them](https://damogranlabs.com/2020/11/laser-cutting-burn-marks-and-how-to-get-rid-of-them/) - There are tons of advice on how to clean laser cutting burn marks. Most of them are useless but the ones that work require quite a lot of elbow grease. Wouldn't it be nice to not produce those marks in the first place? I decided to get to the bottom of this question. And eventually, - [Slow Chrome Remote Desktop Connection: Solved!](https://damogranlabs.com/2020/11/slow-chrome-remote-desktop-connection-solved/) - The Problem I've been using Chrome Remote Desktop quite happily for a while now. But sometimes it just wouldn't work as expected. It would connect with no problems but then it would lag and stutter and most often, just freeze for quote a while. Or forever. But! I found and solved the problems with slow - [Damogran Soup](https://damogranlabs.com/2018/09/damogran-soup/) - Here's a quick tutorial on interFoam solver from the OpenFOAM toolbox. It demonstrates how much mess one makes when sneezing close to a bowl of soup. The Case Every time I sneeze during lunchtime my imagination runs wild with images of soup splattering all over the place. It wouldn't be very polite to try it - [Creo vs. Common Sense](https://damogranlabs.com/2018/09/creo-vs-common-sense/) - About the List In the beginning, I had learned 3D modelling with Solidworks and it had been a mostly pleasant experience from the very beginning. Since early 2016, I'd been using Pro/ENGINEER Wildfile 5.0. I was shocked with the amount of bad design/bad decisions/bad programming one can include in a single program. Even when we - [Settings Menu for Arduino-based Devices](https://damogranlabs.com/2018/10/arduino-settings-menu/) - Settings Menu: the Origin I was building a level meter for a water cistern based on Arduino and ultrasonic distance meters. Since I had no exact data about the cistern dimensions the meter had to support on-the-fly changing of parameters. I decided to use a display with a settings menu. Many devices need at least - [OpenFOAM and Rotating Machinery: Relative Velocity](https://damogranlabs.com/2018/12/openfoam-and-rotating-machinery-relative-velocity/) - In turbomachinery theory relative velocity is defined as w = c - u where u is circumferential velocity and c is absolute velocity at specified point. The relative velocity w is very important for evaulation of flow in or around rotating bodies. When using SRFSimpleFoam, Urel is automatically added to to resulting fields. With others (SimpleFoam with - [Parallel ParaView](https://damogranlabs.com/2019/01/parallel-paraview/) - Using OpenFOAM in parallel with MPI is well explained in the OpenFOAM manual. Rendering results in ParaView on multiple cores on a desktop computer is a little less explained on the light side of the internets. So here's a quick'n'dirty tutorial for dummies. ParaView itself can't render on multiple cores. pvserver, on the other hand, - [Arduino settings menu: updated](https://damogranlabs.com/2019/02/arduino-settings-menu-updated/) - The dl-menu library, a simple one-level menu for 16x2 displays on Arduino, has been heavily updated: Text menu item There's a new menu item for saving texts. Every character is chosen separately with up and down keys. The characters are chosen among predefined set, defined in the sketch itself - no hardcoding on my side! - [Whistle Science](https://damogranlabs.com/2019/02/whistle-science/) - In a random conversation I recently had, a question popped up: why do whistles whistle? I had no choice but to reach for the most complex tool available: OpenFOAM . All the Trouble It's quite straightforward, get a model of a whistle and stick it into a solver. At least it seemed that easy at - [Listen to the flow](https://damogranlabs.com/2019/04/listen-to-the-flow/) - An unsteady flow has, by definition, fluctuations in velocity and pressure. More often than not this results in a more or less pleasant noise. If you fear this noise could be on the less-pleasant side, you can simulate the sound and listen to it before the finished product causes Ye Royale Paine in Ye Buttocks. - [Truck Aerodynamics](https://damogranlabs.com/2019/06/truck-aerodynamics/) - Practical Background Our intuition will tell us that sharp or rounded objects will cause less drag when moving through fluid. Slightly less intuitive is the fact that changing the rear part will reduce drag even more than changing the front. So why is it that on cars and trucks, all drag-reducing effort is being put - [SALOME for multiregion meshing](https://damogranlabs.com/2019/09/salome-multiregion-mesh/) - Context If you're creating a multiregion mesh and you found this article you probably already know what SALOME , OpenFOAM, snappyHexMesh and chtMultiRegionFoam mean. In case you dont' here's a quick explanation: OpenFOAM is your favourite open-source CFD package,chtMultiRegionFoam is the OpenFOAM solver for conjugate heat transfer simulations,conjugate heat transfer analysis calculates heat flow between - [Points and Vectors](https://damogranlabs.com/2019/11/points-and-vectors/) - I occasionaly write scripts for geometry optimization, therefore I have to wrestle with geometry. Graphically very easy problems become Ye Royale Paine In Ye Buttocks to solve analytically. At first I wrestle with piles of points, lines, determinants, trigonometric functions and whatchamacallits. Then replace all of that with a few points and vectors. Here are - [RunFunctions: a Quick Cheatsheet](https://damogranlabs.com/2020/10/runfunctions-a-quick-cheatsheet/) - All OpenFOAM tutorials have Allrun and Allclean scripts which call some mysterious RunFunctions from even more mysterious sources. The most mysterious thing of all this is how poorly those are documented. Since those are not a big deal, I decided to jot down some remarks so a newcomer can tell what they are for. The - [A Parametric CFD Model: Wind Turbine from Pipes](https://damogranlabs.com/2020/10/a-parametric-cfd-model-wind-turbine-from-pipes/) - I'm building a wind turbine and as you might imagine, the blades are Ye Royale Paine In Me Buttocks. Too big for a CNC, too exposed for a 3D print, too complicated to be made by hand. I decided to make blades from pipes. This simplifies the build but now how do I know how - [OpenFOAM and DAKOTA: a Complete Guide](https://damogranlabs.com/2020/10/openfoam-and-dakota-a-complete-guide/) - Running a single CFD simulation rarely provides enough information to find a good hydraulic or aerodynamic design of a component. In many cases the poor engineer has to wrestle an awfully long list of design parameters into a state-of-the-art shape. Luckily, OpenFOAM and DAKOTA together provide an almost ready-to-use solution just for that: Sensitivity analysis(long - [STM32 USB HID Mouse And Keyboard (guide)](https://damogranlabs.com/2018/02/stm32-usb-hid-mouse-keyboard/) - There is a post (STM32 And Custom USB HID Device? Yes Please!) that gets a lot of attention, although at the time it was created, only vague "how-to" was presented. I decided to break down this to smaller parts of modifying STM32 USB HID code, generated with STM32CubeMx. Here is an example of a basic - [Multi-slot Copy Paste](https://damogranlabs.com/2018/10/multi-slot-copy-paste/) - UPDATE: Windows now has multi-slot clipboard built-in. It is great. The Inconvenience A very common issue while editing any text-based work is copying and pasting more than one string, eg. replacing one item while not overriding system clipboard and still perserve this one item for further use. So far, we solved this issues with: copy - [Serial Tool v2](https://damogranlabs.com/2019/11/serial-tool-v2/) - Serial Tool v2 released! Awesome new features that every developer need while interfacing with serial communication. - [VS Code STM32 IDE + Keil project](https://damogranlabs.com/2019/01/vs-code-stm32-ide-keil-project/) - Problem Few years ago I started with Keil + STM32 dev boards. Than STM32CubeMX was released and I started using it, generating Keil project as output. This was good enough for a couple of years, until Keil free version code size limit became a problem. Than I discovered VS Code editor and with a little effort, - [Python: Variable Type Specifier](https://damogranlabs.com/2018/08/python-variable-type-specifier/) - variable: variableType = ... The Problem I've recently switched job and I was "thrown" into a large project(s) based on Python. I had to implement only a few simple functions, but since I was/am a newbie there, this task wasn't so easy. The problem was, that we use a giant custom "library" - numerous files, - [nRF24L01+ template](https://damogranlabs.com/2019/02/nrf24l01-library/) - Few years ago, while Labyrinth Ljubljana hardware start being developed, small and cheap nRF24L01+ RF module was used for communication between control unit and battery powered flashlight.I found a great help for this device here, but I needed to do some modifications and this is what I would like to share with you. What I - [OpenFOAM postprocessing: a few shortcuts](https://damogranlabs.com/2018/09/openfoam-postprocessing-shortcuts/) - Run-time postprocessing For pump performance calculation (and in many other cases as well), one usually needs data about pressure rise (head), flow, and power. If cavitation is an issue, maximum and minimum values for pressure come in handy, also maximum and minimum velocity can tell about convergence or numerical issues. All of these values are - [OpenFOAM meshing: a few shortcuts](https://damogranlabs.com/2018/05/openfoam-meshing-shortcuts/) - Merging Files If you're using SALOME to create STL files for meshing you can only save separate surfaces to separate files. That's not a problem if you're using snappyHexMesh but cfMesh only takes an STL file that has all surfaces combined and named. I wrote a simple Python script that does that for you. Save - [SPI Bus Cable Length - nRF24](https://damogranlabs.com/2018/08/spi-bus-cable-length-nrf24/) - There was a game called Labyrinth Ljubljana, and part of its technical solution was a Control Unit which controlled our custom made flashlights over RF link with cheap chinese module with nRF24L01+ onboard. We need to cover (one way: Control Unit -> Flashlights) an entire Labyrinth house (a stall actually), about 500 m2 in two floors - [How To Use CNC For Plastics](https://damogranlabs.com/2018/08/how-to-use-cnc-for-plastics/) - Here is a reason why we used Cene the CNC for plastic milling. And here are few tips and tricks for CNCing plastics, in our case polyethylene: Use the sharpest drills you can find. Similar to milling aluminum, plastics tend to melt and stick on blunt bits and drills. Very important. We used all, 2, 3 - [SDP - Simple Data Protocol](https://damogranlabs.com/2017/12/sdp-simple-data-protocol/) - So far, the communication was the hardest part of every project I was part of. I already did a tool to ease debugging and creating an aplication layer, but still, the hard part was to correctly receive all bytes and in case of error, recover or retry. I tried a lot of things, but none - [Python to .exe](https://damogranlabs.com/2018/02/python-to-exe/) - I build a Serial Tool for developing serial communication and custom protocols. Than I wish to share it with my friends and than there was a problem. Originally, Serial Tool was written in python v2.7 and pyqt4. My first windows distribution was created with py2exe with no problem. I followed simple online tutorial and voila, there it - [STM32 USB CDC](https://damogranlabs.com/2018/02/stm32-usb-cdc/) - By now almost all of my projects included some sort of communication with PC, mostly with external USB-UART bridge chip like MCP2200 or CP210x. Although this devices were mostly prototypes and/or single products, such approach added unwanted costs and since almost all uC that I used already have USB peripheral embedded, there is no excuse not - [RC Filter Frequency Pole Calculator](https://damogranlabs.com/2018/03/rc-filter-frequency-pole-calculator/) - There are numerous RC filter pole calculators online and I happily used them for a quick calculations while DIYing. The problem is that these online calculators calculate frequency pole where gain decreases by 3dB, which is fine, but what if you need to know the frequency of some (first-order) filter while given only the specifications about - [A Lesson Learned: Elastic Vs. Bulk Modulus](https://damogranlabs.com/2015/06/prototype/) - It's the little details that usually ruin everything. When some tests failed they just confirmed what I always suspected wouldn't work but sometimes there was a totally unexpected inconvienience waiting for us. Once upon a prototype, we had this incredible idea. A force sensor would be much like a sandwich, a thin layer of soft - [DIY Constrained Path Optimization](https://damogranlabs.com/2018/03/diy-constrained-path-optimization/) - The Problem: Path optimization The exact origin of this problem is somewhat blurry but since I already have the solution I won't put much effort into clarifying it. We have a particle that moves along a spatial curve, starting from point r1 with a defined velocity of v1 and ending its path at r2 with - [Just a Glimpse: A Video of Chaotic-Tock](https://damogranlabs.com/2015/06/video-of-chaotic-tock/) - Here is a quick video render to show you how sexy plexi can be! https://www.youtube.com/watch?v=XITf69RDTRo - [TriPO is a 3 year lasting project of Damogran Labs](https://damogranlabs.com/2015/06/tripo/) - Damogran Labs is a young group of people who are into new technical solutions. We and all our projects are located in the central Europe (Slovenia). Damogran Labs consists of electrical engineer, mechanical engineer, designer and marketing/legal manager. So that makes us pretty much self-sufficient for all our projects. The Main goal of all projects - [Chaotic-Tock Testing And Conclusions](https://damogranlabs.com/2015/06/chaotic-tock-testing/) - It's Testing Time! Our very first (final) Chaotic-Tock has been running since the beginning of May. It's been a month now and we are happy to announce that there is nothing to be announced. It works just as it worked in the beginning of May, so launching is expected in the next couple of months. - [Brainstorming and slacking off](https://damogranlabs.com/2015/08/brainstorming-and-slacking-off/) - Currenty we are doing multiple things at the same time: we are promoting Chaotic-Tock Indiegogo campaign before it starts on Aug 17th, Nejc is doing some research about new version of Knof (force sensor), and Domen is tweaking electronics to make more reliable measurement. Oh, and we are laying on the beach like there is nothing in the - [Computer Numerical Control. We Are In Heaven.](https://damogranlabs.com/2015/09/computer-numerical-control-we-are-in-heaven/) - Hello CNC, welcome to our workshop. Your name will be Cene and from now on, you are our best tool so far. Thank you and forgive us all further abuse. The Damogran Labs team. - [What is Knof?](https://damogranlabs.com/2015/06/knof/) - About Knof Knof is a common name for our family of force sensors. All of them are small, tough, accurate, extremely simple and therefore cheap. The main advantages are: simple design that requires no complex manufacturing techniques and no exotic materials small size with regard to given maximum force high overload tolerance wide range of - [The Box of Shame](https://damogranlabs.com/2015/06/prototype-2/) - There is a box of shame in our workshop that contains a number of more or less (but mostly less) successful attempts at building a decent prototype of force sensor. We never throw away anything because of one single reason. The funniest thing in the world is seeing how insanely stupid your former self was. - [Kung-Fu Abracadabra Calibration](https://damogranlabs.com/2015/07/kung-fu-abracadabra-calibration/) - Calibration of a sensor means finding out a few parameters that are needed to convert raw readouts to actual results. A single sensor needs a few numbers. It is attached to a high-precision-high-complexity-high-price device in a calibration laboratory and a number of measurements is made to obtain the parameters. It takes time, money, knowledge and - [What We Do During Weekends: Screwing Around](https://damogranlabs.com/2015/07/what-we-do-during-weekends-screwing-around/) - Beauty is hidden in the details, but not many people can find it. That's why Chaotic-Tock has so huge gears. Usually, these elements are hidden from view, and even if they are visible, they are usually so tiny that details can't be seen at all. But when gears are visible and big enough, they look - [Awesome Stuff In Developement!](https://damogranlabs.com/2015/11/awessome-stuff-in-developement/) - In case no one noticed, we were very busy in the last weeks. Anyway, we were not on holidays. In the mean time, Domen finished his Master thesis, and Nejc is constantly developing interesting projects. Most of time we are improving our Knof force sensor, that will be used in our Tripo cycling power meter. Of course there are other projects - [The Cene CNC Configuration Guide](https://damogranlabs.com/2015/12/the-cene-cnc-configuration-guide/) - Edit February 12nd, 2016: there has been an update to this post. Since we adopted Cene the 3040 4-Axis CNC, we've been working with it and on it. We added a few hardware improvements such as limit switches, tool length probe, LED lighting, closed coolant pump container, just to name a few. We have set - [We've Got The Power! Measured.](https://damogranlabs.com/2016/03/power-measurement-prototype/) - At last, the power is in our hands. We have a working TriPO prototype. The graph below shows force, torque and power measured (computed) from the data for one revolution. Starting at bottom dead position, the greatest force is around 130 N, torque 22 Nm, and average power for the whole revolution 22 W. This might - [A drill bit of 3D modelling](https://damogranlabs.com/2017/05/drill-bit-3d-modelling/) - Speaking of involute gears and metric screws, this is another little project that celebrates engineering knowledge. While laying sick in bed I decided to make a 3d model of a drill bit. So I took the largest and the most complicated one from our workshop and modelled it in FreeCAD. One of the purposes of ## Pages - [About Us](https://damogranlabs.com/about/) - Learn more about Damogran Labs, a group of engineers from Slovenia. - [Projects](https://damogranlabs.com/projects/) - Our projects are sometimes very demanding and high tech but others may be just a reinvention of the wheel. Check them out! - [Contact](https://damogranlabs.com/contact/) - Feel free to reach out for help, thoughts, concerns or collaboration. Either leave a comment on any of our blog posts, our FB page or simply, by email. We will be more than happy to discover new tech enthusiasts! Contact us: info@damogranlabs.com Nejc Jurkovič Mechanical engineer and software developer. Since childhood, he has been making ## Categories - [Uncategorized](https://damogranlabs.com/category/uncategorized/) - [classy_blocks](https://damogranlabs.com/category/classy_blocks/) - Tutorials and developments of the classy_blocks package for OpenFoam blockMesh. See https://github.com/damogranlabs/classy_blocks ## Tags - [prototypes](https://damogranlabs.com/tag/prototypes/) - [old designs](https://damogranlabs.com/tag/old-designs/) - [archive](https://damogranlabs.com/tag/archive/) - [knof](https://damogranlabs.com/tag/knof/) - [force sensor](https://damogranlabs.com/tag/force-sensor/) - [elastic vs bulk modulus.](https://damogranlabs.com/tag/elastic-vs-bulk-modulus/) - [prototype](https://damogranlabs.com/tag/prototype/) - [Chaotic-Tock](https://damogranlabs.com/tag/chaotic-tock/) - [pcb](https://damogranlabs.com/tag/pcb/) - [circuit board](https://damogranlabs.com/tag/circuit-board/) - [electronic](https://damogranlabs.com/tag/electronic/) - [testing](https://damogranlabs.com/tag/testing/) - [launching](https://damogranlabs.com/tag/launching/) - [cycling](https://damogranlabs.com/tag/cycling/) - [bike](https://damogranlabs.com/tag/bike/) - [power meter](https://damogranlabs.com/tag/power-meter/) - [video](https://damogranlabs.com/tag/video/) - [render](https://damogranlabs.com/tag/render/) - [teaser](https://damogranlabs.com/tag/teaser/) - [CNC](https://damogranlabs.com/tag/cnc/) - [Tripo](https://damogranlabs.com/tag/tripo/) - [Cene](https://damogranlabs.com/tag/cene/) - [linuxCNC](https://damogranlabs.com/tag/linuxcnc/) - [EMC](https://damogranlabs.com/tag/emc/) - [Stepper Motor](https://damogranlabs.com/tag/stepper-motor/) - [Stepper Motor Driver](https://damogranlabs.com/tag/stepper-motor-driver/) - [CNC Configuration](https://damogranlabs.com/tag/cnc-configuration/) - [CNC Setup](https://damogranlabs.com/tag/cnc-setup/) - [Limit Switch](https://damogranlabs.com/tag/limit-switch/) - [3040](https://damogranlabs.com/tag/3040/) - [3040 CNC](https://damogranlabs.com/tag/3040-cnc/) - [4 axis](https://damogranlabs.com/tag/4-axis/) - [tool length setup](https://damogranlabs.com/tag/tool-length-setup/) - [tool length probe](https://damogranlabs.com/tag/tool-length-probe/) - [ebay](https://damogranlabs.com/tag/ebay/) - [spindle motor cooling](https://damogranlabs.com/tag/spindle-motor-cooling/) - [chip removal](https://damogranlabs.com/tag/chip-removal/) - [milling aluminium](https://damogranlabs.com/tag/milling-aluminium/) - [pcb milling](https://damogranlabs.com/tag/pcb-milling/) - [3020](https://damogranlabs.com/tag/3020/) - [6040](https://damogranlabs.com/tag/6040/) - [donga](https://damogranlabs.com/tag/donga/) - [emc2](https://damogranlabs.com/tag/emc2/) - [wood milling](https://damogranlabs.com/tag/wood-milling/) - [phenolic resin milling](https://damogranlabs.com/tag/phenolic-resin-milling/) - [USB](https://damogranlabs.com/tag/usb/) - [HID](https://damogranlabs.com/tag/hid/) - [Device](https://damogranlabs.com/tag/device/) - [Report](https://damogranlabs.com/tag/report/) - [descriptor](https://damogranlabs.com/tag/descriptor/) - [STM32](https://damogranlabs.com/tag/stm32/) - [SMT32L1](https://damogranlabs.com/tag/smt32l1/) - [CubeMX](https://damogranlabs.com/tag/cubemx/) - [STM](https://damogranlabs.com/tag/stm/) - [cycleops](https://damogranlabs.com/tag/cycleops/) - [test](https://damogranlabs.com/tag/test/) - [screw](https://damogranlabs.com/tag/screw/) - [nut](https://damogranlabs.com/tag/nut/) - [giant wooden screw](https://damogranlabs.com/tag/giant-wooden-screw/) - [lathe](https://damogranlabs.com/tag/lathe/) - [Froc](https://damogranlabs.com/tag/froc/) - [clock](https://damogranlabs.com/tag/clock/) - [FreeCAD](https://damogranlabs.com/tag/freecad/) - [Serial Tool](https://damogranlabs.com/tag/serial-tool/) - [serial](https://damogranlabs.com/tag/serial/) - [communication](https://damogranlabs.com/tag/communication/) - [uart](https://damogranlabs.com/tag/uart/) - [embedded](https://damogranlabs.com/tag/embedded/) - [python](https://damogranlabs.com/tag/python/) - [qt](https://damogranlabs.com/tag/qt/) - [pyqt](https://damogranlabs.com/tag/pyqt/) - [putty](https://damogranlabs.com/tag/putty/) - [sdp](https://damogranlabs.com/tag/sdp/) - [HAL](https://damogranlabs.com/tag/hal/) - [protocol](https://damogranlabs.com/tag/protocol/) - [MIN](https://damogranlabs.com/tag/min/) - [USART](https://damogranlabs.com/tag/usart/) - [CRC](https://damogranlabs.com/tag/crc/) - [CRC-16](https://damogranlabs.com/tag/crc-16/) - [exe](https://damogranlabs.com/tag/exe/) - [py2exe](https://damogranlabs.com/tag/py2exe/) - [pyinstaller](https://damogranlabs.com/tag/pyinstaller/) - [cx_freeze](https://damogranlabs.com/tag/cx_freeze/) - [v2.7](https://damogranlabs.com/tag/v2-7/) - [v3.6](https://damogranlabs.com/tag/v3-6/) - [STM32CubeMX](https://damogranlabs.com/tag/stm32cubemx/) - [keyboard](https://damogranlabs.com/tag/keyboard/) - [mouse](https://damogranlabs.com/tag/mouse/) - [CDC](https://damogranlabs.com/tag/cdc/) - [numpy](https://damogranlabs.com/tag/numpy/) - [path](https://damogranlabs.com/tag/path/) - [optimization](https://damogranlabs.com/tag/optimization/) - [filter](https://damogranlabs.com/tag/filter/) - [RC](https://damogranlabs.com/tag/rc/) - [gain](https://damogranlabs.com/tag/gain/) - [frequency](https://damogranlabs.com/tag/frequency/) - [OpenFOAM](https://damogranlabs.com/tag/openfoam/) - [snappyHexMesh](https://damogranlabs.com/tag/snappyhexmesh/) - [blockMesh](https://damogranlabs.com/tag/blockmesh/) - [plastic](https://damogranlabs.com/tag/plastic/) - [milling](https://damogranlabs.com/tag/milling/) - [polyethylene](https://damogranlabs.com/tag/polyethylene/) - [4060](https://damogranlabs.com/tag/4060/) - [2030](https://damogranlabs.com/tag/2030/) - [sandblasting](https://damogranlabs.com/tag/sandblasting/) - [Labyrinth Ljubljana](https://damogranlabs.com/tag/labyrinth-ljubljana/) - [Labyrinth](https://damogranlabs.com/tag/labyrinth/) - [Flashlight](https://damogranlabs.com/tag/flashlight/) - [Case](https://damogranlabs.com/tag/case/) - [Housing](https://damogranlabs.com/tag/housing/) - [plastics](https://damogranlabs.com/tag/plastics/) - [DIY](https://damogranlabs.com/tag/diy/) - [indestructible](https://damogranlabs.com/tag/indestructible/) - [nRF](https://damogranlabs.com/tag/nrf/) - [nRF24](https://damogranlabs.com/tag/nrf24/) - [nrf24L01](https://damogranlabs.com/tag/nrf24l01/) - [SPI](https://damogranlabs.com/tag/spi/) - [spi bus](https://damogranlabs.com/tag/spi-bus/) - [cable](https://damogranlabs.com/tag/cable/) - [length](https://damogranlabs.com/tag/length/) - [baudrate](https://damogranlabs.com/tag/baudrate/) - [PA/LNA](https://damogranlabs.com/tag/pa-lna/) - [UTP](https://damogranlabs.com/tag/utp/) - [Visual Studio Code](https://damogranlabs.com/tag/visual-studio-code/) - [VS Code](https://damogranlabs.com/tag/vs-code/) - [variable](https://damogranlabs.com/tag/variable/) - [recommendation](https://damogranlabs.com/tag/recommendation/) - [autocomplete](https://damogranlabs.com/tag/autocomplete/) - [Intellisense](https://damogranlabs.com/tag/intellisense/) - [Intelli Sense](https://damogranlabs.com/tag/intelli-sense/) - [CFD](https://damogranlabs.com/tag/cfd/) - [interFoam](https://damogranlabs.com/tag/interfoam/) - [simulation](https://damogranlabs.com/tag/simulation/) - [3d model](https://damogranlabs.com/tag/3d-model/) - [creo](https://damogranlabs.com/tag/creo/) - [pro/engineer](https://damogranlabs.com/tag/pro-engineer/) - [gui](https://damogranlabs.com/tag/gui/) - [user interface](https://damogranlabs.com/tag/user-interface/) - [design](https://damogranlabs.com/tag/design/) - [SolidWorks](https://damogranlabs.com/tag/solidworks/) - [arduino](https://damogranlabs.com/tag/arduino/) - [settings](https://damogranlabs.com/tag/settings/) - [menu](https://damogranlabs.com/tag/menu/) - [lcd](https://damogranlabs.com/tag/lcd/) - [programming](https://damogranlabs.com/tag/programming/) - [eeprom](https://damogranlabs.com/tag/eeprom/) - [saving](https://damogranlabs.com/tag/saving/) - [scientific number](https://damogranlabs.com/tag/scientific-number/) - [scientific notation](https://damogranlabs.com/tag/scientific-notation/) - [decimal point](https://damogranlabs.com/tag/decimal-point/) - [ide](https://damogranlabs.com/tag/ide/) - [OpenOCD](https://damogranlabs.com/tag/openocd/) - [GCC](https://damogranlabs.com/tag/gcc/) - [Eclipse](https://damogranlabs.com/tag/eclipse/) - [clipboard](https://damogranlabs.com/tag/clipboard/) - [multi-slot](https://damogranlabs.com/tag/multi-slot/) - [multislot](https://damogranlabs.com/tag/multislot/) - [copy paste](https://damogranlabs.com/tag/copy-paste/) - [paraview](https://damogranlabs.com/tag/paraview/) - [mpi](https://damogranlabs.com/tag/mpi/) - [postprocessing](https://damogranlabs.com/tag/postprocessing/) - [tutorial](https://damogranlabs.com/tag/tutorial/) - [Keil](https://damogranlabs.com/tag/keil/) - [MDK-ARM](https://damogranlabs.com/tag/mdk-arm/) - [uVision](https://damogranlabs.com/tag/uvision/) - [display](https://damogranlabs.com/tag/display/) - [compressible](https://damogranlabs.com/tag/compressible/) - [fourier transform](https://damogranlabs.com/tag/fourier-transform/) - [aerodynamics](https://damogranlabs.com/tag/aerodynamics/) - [drag](https://damogranlabs.com/tag/drag/) - [math](https://damogranlabs.com/tag/math/) - [vectors](https://damogranlabs.com/tag/vectors/) - [scipy](https://damogranlabs.com/tag/scipy/) - [RNS MFD2](https://damogranlabs.com/tag/rns-mfd2/) - [RNS MFD2 Bluetooth](https://damogranlabs.com/tag/rns-mfd2-bluetooth/) - [CD Changer](https://damogranlabs.com/tag/cd-changer/) - [CD Changer emulator](https://damogranlabs.com/tag/cd-changer-emulator/) - [CDC emulator](https://damogranlabs.com/tag/cdc-emulator/) - [shortcutter](https://damogranlabs.com/tag/shortcutter/) - [shortcuts](https://damogranlabs.com/tag/shortcuts/) - [hotkeys](https://damogranlabs.com/tag/hotkeys/) - [DAKOTA](https://damogranlabs.com/tag/dakota/) - [wind turbine](https://damogranlabs.com/tag/wind-turbine/) - [SALOME](https://damogranlabs.com/tag/salome/) - [laser cutting](https://damogranlabs.com/tag/laser-cutting/) - [Microsoft Natural Keyboard](https://damogranlabs.com/tag/microsoft-natural-keyboard/) - [4000](https://damogranlabs.com/tag/4000/) - [Kensington](https://damogranlabs.com/tag/kensington/) - [Trackball](https://damogranlabs.com/tag/trackball/) - [Orbit](https://damogranlabs.com/tag/orbit/) - [carpal tunel](https://damogranlabs.com/tag/carpal-tunel/) - [mouse elbow](https://damogranlabs.com/tag/mouse-elbow/) - [My Favorites](https://damogranlabs.com/tag/my-favorites/) - [Mouse and Keyboard centre](https://damogranlabs.com/tag/mouse-and-keyboard-centre/) - [dlpt](https://damogranlabs.com/tag/dlpt/) - [Damogran Labs Python Tools](https://damogranlabs.com/tag/damogran-labs-python-tools/) - [classy_blocks](https://damogranlabs.com/tag/classy_blocks/) ## Picture tag - [designers clock](https://damogranlabs.com/ngg_tag/designers-clock/) - [electronics](https://damogranlabs.com/ngg_tag/electronics/) - [Knof TriPo Cycling Powermeter](https://damogranlabs.com/ngg_tag/knof-tripo-cycling-powermeter/) - [TriPo Cycling Powermeter](https://damogranlabs.com/ngg_tag/tripo-cycling-powermeter/) - [PCB](https://damogranlabs.com/ngg_tag/pcb/) - [flashlight](https://damogranlabs.com/ngg_tag/flashlight/) - [hot glue](https://damogranlabs.com/ngg_tag/hot-glue/) - [timer](https://damogranlabs.com/ngg_tag/timer/) - [cnc](https://damogranlabs.com/ngg_tag/cnc/) - [sandblasting](https://damogranlabs.com/ngg_tag/sandblasting/) - [reflector](https://damogranlabs.com/ngg_tag/reflector/) - [Flashlights](https://damogranlabs.com/ngg_tag/flashlights/) - [plastic](https://damogranlabs.com/ngg_tag/plastic/)