Dronov.net


Cloud oscilloscope pcb update Apr 5

Hello!

At the build instructions you can find a PCB for printing. Andrey works on a handmade PCB with Heat transfer printing method. It is almost done and ready to include in the cloud oscilloscope. I've asked him to take the soldering iron and make a feel that he's working hard on the photo :)

1 1 1 1

The brand new front case design Apr 3

We're working on a new version of case for our Cloud Oscilloscope. We've just printed the brand new front case, this is how it looks like.

What do you think?

new design

Open IoT Challenge 4.0 final report Mar 15

1

Hello!

Welcome to our journey to Open IoT Challenge by Eclipse! Last December our proposal was chosen from 70 proposal to participate. Also we've got a promocode for electronics and started to work.

Our project is Cloud Osciloscope. Here you can read a full history.

2

Working with embedded devices we need to use oscilloscope to check what's going wrong in corrupted device. We don't exactly know the actual reason of wrong work of device. Oscilloscope can help us to recognize the problem and see the packet sended for example from cpu, uart of other interface.

It is okay when your team located in one place. But when you have a remote team, you can't easily show your oscillograms to other members. Yes, you can make a video and upload it to YouTube, but doing it every time is very embarassing (checked by us).

That's why we decided to build not only the o-scope.

1

We think that cloud o-scope could be useful for DIY. Many professional o-scopes have a big cost and better equipment. But for usual application no need to use very accurate components.

Low cost and build instructions can help students to get a working oscilloscope in their personal labs. Our prototype costs about 60$ like Raspberry Pi, so we think it is a good opportunity to get an oscilloscope like in University/College.

Also we think about application at radio industry between engineers. In Russia radio is very popular. Many people like to build radio receiver by hands and speak with them. Making o-scope with battery can help to bring it on the road and check any device.

1

We tried to use cheap components as possible. That's why we've chosen an Orange Pi Zero as a main supported board. You can easily get it from Aliexpress, and many of onboard features supported in Armbian Linux.

We wrote a qt-application that should be run on oscilloscope.

Here it is a probable PCB of ADC-shield connected with Orange Pi Zero (not fully tested). You can find all components and build scheme here.

pcb

1 1

Imagine that you have two Arduino Pro micro with equal firmware: one is working, second not. You want to discover what's going on corrupted device and decide to use cloud oscilloscope.

first

First of all turn on your oscilloscope. You should see the empty graph if you already have build o-scope and installed software.

turn off

At this example we work with SoftwareSerial at Arduino that sends data. We need to connect o-scope's probe and SoftwareSerial pin. Here it a beginning of oscillogram:

get data correct

After that we need to press data button to save an oscillogram, connect to MQTT. Next press will upload saved oscillogram to cloud.

upload

This is how uploaded oscillogram is showing in the web-interface. Click here to view paste.

Let's make similar actions with corrupted Arduino:

corrupted data

This is screenshot with oscillogram from corrupted Arduino. Click here again.

oscillogram

At the "My diffs" section you can choose these oscillograms and make a graph like a diff, check out where things went bad.

diff

Yeah! It works! Now you can share oscillograms with remote colleagues.

good job

1

This Open IoT Challenge was a great motivation for us. We built one working prototype of our service. It is ready to use by us, but we need to make a new refactoring of PCB, code.

We're working on Cloud Oscilloscope in our free time doesn't connected with our work. So we don't have a lot of free time. That means that time of making new features will be amazingly unpredictable. More of that, with little community of five persons you can't truly say does your feature need to others.

So, the first lesson is to concentrate on solving real problems. You can make a feature very fast, get positive feedback and make refactoring later. In our case it works, we have some feature that not realized in this challenge. Some of features looks strange after some months, for example.

Second lesson, you should build a community near your project as soon as possible. This community may consist from nearest people, but you have to show them results of your work to get a feedback. More feedback, more knowledge about your project, more useful changes.

Third lesson, throw away your fear and just do your work. Some of features we made without solid knowledge of usefulness. For example, when Andrey had started to design a schematics of PCB he hadn't know exactly the result and tried to make most simple solution. And it works!

Don't give up and get things done!

1

Thank you that you were with us all this time! But the real adventure has started recently. We don't want to stop work on Cloud Oscilloscope. We hope to build a great community of engineers, programmers, radio-fans and other people.

And, of course, thank you Roxanne and Benjamin! You are amazing!

Stay in touch!

http://oscilloscope.cloud/

Build Cloud Oscilloscope! Mar 13

Hello!

You need a number of components to assemble Cloud Oscilloscope. Most of them can be bought at the nearest radio store or on AliExpress.

The main components of Cloud Oscilloscope are a singleboard computer, spi-display and custom ADC-shield. Now we are working with Orange Pi Zero, but in the future we will port software to Raspberry Pi and any other singlebard computer.

If you have 3D-printer you can print a case for oscilloscope. Check links at the main components list.

Main components:

front_case back_case

Use this scheme to build ADC-shield:

Components for ADC-shield:

If the output of the button on the Board is not pulled up (pull up) resistor, you need to add a 10 kOm resistor:

encoder patch

This is a first prototype of Cloud Oscilloscope so it contains a little count of bugs :) Don't afraid of this, we all are working to make a stable device.

Update

development version of ADC-shield PCB

pcb

Cloud Oscilloscope backend architecture Mar 6

Hello!

We're working on a backend for our Cloud Oscilloscope project. On the last meetings we decided to use common technologies for IoT to connect our device with backend.

architecture

MQTT

It is a heart of our service. MQTT is well described and easy to use protocol. Many frameworks have a library to use MQTT. Besides of this we have an expirience to use MQTT with esp8266, mosquitto server, golang and javascript clients.

For the Open IoT Challenge we will use an Eclipse sandbox

PostgreSQL

We need a database to store data from oscilloscopes by some rules. We don't need only store data. We need to make a diff from oscilloscopes at different types. Usually we work with PostgreSQL in web projects.

Microservice

It subscribes to the device topic, gets data from oscilloscope via MQTT and saves in PostgreSQL. Nothing else. Written in Golang.

Web-interface

We use Rails framework for making web-services. It will be a standalone website with common (like authentication, user management) and custom features. The main goal of this service is make oscilloscope's diffs from different times. We want to make diffs like at Github, where we can show someone that device is really broken or working. It useful when you work with embedded device and try to figure out what is really wrong when your device broken or works incorrectly. You can just make oscillogram from both devices and compare them into diff. And, of course, make a paste with diff like pastebin.com and share it with colleague/friend. :)

Don't forget that Open IoT Challenge ends at 15 March! Cya

Happy New 2018 Year! Jan 7

Hi everyone!

2018 has recently started and the New Year holydays is ending in Russia. Today we celebrate Orthodox Christmas. At this joyous time of year, we are grateful for our work with you and be a part of great community. We wish you abundance, happiness, and peace in a new year filled with hope!

I would like to take an opportunity and introduce our team:

current team

From left to right:

Best wishes!

We won a first stage of Open IoT Challenge by Eclipse Dec 21

Oh yeah!

We have became a TOP-12 Proposal at Eclipse Open IoT Challenge! Thanks to everyone who believed in us.

What does it mean?

It means that we will build a stable Cloud Oscilloscope by 15 march 2018. Also we will get a 150$ gift card to buy electronic parts for next Cloud Oscilloscope prototype. As you can see, right now we have a working prototype, but we have to make it stable.

Plans for the next 4 weeks

First of all, we will fix these issues:

We are going to fix some of this bugs on the New Year's holidays.

A little talk about Cloud Oscilloscope in Russian (with demonstration)

Sorry, we do not have a time to translate it :( You can use default Youtube's subs.

Cloud oscilloscope update Dec 1

Hi there!

We have a first cloud oscilloscope update.

Recently we've improved qt program on orange pi, now we can handle and show correct signal on display .

A little demonstration using oscilloscope to get signal from the sound at youtube:

Right now we're going to continue work on qt program, debugging, etc. We made a stable job of oscilloscope for over 11 minutes without lockups :D We know that the problem located with our program and if fails with zone_watermark_ok error.

We participate in Eclipse OPEN IoT Challenge, and this post is another addition to our proposal.

Eclipse Open IoT Challenge Logo

We make an open-source Cloud Oscilloscope Nov 17

Hello there!

This is a short story about our Cloud Oscilloscope or why should we be in Top 10 proposals at Open IOT Challenge. The first idea emerged before those 48 hours of fun, coding and soldering.

Team Part of our team a year ago. From left to right: Dmitry Chernyatev, Mikhail Dronov, Evgeniy Nenilin

The main goal was to make useful, interesting and cheap device at a price of 60-70$. That’s why we decided to use the cheapest components and chose the fresh Orange Pi Zero. It was 48 hours of hell: Orange Pi Zero has just released and delivered by Aliexpress, we didn't manage to neither open the datasheet, nor check sdk properly. We spent a lot of time at Hardware Hackathon adapting a SPI screen from Raspberry Pi to Orange Pi Zero. We tried to configure screen, without success. Also, the plan to "make a lot of things in 48 hours" is not a good strategy for big long-term living projects at Hackathons. After this event we decided to remake our device step by step.

First of all we made working SPI screen in our free time. It was a right idea to use an fbtft driver, and after a long time we made a working configuration. About half of a year we have used Allwinner H2 Linux SDK from Xunlong based on H3. But recently we discovered a good system called Raspbian with stable Linux for Orange Pi Zero, Raspberry Pi and other single-board computers. When making an open source hardware projects, you should be free in choice of components! I’m sure that the one Linux distro for most platforms can help us to make a similar software and whole firmware for big variety of platforms.

A couple of months ago we recognized a real pattern to use Cloud Oscilloscope. The task was to debug a broken device and compare it to working one. After that we would show the results to our colleagues in other city. We had to make an oscillogram from broken device, look at it and compare with one made from working device. We had to do it by hand. Our oscilloscope can show data in real time and on small screen only. In most cases it is enough, but not when you need to show full oscillogram to others…

And… That’s it! Why couldn't we make a solution to grab oscillograms from device, send it to the cloud and analyze after that? I don’t know! After that we realized a real motivation to complete our long-term project and shared it with others. We are sure that other people have similar projects. Open source is the best way to share our solution without any copyrights problems and grab feedbacks from users to make device better.

Also the Cloud Oscilloscope could be useful to make an experiments in development of electronics: sometimes one needs to make long measurements from the device he develops, make triggers on voltage level and alert engineers that something has happened.

What we have under the hood?

We built a device with Orange Pi Zero and ADC. It already includes WiFi to connect via MQTT with server. We’re using a cheap SPI screen from Raspberry Pi and are able to print oscillogram in realtime using framebuffer directly without X server. We will add an opportunity to setup WiFi and other settings later. Right now it looks like:

1st photo Yeah, it is the wood case and it lived with us from the Hardware Hackathon :)

1st photo Our working prototype of Cloud Oscilloscope shows his entrails

What’s next?

We need to make a stable device. We've got this approximated task list for next 2 months:

After these steps we will have a time to make a little cloud. We’re planning to write a service like pastebin for oscillograms in the future. It will be written in Golang, packed to Docker containers and deployed to Openshift ot Docker Swarm. And yeah, Eclipse Mosquitto and Paho are the best friends for us :)

Besides that we need to make a website for our service which will allow users to register, connect the oscilloscope, make an oscillogram diffs and share them. Its also required to have features like authorization, management, api and other. Our source of inspiration is Github with diffs and pastebin with code shares.

We think that our device could be useful for studying, when its not required to buy an expensive equipment to work with. Our cheap solution will show the results maybe not so accurate that expensive professional equipment would produce, but they will be good enough for studying and device will be cheap to buy and make.

We will share all software, firmware, schematics and other parts of our Cloud Oscilloscope. Right now we have only one opened repository based on Xunlong SDK at Gitlab with the first sdk we worked with. And, of course, we will make new repositories and maybe resources to discuss and share experience!

Get cheaper, get better, get open!

Stay in touch!

Как не облажаться на Хардатоне Mar 13

Хардатон

Это пост — ещё одно напоминание о предстоящем Хардатоне.

Хардатон — мероприятие для нашей отчизны, в целом, довольно свежее. Почему нельзя так просто взять, приехать в другой город (как проходят многие Хакатоны) и организовать сие действие за одну неделю — требуется довольно много оборудования. Это, к примеру, 3D-принтеры, лазерные станки, измерительное оборудование (осциллографы, мультиметры, etc), Arduino/Raspberry Pi/esp8266, паяльники/паяльные станции, и многое другое. И, да, этого оборудования должно хватать на аудиторию Хардатона (одно дело на 50 человек, другое на >150).

Цель Хардатона — прототип устройства. Это не только пописать код в своё удовольствие. Код внезапно становится не самой важной вещью в финальном прототипе. Тут уже нужно и электроникой/схемотехникой позаниматься, сделать корпус устройства, и собрать его так, чтобы что-нибудь работало. И всё это за 48 часов.

В целом, стратегия "как не облажаться на Хардатоне" зависит от многих параметров, но есть некоторые общие выявленные черты, проявляющиеся у многих команд, независимо от того, подозревают они это или нет.

Понятная задача

На мой взгляд, это самый сложный фактор. 48 часов — время довольно ограниченное. В эти часы вам будет хотеться не только работать над своим проектом, но и есть, консультироваться с другими участниками, и, иногда, спать. Очень важно не тратить время зря. Если ваша идея проекта описывает довольно сложное устройство — уберите ещё до начала работы 70% функциональности. А, помозговав, от оставшихся 30% уберите ещё 70%. Оставьте какую-нибудь одну важную часть проекта и сделайте её рабочей. Есть такое ̶х̶и̶п̶с̶т̶е̶р̶с̶к̶о̶е̶ понятие, как MVP — Minimal Viable Product — минимальный рабочий прототип продукта (пора отправиться гладить свои узкие джинсы и делать смуззи). Короче, лучше сделать меньше, но лучше. Простите за тавтологию.

Домашние заготовки

Есть наработки прототипа устройства? Разведённые платы, полусобранные корпуса и полунаписанный софт? Круто, тащите всё с собой! Используйте понятные и знакомые железки/софт/etc, иначе есть реальная возможность потратить львиную долю Хардатона на чтение чужого кода и попыткам понять, как поднять ту или иную часть железки, с которой вы работаете (что, собственно, и случилось с проектом, который пилила моя команда). С другой стороны, Хардатон должен приносить радость и удовлетворение: разобраться с какой-нибудь технологической задачей и расшарить после Хардатона этот опыт другим — тоже круто!

Наличие команды

Все участники Хардатона делятся на две категории: те у кого есть сформированная команда, и те, у которых её нет. В первом случае будет хорошая возможность что-нибудь распараллелить (например, работу с софтом и проектирование корпуса). Это обязательно нужно использовать, так как не времени будет всегда не хватать.

Во втором случае придётся посложнее. Даже если вы один и не имеете навыков проектирования корпуса или работы с определённой электроникой — это не беда. Обычно на Хардатоне есть определённое количество личностей, которых можно и нужно тыкать по всем возникающим вопросам (на прошлом Хардатоне мы не нашли характеризующего слова для таких людей, кроме как "Эксперт"). Как показывает практика, при правильном подходе к решению возникающих проблем, результат (рабочий прототип на демо проектов) налицо.

Кроме того, нужно быть готовым к тому, что к вам никто не присоединится. Может сложиться, что большинство из участников так или иначе уже самостоятельно (до Хардатона) разделится на команды. И не всегда количество "свободных" участников может быть достаточным для укомплектации вашей команды. Но участники (и организаторы) стараются свести такие случаи к минимуму.

Презентация

Да-да. Зачем? Есть два ̶с̶т̶у̶л̶а̶ варианта:

Безопасность

оп-па

Если вы себя чувствуете неуверенно перед тем как что-то запаять/перепрошить/собрать — сделайте это вместе с экспертом. Убить ардуинку или другую микросхему при определённых ̶н̶е̶ ̶о̶ч̶е̶н̶ь̶ ̶х̶о̶р̶о̶ш̶и̶х̶ обстоятельствах не составляет никакого труда.

В целом, по рекомендациям всё. И теперь немного лирики.

Тренды прошлых Хардатонов