Pull to refresh
585.26

DIY

For those who is not all thumbs

Show first
Rating limit
Level of difficulty

Doubling effective digitization frequency by multiple pass approach, is it possible?

Reading time4 min
Reach and readers1.2K

As already described in the previous article, in the process of reworking the DSO138 oscilloscope toy, the idea arose in the DSO303 firmware at some point to try to double the maximum sampling frequency to achieve scanning times of 500 and 200 nanoseconds per cell. In fact, for the STM32F303, the theoretically maximum achievable sampling rate from the point of view of the ADC input, and this is determined by the minimum opening time of the ADC sampling unit, which in our case is 1.5 clock cycles x (1/72 MHz) = 20.8 nanoseconds, is 48 MSPS (millions of counts per second). However, with the parallel operation of 4 ADCs at 6 MHz, it is possible to achieve only 24 MSPS due to the limited speed of the ADC.

Let's imagine that we are considering correctly-periodic signal, which is also constant, i.e. it does not experience fluctuations in frequency and amplitude over time. Is it possible to somehow digitize it not in one, but in several passes, thereby increasing the effective sampling frequency? 

Read more

DSO138 upgrade

Reading time11 min
Reach and readers6.6K

On Ali, an interesting toy – an oscilloscope called DSO138 is sold for a very inexpensive price. It has already gained quite a lot of popularity among electronics lovers, but the parameters of this device, alas, allow it to be more or less fully used only for debugging very low-frequency circuits. Actually, it is not positioned as a tool, but rather as a DIY-kit for novice electronics engineers.

This "toy" oscilloscope is assembled on the STM32F103 microcontroller, and with a fairly competent circuit design of the digital part, the presence of a fairly decent 320X240-dot color display, and not the most rotten analog path, everything, alas, is ruined by very weak ADCs on board the 32F103. The claimed band of 200 kHz can be recognized as such only with a very large stretch. Yes, it will show the presence or absence of a signal with such a frequency, but it will not be possible to really look at something beyond this.

At the same time, the 103-series has a slightly more powerful brother - the STM32F303, it is almost completely compatible with the legs, but it is significantly better in terms of the parameters we are interested in, there are 4 ADCs on board with a conversion frequency of 5 MHz (6 MHz with a 10-bit resolution). In this scenario, if you use all 4 ADCs in parallel with a 10-bit resolution, you can get a effective resolution of up to an honest 24 MSPS (millions of samples per second). The microcontroller is also inexpensive; you can easily find it on the same Ali for very reasonable money again. It is clear that the idea to change the microcontroller arose almost immediately after I tried this DSO138.

At the same time, if upgraded the toy can turn out to be a completely full-fledged tool that even professionals, not just novice amateurs, could already use. With these thoughts in mind, I decided to try to do something with a Chinese toy in my free time.

Read more

Building an Arduino based RFID Emulator

Reading time7 min
Reach and readers20K

This project is aimed at creating an experimental device for emulating RFID labels of three widely available components. I simplified the explanation of the process so that it could be easily replicated. I also developed some helpful ideas along the way, including writing a special program for converting a serial number into the transmitted data, which will definitely prove useful.

How to be good in hackathons as a developer? Practice creating simple pet projects

Reading time6 min
Reach and readers4.1K

Hackathons could be very intimidating and stressful. The key to getting better is doing simple projects. In this article, we will look at an example of a web app that can be used for sharpening your skills when you prepare for a hackathon. We will use a powerful Google API based on Machine Learning and apply the following technologies: ASP.NET, HTML, Docker, Heroku, and Git.

Read more

Gyrators

Reading time13 min
Reach and readers5.4K


Gyrators are impedance converters usually used to simulate inductance in circuits. Though they are rarely used in discrete electronics, they are interesting circuits looking like pole dancers in pictures. There are studies on gyrators, but still something is missing, so it is interesting to do another one.
Read more →

Koyaanisqatsi: The WYSIWYG-style byte-code CPU

Reading time5 min
Reach and readers1.9K
Draft diagram of core

SVG-File (actual draft)

Lyrics


Ancient times are known to everyone not with immortal works from Homer's only, but also with the Pythagorean multiplication table, Euclidean geometry and the Archimedes screw and the Pi, which we learned to use only relatively recently. In antiquity the art was not only to be able to write poetry and prose, but to design catapults or battering tools also, now there are rigid frameworks, when the discovering the new another beautiful formula is a formal words play only.
Mathematics rules the modern world completely, cynically intertwining with the world of art, intruding with calculations in all spheres of our recreation and everyday life, when the colors of masterpieces turning into poisonous colours.
Read more →

How I create browser applications inside browsers

Reading time3 min
Reach and readers2K

GitJS


In 2013 Canonical tried to crowdfund Ubuntu Edge smartphone. Its main feature could be the ability to use the smartphone as a full-fledged PС. Unfortunatly, the crowdfunding campaign did not accumulate enough money, so a dream of having a universal device remained to be the dream.


I've been searching for universality, too, on the software side, not the hardware one. Today I can confidently say I found the necessary combination: Git and JavaScript.


As you know, I have already described the benefits of browser applications (nCKOB static site generator) and the benefits of using Git instead of yet another back-end with API (GitBudget to track personal spendings). Once GitBudget was out, I spent the remaining 2020 to build a system allowing one to create browser applications right inside browsers. GitJS is the name of that system.

Read more →

Robotic Floor Washer

Reading time16 min
Reach and readers2.1K

When we think about robots, the first thing that comes to mind are robotic vacuum cleaners. The reason is simple: they are the most "solid" demonstration of success of "consumer" robotics. So making one sounds like a good idea... at first.

But isn't it a bit counter productive - to build something that popular, something we can buy in a store at a commodity (small) price? Should we build something similar, but NOT a vacuum cleaner? Something like... a floor washer, perhaps? Yes, a robotic floor washer.

In this tutorial I am going to build a fully working prototype of a robotic floor washer. By "fully working" I mean that it is going to wash floor, instead of moving dirt around like most robotic "moppers" do. While by "prototype" I mean it is going to be the first step towards production-ready unit, but not a production-ready unit yet. Let me explain.

First of all, it is not going to be THAT solid. You can grab a robotic vacuum cleaner that you got from the store by any part, including wheels and bumper and lift it. It will not fall apart. Ours probably will. The reason is, to make a device "mechanically solid" is a separate task, and if we focus on it, then "robotic" tasks will become more difficult to achieve. So we are going to do what engineers usually do: first they build C3PO without the outside body, wires everywhere and so on. And only then they put a gold-covered outfit on it.

Читать далее

Active Termination Drivers

Reading time9 min
Reach and readers4.7K


The easiest way to build a driver with specified output impedance is to use an amplifier with high load compatibility and add a resistor to its output. The penalty is a voltage drop across this resistor, so there is power loss and we need a higher supply voltage. If our driver is able to deliver the same voltage and current to the same load, but the extra resistor will have a lower value, our device will be able to deliver the same output power at a lower supply voltage. Less power losses, less heat, and longer working time when a battery is used.
There is an idea how to solve this problem: active termination. We can synthesize the output impedance!

Now when we know what we want, go to design our drivers!
Read more →

Compensation for Error Caused by Limited Gain-Bandwidth of Operational Amplifiers in Low-pass Filters

Reading time6 min
Reach and readers5.7K
Amateur vs Pro

An operational amplifier has the internal compensation circuit for stability which limits its working bandwidth. Frequency response of the compensated Op Amp has slope of −6 dB/octave or −20 dB/decade. Unity gain frequency defines the bandwidth where the Op Amp is able to amplify a signal. If we multiply the gain and frequency at any point, the result is the same, allowing us to use this parameter to select the appropriate Op Amp. It is called Gain-Bandwidth Product, GBW or GBP. The limited open-loop gain introduces a closed-loop gain and phase error.

But we want to optimize our circuits, right?
Read more →

How to save energy with BARY: Smart Home

Reading time10 min
Reach and readers1.3K


Well, every modern person has at least once wondered: for how much longer can you pay such huge utility bills?! I am no exception. Electricity, gas, heating, water, rent, elevator, removal of solid waste, etc. etc.

One of the reasons (far from the last) of creating the BARY application was the ability to collect statistics, analyze and reduce energy consumption. Europe has long passed into the regime of total economy; I think this fate will not bypass us. Therefore, to prepare for this in advance definitely will not be superfluous.

I now propose that we examine how we managed to optimize the cost of electricity along with BARY: Smart Home.
Read more →

How to make your home ‘smart’ without going crazy

Reading time10 min
Reach and readers2.3K
image

Smart furniture, which keeps your house in order, is a must for almost any futuristic set. In fact, an auto-regulating climate, automatic lights and voice control over household devices — all this can be done and configured now. But it will take a little experience, basic knowledge of technology and sometimes programming, as well as a whole sea of ​​fantasy. In my case, I did in the way that just fantasy will be enough, but first things first…
Read more →

Как с помощью HUAWEI ML Kit самостоятельно создать апплет для фото на документы

Reading time5 min
Reach and readers2.4K

Общая информация


В предыдущей статье мы рассказали о том, как создать камеру для улыбок с помощью HUAWEI ML Kit. В этот раз я собираюсь представить вам новую функцию HUAWEI ML Kit.

Вас когда-нибудь просили на учебе или работе принести фотографию определенного размера с цветным фоном для документов? В большинстве случаев у человека не окажется под рукой подходящей фотографии. Однажды в институте нам решили оформить персональные пропуска, но фотостудия оказалась закрыта. Тогда я сфотографировался на телефон, использовав простыню в качестве фона. И получил выговор от преподавателя. Но с помощью инструмента HUAWEI ML Kit вы сможете интегрировать SDK для сегментации изображений в ваше приложение и разработать апплет, чтобы создавать фото на документы самостоятельно и решить проблему отсутствия нужных фотографий.

Самое главное, что этот SDK абсолютно бесплатный и работает на всех телефонах на базе Android.

Разработка апплета для фото на документы самостоятельно


1. Подготовка


1.1 Добавьте репозиторий Maven Huawei в файл на уровне проекта build.gradle


Откройте файл build.gradle в корневом каталоге вашего проекта Android Studio.

image

Read more →

Why I keep track of spendings in a personal app made with Git+JS

Reading time4 min
Reach and readers2K

Hi, folks, let me share my experience of creating an application to keep track of my spendings. Specifically, let me do it by answering the following questions:


  1. Why keep track of spendings in an application?
  2. Why did I create the application as a personal project?
  3. Why does the project use Git+JS?

1. Why keep track of spendings in an application?


I, like many people out there, wanted to become rich and successful. To become rich, one is often advised to run a personal budget, that's what I started to do several years ago. I'd like to point out that running my personal budget hasn't made me rich and successful, and I increased income simply by moving to Moscow.

The snail terrarium concept

Reading time2 min
Reach and readers3.4K
Hello everybody! Today I want to share with you the concept of a rather unusual device, which, like the alarm remote for the "ZAZ Zaporozhets", was developed exclusively for creative purposes, without the further implementation.



It all started with the fact that two of the three grape snails escaped from our director's terrarium, and the third one died suddenly without lasting even three days. Obviously, the blame for this situation was putted not on the inability to keep the mollusk and irresponsibility, but on the “terrible terrarium”.
Read more →

Using Data Science for house hunting in Montreal

Reading time7 min
Reach and readers5.2K

Introduction


I happen to live in Montreal, in my condo on the edge of McGill Ghetto. Close to Saint Laurent Boulevard or the Maine as locals call it, with all it's attractions — bars, restaurants, night clubs, drunken students. And once upon a time, on a particular lively night, listening to the sounds of McGill frosh students drunkenly heading home after hard night of studying. I thought, that it might be a good idea to move into my own house, a little bit further away from the action.


Image

Read more →

Teaching folks to program 2019, a.k.a. in the search of an ideal program: Sequence

Reading time8 min
Reach and readers943

MUROM


Hi, my name is Michael Kapelko. I'm a professional software developer. I'm fond of developing games and teaching folks to program.


Preface


Autumn 2019 was the third time I participated as one of the teachers in the course to teach 10-15-year-old folks to program. The course took place from mid. September to mid. December. Each Saturday, we were studying from 10 AM to 12 PM. More details about the structure of each class and the game itself can be found in the 2018 article.


I have the following goals for conducting such courses:


  • create a convenient tool to allow the creation of simple games, the tool interested folks of 10 years old or older can master;
  • create a program to teach programming, the program interested folks of 10 years old or older can use themselves to create simple games.
Read more →

Hypercube. How we gave developers test devices without losing any

Reading time11 min
Reach and readers5.9K
You can’t properly test and debug mobile apps without test devices, which there should be plenty of considering how the same code may behave differently on different models. So how do we keep track of these devices? How do we quickly provide developers and testers with the smartphones they need, configured the way they need, and without much red tape?

I’m Alexey Lavrenuke. Over the years, I’ve worn many hats: one of the authors behind Yandex.Tank, a speaker on load testing, and the guy who calculated energy consumption by mobile phones. Now I’m a Yandex.Rover developer on the self-driving car team.

After the phones and before Yandex.Rover, there was Hypercube.

A few years ago, the head of mobile development popped in to the load testing department and mentioned a problem they were having with test devices: phones had a tendency to inexplicably migrate from one desk to another. Picking the right device and then finding it had become a challenge. We already experienced working with mobile devices from building a digital ammeter to calculate energy consumption, so we decided to help our coworkers out and quickly rig up a handy contraption. We figured the whole thing wouldn’t take more than three months. Oh how wrong we were. Let me tell you what we were really in for.


''Dallas cube''
Read more →