<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>twiddling bits and atoms</title><link>https://wot.lv/</link><description></description><lastBuildDate>Sat, 22 Aug 2020 22:47:00 +0300</lastBuildDate><item><title>From zero to SoC in LiteX</title><link>https://wot.lv/from-zero-to-soc-in-litex.html</link><description>&lt;p&gt;Recently I had a need for microcontroller with larger than usual number of peripherals and found that none of STM32s
have the number of peripherals I wanted, so I decided to do a small feasibility study on building my own using LiteX.&lt;/p&gt;
&lt;p&gt;This article details the sequence of steps I …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Sat, 22 Aug 2020 22:47:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2020-08-22:/from-zero-to-soc-in-litex.html</guid><category>misc</category></item><item><title>Deployable convolutional neural network libraries</title><link>https://wot.lv/deployable-convolutional-neural-network-libraries.html</link><description>&lt;p&gt;I recently reviewed the current state of neural network libraries from
a perspective of integrating them in multi-platform, desktop C++ applications (Linux,
Windows). Although there has been a lot of progress in machine-learning, it
mostly seems to be concentrated on the research/development side. As
a consequence, deployment of the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Thu, 23 Feb 2017 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2017-02-23:/deployable-convolutional-neural-network-libraries.html</guid><category>misc</category></item><item><title>Machine learning on other people's computers</title><link>https://wot.lv/machine-learning-on-other-peoples-computers.html</link><description>&lt;p&gt;Recently I've been experimenting with machine learning models for image
recognition tasks (convolutional neural networks, CNN).&lt;/p&gt;
&lt;p&gt;The training phase of the machine learning requires a whole lot of floating
point operations. Even though current generation CPUs are really good at number
crunching, their performance is still not enough- GPUs outperform …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Thu, 09 Feb 2017 21:30:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2017-02-09:/machine-learning-on-other-peoples-computers.html</guid><category>misc</category></item><item><title>An overview of RaspberryPi cameras</title><link>https://wot.lv/an-overview-of-raspberrypi-cameras.html</link><description>&lt;p&gt;RPi is one of the most interesting SBCs for small, self-contained image
recognition applications. In this post, I will explain why I think this is the
case and present an overview of cameras I have tested on RPis.&lt;/p&gt;
&lt;h2&gt;Why RPi?&lt;/h2&gt;
&lt;p&gt;RPi is not the only SBC around. Some of them …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Wed, 11 Jan 2017 20:00:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2017-01-11:/an-overview-of-raspberrypi-cameras.html</guid><category>misc</category></item><item><title>MAVLink wireless bridge (MAVBridge)</title><link>https://wot.lv/mavlink-wireless-bridge-mavbridge.html</link><description>&lt;p&gt;I have been using MAVLink on various flight controllers for ~ 2 years now and
one thing that made me mad was lack of high bandwidth wireless connectivity
between PC and airborne platform.&lt;/p&gt;
&lt;p&gt;The most common wireless options for MAVLink are RF transceivers operating in ISM bands 
and Bluetooth SPP (serial-port-profile …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Sun, 04 Dec 2016 20:00:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2016-12-04:/mavlink-wireless-bridge-mavbridge.html</guid><category>misc</category></item><item><title>Upping STM32 debugging</title><link>https://wot.lv/upping-stm32-debugging.html</link><description>&lt;p&gt;Lately a major part of my day job has been writing software running on STM32 microcontroller. 
Up until this point my only debugging tools were limited to:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;printf-littering code and looking at output in serial console;&lt;/li&gt;
&lt;li&gt;Stepping through code with debugger (gdb together with OpenOCD or stlink);&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Both of the …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Thu, 24 Dec 2015 01:34:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2015-12-24:/upping-stm32-debugging.html</guid><category>misc</category></item><item><title>Using Dynamixel's RoboPlus without USB2Dynamixel</title><link>https://wot.lv/using-dynamixels-roboplus-without-usb2dynamixel.html</link><description>&lt;p&gt;Recently I needed to debug Dynamixel's MX-12W smart servo motor which didn't work
in multi-turn mode.&lt;/p&gt;
&lt;p&gt;Having exhausted all other options (reading datasheet carefully, probing data line to
verify that MCU sends what I think it should send), I decided to try moving the motor 
using Dynamixel's RoboPlus software.&lt;/p&gt;
&lt;p&gt;Usually …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Fri, 07 Nov 2014 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2014-11-07:/using-dynamixels-roboplus-without-usb2dynamixel.html</guid><category>misc</category></item><item><title>My take on a custom laptop</title><link>https://wot.lv/my-take-on-a-custom-laptop.html</link><description>&lt;p&gt;&lt;img alt="Overview of custom laptop" src="https://wot.lv/images/laptop_1.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Inspired by bunnie's &lt;a href="http://www.kosagi.com/w/index.php?title=Novena_Main_Page"&gt;Novena&lt;/a&gt;, I decided to build my own customized laptop with focus on experimentation with hardware.&lt;/p&gt;
&lt;p&gt;My main motivation for this project was that I got tired of lugging around devboards, USB UART bridges half-assembled projects.
Also, I'm usually a bit concerned about my soldering skills and EE …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Tue, 19 Aug 2014 22:48:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2014-08-19:/my-take-on-a-custom-laptop.html</guid><category>misc</category></item><item><title>TV-OUT on Olimex's A10-LIME</title><link>https://wot.lv/tv-out-on-olimexs-a10-lime.html</link><description>&lt;p&gt;I got my hands on Olimex's new &lt;a href="https://www.olimex.com/Products/OLinuXino/A10/A10-OLinuXino-LIME/open-source-hardware"&gt;A10-OLinuXino-LIME&lt;/a&gt; as a potential replacement
for RaspberryPi which I fried by accident. One specific requirement I had was a 
composite TV output (PAL/NTSC). It is not mentioned anywhere in product briefs by
Olimex, but this SBC does have an analog video output- …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Tue, 01 Apr 2014 17:50:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2014-04-01:/tv-out-on-olimexs-a10-lime.html</guid><category>misc</category></item><item><title>Combating endstop noise on a RepRap</title><link>https://wot.lv/combating-endstop-noise-on-a-reprap.html</link><description>&lt;p&gt;While assembling my new toy - a larger, RepRap-based 3D printer, I experienced strong 
noise on endstop inputs.&lt;/p&gt;
&lt;p&gt;Endstops on my machine are pure mechanical switches, and the wires to endstops are in 
the same cable where wires to stepper motor are (unshielded, of course).&lt;/p&gt;
&lt;p&gt;I wasn't surprised to see some …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Thu, 06 Mar 2014 13:26:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2014-03-06:/combating-endstop-noise-on-a-reprap.html</guid><category>misc</category></item><item><title>Using pcb2gcode with Marlin/grbl firmwares</title><link>https://wot.lv/using-pcb2gcode-with-marlingrbl-firmwares.html</link><description>&lt;p&gt;Recently, I wrote about building &lt;a href="https://wot.lv/homemade-desktop-cnc-router.html"&gt;a small CNC machine&lt;/a&gt;. 
I started to modify &lt;a href="http://sourceforge.net/apps/mediawiki/pcb2gcode/index.php?title=Main_Page"&gt;pcb2gcode&lt;/a&gt;, so that it is usable with Marlin/grbl type of CNC controllers (which, admittedly, support only a basic subset of proper G-code commands).&lt;/p&gt;
&lt;p&gt;Mainly, my issues were:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Marlin did not support imperial units. &lt;/li&gt;
&lt;li&gt;Marlin did not …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Wed, 14 Aug 2013 12:38:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2013-08-14:/using-pcb2gcode-with-marlingrbl-firmwares.html</guid><category>misc</category></item><item><title>Homemade desktop CNC router</title><link>https://wot.lv/homemade-desktop-cnc-router.html</link><description>&lt;p&gt;&lt;img alt="Homemade desktop CNC router" src="https://wot.lv/images/cnc_router.jpg"&gt;&lt;/p&gt;
&lt;p&gt;During the last few months I have slowly been building a desktop CNC router. 
It is loosely based on &lt;a href="http://www.thingiverse.com/thing:8527"&gt;Pleasant Mill&lt;/a&gt; by Zaggo, which in turn is loosely based on famous Mantis mill.&lt;/p&gt;
&lt;p&gt;I changed some parts of Zaggo's design to  my liking:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I wanted an enclosed work area, so …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Tue, 30 Jul 2013 23:17:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2013-07-30:/homemade-desktop-cnc-router.html</guid><category>misc</category></item><item><title>CarPC build part 2: hardware, still</title><link>https://wot.lv/carpc-build-part-2-hardware-still.html</link><description>&lt;p&gt;This is the second part of &lt;a href="https://wot.lv/raspberrypi-powered-car-pc.html"&gt;building a RaspberryPi powered CarPC&lt;/a&gt;.
I ended previous entry with seemingly nice photos of home etched PCB of hardware revision 1. Unfortunately, things did not go as planned, and I had to derail this project a bit.&lt;/p&gt;
&lt;p&gt;After careful inspection of &lt;a href="https://wot.lv/carpc-build-part-1-hardware.html"&gt;rev 1 PCB …&lt;/a&gt;&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Sun, 02 Jun 2013 23:38:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2013-06-02:/carpc-build-part-2-hardware-still.html</guid><category>RPi carpc</category></item><item><title>Scanning laser projector</title><link>https://wot.lv/scanning-laser-projector.html</link><description>&lt;h2&gt;Preface (or, Why?)&lt;/h2&gt;
&lt;p&gt;In the meantime while I gather enough courage/dedication to finish the projects I have started (e.g. master's degree, carpc build), I wanted to share what else I have been working on.&lt;/p&gt;
&lt;p&gt;It all started with an idea about SLS 3d printer, using light-curing resin 
and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Wed, 15 May 2013 00:00:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2013-05-15:/scanning-laser-projector.html</guid><category>misc</category></item><item><title>Compiling code for Stellaris Launchpad with TivaWare</title><link>https://wot.lv/compiling-code-for-stellaris-launchpad-with-tivaware.html</link><description>&lt;p&gt;So, half a year has passed by since I received Stellaris Launchpad kits from Texas Instruments.
I just could not resist the temptation to get two of them for $5 each and I might just have found
an application for them. Okay, let's write some code.&lt;/p&gt;
&lt;p&gt;Wait, I have no …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Sun, 14 Apr 2013 14:15:00 +0300</pubDate><guid isPermaLink="false">tag:wot.lv,2013-04-14:/compiling-code-for-stellaris-launchpad-with-tivaware.html</guid><category>misc</category></item><item><title>Meta-post</title><link>https://wot.lv/meta-post.html</link><description>&lt;p&gt;This is a post which briefly describes why I have moved on from Drupal to managing my static file with the help of &lt;a href="http://docs.getpelican.com/en/latest/"&gt;pelican&lt;/a&gt;.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Since I'm writing so rarely, it didn't make sense for me to often go through the pain of upgrading Drupal and all it's countless modules.&lt;/li&gt;
&lt;li&gt;I …&lt;/li&gt;&lt;/ul&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Wed, 02 Jan 2013 14:03:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2013-01-02:/meta-post.html</guid><category>misc</category></item><item><title>CarPC build part 1: hardware</title><link>https://wot.lv/carpc-build-part-1-hardware.html</link><description>&lt;p&gt;This is the first part of &lt;a href="https://wot.lv/raspberrypi-powered-car-pc.html"&gt;building a RaspberryPi powered carpc&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Over a course of few months (been busy with, eh, life) I've designed the first iteration of custom Atmega-based circuit which lets me interface with car's electronics.&lt;/p&gt;
&lt;p&gt;The main part of schematics (&lt;a href="https://wot.lv/images/schematics-v1.pdf"&gt;pdf&lt;/a&gt;)&lt;/p&gt;
&lt;p&gt;&lt;img alt="Main schematics" src="https://wot.lv/images/main-schematics.jpg"&gt;&lt;/p&gt;
&lt;p&gt;Second page with power supply and …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Sat, 29 Dec 2012 16:46:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2012-12-29:/carpc-build-part-1-hardware.html</guid><category>RPi carpc</category></item><item><title>RaspberryPi powered car-pc</title><link>https://wot.lv/raspberrypi-powered-car-pc.html</link><description>&lt;h1&gt;Why?&lt;/h1&gt;
&lt;p&gt;Some time ago, I got myself a &lt;a href="http://raspberrypi.org"&gt;Raspberry Pi&lt;/a&gt;. Initially it was supposed to replace my home-theater PC but I found it's too slow. So, I had a problem- what to do with such a nitty device of Pi.&lt;/p&gt;
&lt;p&gt;This was not the only problem I had- my old …&lt;/p&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">twiddling bits and atoms</dc:creator><pubDate>Fri, 28 Dec 2012 00:00:00 +0200</pubDate><guid isPermaLink="false">tag:wot.lv,2012-12-28:/raspberrypi-powered-car-pc.html</guid><category>RPi carpc</category></item></channel></rss>