Привет, друзья!

Меня зовут Николай, читателем Хабра являюсь давно, а вот с написанием статей как-то не сложилось. Пора исправлять эту ситуацию, тем более что как раз имеется повод — только что я запустил компанию на Kickstarter для реализации устройства с открытым исходным кодом.



Кому интересно — прошу под кат.

Так уж сложилось, что с детства я имел доступ к прогрессивным технологиям своего времени(Atari 65XE, ZX-Spectrum, EC1841 и т.д.) что предопределило не только выбор профессии, но и привило отличное(как я считаю) хобби — программирование и разработка чего-нибудь.

В дальнейшем судьба преподнесла мне еще один сюрприз — возможность эмиграции в США три года назад. При этом мне повезло дважды — практически сразу я нашел работу именно в той области которой хотел: C++ и микроконтроллеры.

С этого момента мое увлечение получило новый "толчок". Во-первых я познакомился с замечательными микроконтроллерами STM32 от компании ST Microelectronics(до этого я баловался с Atmel AVR). Во-вторых с первой зарплаты я купил 3D принтер. По своей сути я перфекционист — с одной стороны это хорошо — делаешь вещи на совесть, а с другой… порой не получается довести проект до конца только лишь потому, что не выходит он "перфектным". Печать корпусов и возможность заказа печатных плат фактически вывели возможности по созданию проектов на новый уровень.

И вот однажды, перебирая разные заказанные модули для построения простейшего осциллографа и пытаясь разместить их на макетной плате я вспомнил об игрушке которую давным давно когда-то купил когда ходил еще в колледж: о GameBoy. Быстро прикинув возможную компоновку решил: буду делать! Причем сразу в голове мелькнула идея: "А ведь не только кнопочки используются-то! Иногда используются джойстики, иногда используются крутилки… а почему бы не сделать съемные модули?". И работа закипела: пайка прототипа, программирование, разработка и печать корпуса, опять программирование… в результате держа в руках рабочий прототип пришло осознание того, что идея-то не плоха. Опять все закрутилось по-новой, только добавился этап заказа печатных плат, причем не только для mainboard но и всех модулей, т.к. подходящих найти не удалось. Причем, поскольку китайцы изготавливают платы по 10 штук, сразу было решено делать мелкую серию. Кстати, после изготовления этой серии я понял, что паять дальше в ручную(имеется ввиду мелкие серии больше 10 штук) — это не вариант.

В итоге получилось это:



Итоговые характеристики:

  • Базируется на микроконтроллере STM32F415RG, ядро Cortex-M4 работающее на частоте 168 MHz
  • 1024 KB ПЗУ и 192 KB ОЗУ
  • 2.8" экран с разрешением 320x240 точек и 16-тибитным цветом
  • Резистивный тачскрин
  • Два слота для модулей ввода, 4 I/O(2 из них могут оцифровывать сигнал с помощью АЦП) линии в каждом
  • Слот расширения с I/O линиями практически от всех выводов микроконтроллера
  • Слот для карт SD
  • И конечно же Open-source

Само устройство со всех сторон:



А вот так вот выглядит распиновка разъема расширения:



Внутри все выглядит так:



Вот так выглядит модуль с микроконтроллером:



А так его распиновка:



Модуль экрана:



И зарядника для литиевой батареи:



И наконец последняя часть — корпус:





Оранжевые штучки — это толкатели. Извлечь модуль та еще задачка. В итоге были придуманы эти толкатели. Когда модуль вставлен он их придавливает и кнопки сзади оказываются вровень с корпусом. Если же модуль надо извлечь — наживаем на толкатель и он выдавливает модуль вверх. Далее можно легко и просто его вытянуть.

Исходный код заслуживает отдельной статьи. Возможно напишу её позже. Из стороннего ПО используется System Workbench for STM32, STM32CubeMX и FreeRTOS. Это все бесплатные проекты. К этому всему написаны C++ FreeRTOS wrapper, задачи обслуживания экрана, тачскрина, звука и ввода.

image

Особенно интересен вывод графики — прототип с микроконтроллером STM32F103 мог выводить на экран игру типа Марио с частотой 15 кадров в секунду пр разрешении 320x240 и имея всего 20 Кб ОЗУ на борту(фреймбуфер исключается), при этом ограничение скорее всего было из-за частоты работы SPI. На STM32F415 с частотой SPI вдвое большей выходит 30 кадров в секунду.

Ну и в заключение оставлю ссылки:


Буду признателен если вы поделитесь ссылкой на проект со своими друзьями — сейчас главное набрать критическую массу людей, что бы запустить цепную реакцию — необходимо что бы о проекте узнало как можно больше заинтересованных людей.

Если спросить меня о долгосрочных планах, чего же я хочу в итоге ответ будет простым: создать компанию с идеологией open software и open hardware, заниматься своим любимым делом и помогать другим людям как делают это Adafruit и Sparkfun.

Если вдруг текст покажется сумбурным — не судите строго, сейчас уже почти час ночи… задавайте вопросы в комментариях — постараюсь ответить.

Комментарии (94)


  1. shiru8bit
    17.09.2018 09:29
    +2

    И 20 и 30 FPS для подобного игрового устройства (низкое разрешение, 2D) в современном мире маловато. Для динамических игр стандарт 60, выдерживался на том же Game Boy, где железо слабее на несколько порядков, и на всём до него, начиная с 1977 года. Ну и вообще, если устройство позиционируется как открытая игровая платформа, важнее не железо, а инфраструктура, средства разработки — это показывает опыт PICO8. Т.е. от низкого уровня, быстрый рендер и синтезатор звука, сравнимые с тем же GB©, и далее, удобная среда разработки, необходимые библиотеки, редакторы ресурсов, и т.д.


    1. p_fox
      17.09.2018 09:39
      +3

      Ну, не тот тип игр, чтобы наслаждаться плавными 60фпс. Но 15 это и правда очень мало.


    1. inferrna
      17.09.2018 15:16

      Чем меньше диагональ экрана, тем меньше заметен низкий фпс, так что с этим гуд.


      1. shiru8bit
        17.09.2018 15:28
        +2

        Практически у всех портативок прошлого (GB, Game Gear, Lynx, TurboExpress и т.д) экран был не больше (около 2.6 дюйма) и абсолютно несравнимо ниже качеством, но все они тянули 60 FPS в 95% игр, и разница была хорошо видна. На современных эмулирующих портативках значительно пониженный FPS в играх хорошо заметен и по сути делает их просто не выполняющими свои функции.


      1. andreishe
        18.09.2018 02:41

        В играх, где надо много и точно прыгать низкий ФПС убивает весь игровой процесс.


  1. c_kotik
    17.09.2018 09:48

    del


  1. mmMike
    17.09.2018 09:51
    +2

    На STM32F415 с частотой SPI вдвое большей выходит 30 кадров в секунду.

    А что взять более другой в линейки и писать через FSMC — это экономия на центах?


    1. Nick_Shl Автор
      17.09.2018 14:46

      Экономия на размерах. Не получилось бы сделать компактный модуль с микроконтроллером. Пришлось бы убивать идею модульности.


      1. Sap_ru
        17.09.2018 17:08
        +3

        Модуль с контроллером не нужен. На фига модуль с контроллеров если всё в графику упирается? Контроллер должен быть по-мощнее и с параллельной шиной к ЖКИ. И место под пару плат расширения с интерфейсами SPI/I2C/FSMC.
        А всё остальное при желании можно модульным сделать.


        1. Nick_Shl Автор
          17.09.2018 17:12
          -2

          Для игровой системв — да. Для системы с открытым исходным кодом где можно этот модуль использовать отдельно вообще без экрана — модульность нужна.


  1. 0o0
    17.09.2018 09:57

    «И наконец последняя част — корпус»

    — запомните, дЭти, вилька и тарелька пишутся без мягкого знака, а сол и фасол с мягким. (с)

    — Ну а если серьезно, зверек мне понравился. Попахивает денди…


    1. Mike_soft
      17.09.2018 10:16

      забыли «бутильку» и «вермишэл»


    1. Nick_Shl Автор
      17.09.2018 14:46

      Спасибо, подправил.


  1. SergeyMax
    17.09.2018 09:59

    Кнопки установлены на односторонних платах без металлизации? Не поотрываются пины?


    1. olartamonov
      17.09.2018 10:07

      На фото ж видно переходные на их платах.


  1. c_kotik
    17.09.2018 10:07

    Кстати, после изготовления этой серии я понял, что паять дальше в ручную(имеется ввиду мелкие серии больше 10 штук) — это не вариант.

    Я бы почитал подробнее, какой в итоге вариант был выбран и почему.

    И в целом, сам по себе набор не слишком интересен (говорю за себя). Но почему бы не произвести сравнения с аналогами по части dev платы и обосновать, чем Ваш вариант лучше/круче/дешевле (или почему дороже и оно того стоит). Хотя бы в сравнении с последними ревизиями teensy.


    1. olartamonov
      17.09.2018 10:19

      Я бы почитал подробнее, какой в итоге вариант был выбран и почему


      У нас, например, под прототипы нарезка трафаретов из пластиковой 100-мкм плёнки на плоттере, потом паста, расстановка вакуумным пинцетом, печка.

      Паяльником мы не делаем даже штучные экземпляры, ну, за исключением случая, когда вот совсем срочно надо вот совсем простенькое.


  1. olartamonov
    17.09.2018 10:16

    А на чём контроллер заряда сделан? Выглядит как что-то избыточно многоногое и не видно отдельно стоящей типовой защиты.


    1. NordicEnergy
      17.09.2018 10:41

      Вероятно какая-нибудь BQ24xxx. Что действительно избыточно и странно — сэкономить на МК с FMC и поставить что-то дороже 30 центов на АКБ.


      1. olartamonov
        17.09.2018 10:46

        Ну, 30 не 30, но что-то типа BQ24090 + AP9211 тут смотрелось бы адекватно — а стоит, похоже, чудо-юдо доллара за полтора-два.


    1. Nick_Shl Автор
      17.09.2018 14:56

      MCP73871 — Stand-Alone System Load Sharing and Li-Ion / Li-Polymer Battery Charge Management Controller. Это именно контроллер — батарея сидит на отдельном пине и в случае ее полного заряда контроллер питает устройство от внешнего питания. В обычных зарядниках нужно целятся на батарею. Из избыточного: три светодиода индикации(с балластными резисторами разумеется) и подтягивающие резисторы для задания конфигурации.


      1. olartamonov
        17.09.2018 15:14

        1) Ничего плохого в питании от батареи нет.
        2) Защиту батареи вам добавлять необходимо. Иначе бахнет.
        3) Из избыточного у этого чипа ценник.


  1. FreeManOfPeace
    17.09.2018 10:40
    +3

    Не понятно в чём смысл проекта. Из статьи понятно только что у меня опенсурсный девайс на микроконтроллере и крутые сменные джойстики. Но стартовая цена за минимальную комплектацию — 129$, не знаю, может у вас в США принято деньгами раскидываться, у нас точно нет.

    За такие деньги можно купить оригинальный геймбой, и вообще любую ретро-приставку при чём не одну, можно купить ту же Raspberry Pi или дешёвый андроид смартфон, поставить туда эмуляторы и ещё денег на геймпад останется (по USB-OTG или Bluetooth подключаемый).

    Как устройство для разработчика? А что для него разрабатывать? И не проще ли самому собрать если уже разработчик? В общем как самоделка интересно, но ИМХО на готовое устройство под продажи не тянет.


    1. SergeyMax
      17.09.2018 11:15

      Судя по расцветке, это что-то типа детского набора для самостоятельной сборки. Но это не точно.


    1. Nick_Shl Автор
      17.09.2018 15:04

      Да, рассчитано в первую очередь на рынок США. Вас никто не заставляет раскидываться деньгами. Вполне можно собрать такое самому.

      Для разработки можно не использовать само устройство вовсе, а собрать самому. При этом можно использовать исходный код — он открыт и на мой взгляд, довольно не плох.

      SergeyMax, какой пластик был, такая расцветка и получилась. "Детский" — это скорее уровня High School(10-11 класс) и колледж/университет.


  1. Polesskyi
    17.09.2018 11:30

    А какой 3D принтер использовался для печати корпусов?


    1. Nick_Shl Автор
      17.09.2018 15:05

      Дешевый китайский клон Prusa I3.


  1. ancc
    17.09.2018 11:30

    Почему именно SPI? Для чего-то графического разумнее имхо использовать дисплей с 16-ти битной шиной и FSMC.


    1. Nick_Shl Автор
      17.09.2018 15:07

      Потому что тогда бы пришлось поставить все на основную плату и пропала бы идея модульности. Этот экран и модуль с микроконтроллером можно использовать отдельно в разных проектах.


      1. ancc
        17.09.2018 16:45

        так поставили бы в корпусе LQFP 100 и два двухрядных хедера по бокам с шагом 2,0 мм или 1,27 мм. Не сильно бы больше был размер.


    1. bevice
      18.09.2018 10:58

      Зачем использовать FSMC, когда можно взять нормальный LTDC или DSI?


      1. ancc
        18.09.2018 11:22

        мне таки кажется что от LTDC без внешней SDRAM не сильно много толку.


        1. bevice
          18.09.2018 11:41

          А вот на fmc прикрутить внешнюю память. Цена вопроса небольшая.
          Ну и для отрисовки можно dma2d заодно использовать, из него спрайтовый движок делается без проблем.


  1. rstepanov
    17.09.2018 11:33

    Вам стоит вот с этим товарищем пообщаться, там и кадров в секунду сильно больше, и эмуляторы всего на свете работают:

    www.youtube.com/channel/UCmVFYDZEcJ3sVFal5K42F-Q/videos?shelf_id=1&sort=dd&view=0

    forum.easyelectronics.ru/viewtopic.php?p=561970#p561970


  1. 8street
    17.09.2018 11:42

    Интересная платка микроконтроллера. Жалко китайцы не делают аналогичные с мощными МК.


    1. ancc
      17.09.2018 16:49

      1. 8street
        17.09.2018 17:14

        Не, ну эта все же раза в три больше, чем в статье. Примерно такую я и купил, большевата.


  1. djiggalag
    17.09.2018 13:23

    Вещь занятная, для «поиграться на вечер». Но все эти съёмные джойстики бесполезны будут если для данной платформы не будут пилиться\портироваться игры


  1. Sdima1357
    17.09.2018 13:31

    2.8" экран с разрешением 320x240 точек и 16-тибитным цветом

    ILI 9341 — Может и 18 bit.
    STM32F415RG

    Дорогой и не умеет FSMC.
    стартовая цена за минимальную комплектацию — 129$

    Китайцы продают готовые платы за 7-10$ stm32f407ve(512rom+192ram) + 16Mbit flash или stm32f407vg(1024rom+192ram) c обвязкой. 3.2 параллельный дисплей на том же ILI9341 за 10-15$ с дисплейным буфером. Отрисовка полного экрана меньше 8 мсек на 18 бит цвета.
    +Все остальное ~10$. Итого 35$. Я что то пропустил?

    В целом интересный проект. Малинка с ним не конкурирует, потребление у нее энергии слишком высокое для носимой электроники. А на данной платформе можно добиться менее 100 мА при работе дисплея и мгновенное включение(меньше секунды).
    Кроме того, можно получить очень маленький лаг на джойстики и клавиатуру.


    1. Nick_Shl Автор
      17.09.2018 15:26

      Цены взяты с потолка у конкурентов:

      Mainboard $19.95 нет аналоговб пусть будет ~$20
      Display $29.95 www.adafruit.com/product/1770
      MCU board $44.95 www.adafruit.com/product/2390
      Charger $17.5 www.adafruit.com/product/390
      Buzzer $3.95 www.sparkfun.com/products/8463
      LiIon battery $9.95 www.adafruit.com/product/1781
      ST-Link $12.5 www.adafruit.com/product/2548
      Buttons нет прямых аналогов, только не распаянная плата, возьмем как джойстик $5.95, нужно два итого $11.9 www.adafruit.com/product/2934
      Joystick $5.95, нужно два итого $11.9 www.adafruit.com/product/512
      Encoder нет прямых аналогов возьмем как джойстик $5.95, нужно два итого $11.9

      Итого: версия только с модулями кнопок — 150.65, полный комплект — 174.45. Это только за платы, без корпуса.


      1. Sdima1357
        17.09.2018 16:27
        +1

        Цены взяты с потолка у конкурентов

        Можно и подороже найти, но Вы ведь продавать хотите, не так ли?
        По такой цене не поплывет, нет шансов.
        Вас ведь в ебай не забанили?

        STM32F407VGT6 STM32F4Discovery ARM Cortex-M4 32bit MCU Core Development Board
        www.ebay.com/itm/STM32F407VGT6-STM32F4Discovery-ARM-Cortex-M4-32bit-MCU-Core-Development-Board/282538210960?hash=item41c896f690:g:PKoAAOSwlRpZZY4F
        AU $10.96 =8.5$ usd free shipping

        3.2 inch TFT LCD ili9341 screen module ili9341 16 bit interface
        www.ebay.com/itm/3-2-inch-TFT-LCD-screen-module-Ultra-HD-320X480-for-Arduino-MEGA-2560-R3-Bo-N7R9/123181004857?epid=26020265934&hash=item1cae28f839:g:lkYAAOSwPTlbG74b
        US $8.33 free shipping

        5V 2A Dual USB 3.7V Lithium Li-ion 18650 Battery Charger
        www.ebay.com/itm/5V-2A-Dual-USB-3-7V-Lithium-Li-ion-18650-Battery-Charger-Module-DIY-Power-Bank/263548538941?epid=844032797&hash=item3d5cb7903d:g:IfQAAOSwOy1aqH4c
        US $2.26 FREE Economy International Shipping

        5 PCS 5V Active Buzzer
        www.ebay.com/itm/5-PCS-5V-Active-Buzzer-Magnetic-Long-Continous-Beep-Tone-Alarm-Ringer-12MM-NEW/221891887176?epid=2112042353&hash=item33a9c98048:g:rjcAAOSw5PJa6XqW
        US0.99$

        1PC Li-ion Rechargeable 18650 3.7V 5000mAh
        www.ebay.com/itm/1PC-Li-ion-Rechargeable-18650-3-7V-5000mAh-Li-ion-Battery-for-Led-Flashlight-UP/302810406870?hash=item4680e81fd6:m:mbACYh1xHoJSWfz6bZUhfYQ
        US $1.64

        Joystick
        www.ebay.com/itm/KY-023-Dual-Axis-Joystick-Breakout-Module-Game-Controller-For-Arduino-Hots/112243752084?epid=21009610143&hash=item1a223fbc94:g:k3kAAOSw6DtYWj0B

        AU $1.38 = 1.1 USD

        и так далее


        1. Nick_Shl Автор
          17.09.2018 16:46

          С ценами что вы привели не поплывет тем более. Нет никаких шансов конкуренции с Китаем в сфере производства. И покупатели таких устройств прекрасно это понимают, но иногда предпочитают все равно переплачивать. Почему? Ответ кроется в любом заголовочном файле от той же Adafruit:

          Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!
          Впрочем, а на чем ещё зарабатывать делая открытый продукт который китайцы могут скопировать вообще без затрат? При этом под зарабатывать я имею ввиду сумму достаточную для дальнейшей разработки разных устройств, а не личное обогащение.


          1. Gryphon88
            17.09.2018 16:58

            Насколько я помню интервью лидера Адафрут, он говорил «не патентуем, потому что всяко стырят, а денег жаль, а зарабатываем почаще обновляя линейку продуктов». У китайцев «аналоги» фруктовых модулей появляются примерно через 2-3 недели от выхода продукта.


            1. Nick_Shl Автор
              17.09.2018 17:04
              +1

              Он? Разве не она? Насколько часто можно обновлять те же модули с микроконтроллерами? На столько на сколько часто обновляет линейку производитель этих микроконтроллеров. А те же зарядник батарей? Смысл покупателям брать обновленный продукт если и клон предыдущего продукта с зарядкой батареи справляется?
              В общем обновление линейки не сильно поможет.


              1. Gryphon88
                17.09.2018 17:32

                С таким ФИО не разобрал, фото не было.

                Смысл покупателям брать обновленный продукт
                Ардуинщики — странные люди. Берут.


          1. Sdima1357
            17.09.2018 18:13

            Вам никто не мешает производить их в Китае. За 20-30 долларов. И продавать прошитые Вашим кодом, скажем за 40$. Китайцы скажут Вам спасибо. И мы тоже :)


  1. sup
    17.09.2018 14:39
    +1

    Кто целевая аудитория этого проекта? Игроки отпадают, т.к. у китайцев куча портативных устройств с меньшей ценой, лучшими характеристиками и готовыми играми. Программисты? Так и тут мимо, т.к. для развлечения можно писать игры под уже существующие платформы со своим комьюнити, которые смогут оценить твоё творение, и даже заплатят за это.


    1. Nick_Shl Автор
      17.09.2018 15:13

      Целевая аудитория — те кто наигрался с Arduino и хочет чего-то большего: настоящий дебаггер, настоящую IDE, настоящую RTOS и более высокую производительность.


      1. sup
        17.09.2018 15:21

        Тогда бы я посоветовал делать упор не на игры а на то что это devkit STM. И написать под него какие-то более утилитарные демки, вроде того же осциллографа. Устройство в изначальной поставке должно выполнять функции полезные целевой аудитории.


        1. Nick_Shl Автор
          17.09.2018 15:30

          Игры — просто лучшая демонстрация как можно использовать все то, что уже написано. C++ FreeRTOS wrapper не "пощупаешь", задачи обслуживания экрана — тоже. А вот игра вполне неплохо показывает как это все может работать.
          Осциллограф у меня есть(правда под прототип на F103, буду портировать), но с ним одна проблема — нет аналоговой части. Фактически можно смотреть 0-3.3V, а что бы это был настоящий осциллограф нужна аналоговая часть которая бы приводила уровни к этому диапазону.


          1. sup
            17.09.2018 15:52

            Возможно здесь и пригодились бы сменные модули. Сейчас просто в голову не приходит, с под что можно было бы задействовать экран. Тестер радиоэлементов, анализатор спектра. В общем, игра была бы хорошим бонусом к более полезным функциям.


  1. EGlaz
    17.09.2018 16:15

    В чём смысл крутилок и аналоговых стиков? В гейм-бое не было ни того ни этого, насколько мне известно. Аналоговые стики имеют смысл в 3Д играх, вроде Sony PS Portable, но как я понял, тут она не эмулируется. Тогда зачем этот конструктор вообще?
    Под самописные игры?


    1. Nick_Shl Автор
      17.09.2018 16:26

      Смысл стиков: можно подцепить на разъем расширения передатчик и использовать как пульт управления моделями.
      Смысл крутилок: можно сделать аналоговую часть для масштабирования сигналов в диапазон 0-3.3V, подцепить ее к разъёму расширения и использовать как простенький осциллограф.
      Все с написанием соответствующих программ разумеется.
      Сейчас крутили используются в Pong'e — оригинальная игра использовала как раз-таки крутилки.


  1. kirilldzr
    17.09.2018 16:26

    m5stack за $40 чем не вариант


    1. Nick_Shl Автор
      17.09.2018 16:28

      Чем больше вариантов всяких разных, тем лучше.


  1. MorskoyZmey
    17.09.2018 16:27

    Штука интересная, вдохновляет идея, но пока что я ее не поддержу.
    Как многие писали, хотелось бы:
    — 50-60FPS
    — VSync из коробки (или он есть?)
    — Поприличней экран (на прототипе выглядит сурово, и дело не в битности)
    — Хороший звуковой синтезатор и динамик.
    — Вход для наушников
    — Базовый графический движок для облегчения входа (есть уже?)

    Я понимаю, что это прототип, но прежде чем за него просить деньги, не лучше ли его доработать в соответствии с мнением потенциальных потребителей? Кстати, а кто они? Перечитал текст — не нашел ответа.
    Каково позиционирование устройства относительно других похожих? Оно сравнивается с GameBoy (Advance?), но получится ли из него выжать столько же? А ведь можно купить флеш карик и пилить homebrew для GBA.
    Это платформа для «баловства» программистов? Тогда точно нужен синтезатор и частота кадров для демосцен.
    Если это обучающая платформа, то нужен враппер на каком-нибудь Basic.
    Ну и ценник… Для кикстартера может и нормально, но финальная цена должна быть ниже.

    Всё выше сказанное — с моей кочки зрения.


    1. Nick_Shl Автор
      17.09.2018 16:31

      Отвечал выше:
      Целевая аудитория — те кто наигрался с Arduino и хочет чего-то большего: настоящий дебаггер, настоящую IDE, настоящую RTOS и более высокую производительность.

      Про цены тоже писал выше. Цену можно сделать ниже, но для этого нужно сначало производство наладить. Пока я лишь взял цены у "конкурентов" — с одной стороны рынок их уже отрегулировал, с другой стороны за эти суммы это лействительно можно изготовить.


    1. Nick_Shl Автор
      17.09.2018 17:20

      Про VSYNC. Обслуживание экрана делается в отдельной задаче. Для обновления экрана ее нужно «пнуть»(хотя можно и в редиме автообновления запустить). На время обновления экрана задача захватывает мьютекс. Так же его может захватить любая другая задача позвав DisplayDrv::GetInstance().LockDisplay();
      Итого алгоритм: лочим экран(захват мьютекса произойдет когда закончится обновление кадра), делаем что надо, разлочим и пинаем задачу обновления. И так по кругу.


      1. oisee
        17.09.2018 19:29
        +1

        Не, ну чувствуется тут суровый ZX Spectrum-подход, где не было видеосопроцессора и всё приходилось вручную делать.
        Но на спектруме-то если всё сделать быстро и правильно есть награда: 50 fps.

        А тут 15 на таком 32 битном монстре. Мало интереса и для игр и для демосцены.

        Основная крутая фишка — это сменные джойстики, это прикольно, с этм можно сделать много клёвых инструментов (midi/osc).
        Но вот если бы все остальные подсистемы были бы такие же клёвые как джойстики.


        1. Nick_Shl Автор
          17.09.2018 20:12

          Да, все делается «вручную» но делается не вами. Если вам надо вывести строку вы просто создаёте объект типа String, вызываете метод для задания параметров(можно задать и при конструировании) и вызываете функцию у задачи обслуживания экрана для добавления этого объекта в лист. При этом можно задать Z — используется для определения порядка при отрисовке.
          Далее если надо подвинуть зовёте str.Move(...); если надо сменить цвет зовете str.SetColor(...); если надо спрятать зовёте str.Hide(); — а вот как оно появляется на экране это уже не ваша забота. Тоже самое и с картинками, и с примитивами, и с Tile Map если хотите написать игрушку. Например демо Gario(анимашка в конце статьи) все это использует и программирование ее очень похоже на программирование для настоящего GameBoy. Только в нем Tile Map и спрайты делались аппаратно, а тут делаются программно, но это сути не меняет, т.к. не требует от программиста напрягаться для вывода этого всего на экран.
          Если нужно выврлить что-то специфическое просто создаёте свой класс наследуемый от VisObject в котором переопределяете виртуальную функцию отрисовки одной строки в буфер и реализуете что надо — например отрисовка графика для осциллографа.
          В общем как я и говорил, про программирование нужна отдельная статья — там интересностей не меньше чем с железной частью.

          15 FPS это на сотой серии. На STM32F415 получается ~30 FPS.

          Не знаю где вам мало 30 FPS кроме как для создания супер-динамичных игр. Звук да, прямоугольная волна, один канал. Но STM32F415 содержит ЦАП на два канала, он выведен на перефирийный разъем — нет никакой проблемы подключить усилитель и программно генерировать любые звуки — в этом и суть модульной системы для обучения и развлечения(если ваше хобби написание ПО и разработка чего-нибудь — любой ардуинщик подвадает под эту категорию).


          1. shiru8bit
            17.09.2018 20:31

            В оригинальном Super Mario Bros., который имитирует ваша демка, 60 кадров в секунду. 1985 год. Как и почти во всех двухмерных играх от их появления до прихода 32-битных приставок (на быстрое 3D мощностей стало всё чаще не хватать). Когда частота кадров ниже 60, в том же оригинальном SMB есть крайне редкие моменты проседания до 30, это очень сильно заметно и визуально и по управлению. Про необходимость 60 кадров в секунду для динамичного и отзывчивого игрового процесса японские геймдизайнеры твердят с начала игровых времён.


            1. Nick_Shl Автор
              17.09.2018 20:43

              Повторюсь снова: это не игровая консоль. Этот проект "продвинутое Arduino" — для тех, кто из Arduino уже "вырос" с возможностью написания игр. Причем игр гораздо лучше(выше разрешение, все в цвете) чем предлагает тот же Arduboy собравший на Кикстартере больше 400к$. Причем Arduboy заточен только под игры. Я же предлагаю модульную и расширяемую систему, которая может быть основой для множества хоббийных поделок с возможностью повторного использования я кода в том числе и в коммерческих проектах без какой-либо оплаты.

              И да, если брать NES, то частота там 50/60 полукадров в секунду.


              1. shiru8bit
                17.09.2018 20:48

                Мне кажется, что в случае с вашим проектом главной трудностью будет именно донесение его концепции до конечной аудитории.

                На NES полукадр равен кадру, т.к. там нет интерлейса. Речь о полукадрах идёт только при полных 525 строках (для NTSC), а на NES весь растр 262 строки. Т.е. мы реально видим там честные 60 кадров в секунду, без всяких полу.


  1. TearOfTheStar
    17.09.2018 16:27

    С M5stack и кастомами на зэро Вам будет сложно конкурировать, с такой-то производительностью.


  1. lisck
    17.09.2018 16:27

    а где брать на это чудо игры, они как то импортируются или работает по принципу эмулятора?


    1. Nick_Shl Автор
      17.09.2018 16:29

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


      1. shiru8bit
        17.09.2018 20:37

        Устройство в форм-факторе игровой консоли, обладающее всеми её признаками, но позиционирующееся не как игровая консоль, вызывает некоторый когнитивный диссонанс.

        Вообще подобных проектов за недавнее время было реально немало, но они хотя бы определялись, для кого они (типа аналогичного аппарата, но за $20, с прицелом на создание инди-маркета). И ни один толком не взлетел. Потому что если система игровая, то главное не она, а игры, а любители крайне редко делают хорошие игры (они любители, они пока не умеют и у них нет ресурсов). А если не игровая, то это очень нишевая штука, типа Gameduino или X Game Station, которая вроде бы есть, но никто ничего про неё не знает.


  1. unalacuna
    17.09.2018 17:11

    Идея занятная, но, как уже отмечалось выше, неясно, для кого это.

    Выбор кикстартера как платформы неочевиден. Я полистал открытые проекты и не увидел ничего «для разработчиков». Сравните с www.crowdsupply.com например

    Слышал от знающих людей что для того, чтобы собрать $1000 на кикстартере/индигого, нужно быть готовым потратить порядка $100 на продвижение. Как у вас с этим?


    1. olartamonov
      17.09.2018 17:32

      Слышал от знающих людей что для того, чтобы собрать $1000 на кикстартере/индигого, нужно быть готовым потратить порядка $100 на продвижение


      Это не так.


      1. unalacuna
        17.09.2018 17:40

        поделитесь?


        1. olartamonov
          17.09.2018 17:58
          +2

          У вас в маркетинге на Кикстартере четыре составляющие:

          1) контент — текст, фото, видео
          2) публикации в СМИ
          3) тематические форумы
          4) всякая баннерная реклама

          Первое вполне можно сделать самому, для чисто гиковского проекта красивое рекламное видео, снятое за большие деньги, не слишком важно. Ну, минимальная аккуратность нужна, но в принципе вот у автора этого проекта — минимальный достаточный уровень (местами можно было сделать чуть поживее, но не суть).

          Т.е. тут затраты околонулевые.

          Второе — по гиковским проектам есть несколько больших СМИ, в данном случае это в первую очередь Hackaday. Часть изданий новости о незавершившихся проектах не берут вообще, в другую часть попасть можно, но трудно — авторам и редакторам валится невероятный объём шлака. Если очень повезёт — либо вы найдёте автора, которому интересны именно вот такие штуки, и подсунете ему свой проект прямо под нос, либо он там окажется чисто случайно (мы предполагаем, что изначально вы с авторами не работали).

          Чтобы не уповать на везение, здесь надо нанимать PR-агентство, имеющее связи с авторами и редакторами, и способное показать им «смотри, у нас есть интересная штука, тебе надо?» так, что они гарантированно прочитают. Это стоит порядка тысяч долларов, но за эти деньги вам гарантируют выход в таких-то и таких-то изданиях.

          Т.е. тут или околонулевые затраты с очень скромной вероятностью выхлопа, или более-менее фиксированная сумма. Фиксированная, но немаленькая.

          Агентства, которые предлагают «размещение не менее 50 публикаций всего за 500 долларов», полное ведение кампании за проценты от неё и т.п. услуги — сразу лесом, там почти все мошенники. Всего за 500 долларов вы получите публикации в 50 помойках, которые не дадут вам вообще ничего. Агентство должно работать со СМИ и быть готово дать вам список этих СМИ и авторов, с которыми оно имеет контакт.

          Тематические форумы — здесь вам работать только самим. Много бэкеров не выцепите, но зато и денег не потратите.

          Баннерная реклама — средство с низкой эффективностью, дающее выхлоп только на длинных, успешных, понятных обывателю проектах, когда эта реклама из каждого утюга лезет. В данном случае не нужно.

          Соответственно, в данном случае, по большому счёту, статья расходов может быть одна — на попадание в Hackaday и ещё 2-3 крупных тематических (гиковских) СМИ через PR-агентство. Сложнее всего при этом будет найти не деньги на агентство, а само агентство — нормальные агентства тихо работают со своими постоянными клиентами, зато вокруг краудфандинга вьётся полно мошенников, которые с удовольствием организуют любую ИБД на ваши деньги.

          P.S. Здесь мы не трогаем жирные проекты, целенаправленно идущие на большие сборы не ради производства продукта, а ради самого факта успешного закрытия кампании — например, чтобы далее на запах денег привлечь крупных венчурных инвесторов. Там возможно всякое: и на маркетинг может быть грохнута большая часть потенциальных сборов, и деньги могут заноситься самими участниками проекта. То есть, сама кампания может быть попросту в плановом минусе.


          1. ser-mk
            18.09.2018 12:09

            Не совсем в тему, но возможно даже автору поможет, для продвижения.
            Вам доводилось писать на Hackaday?
            Можете назвать еще какие-нить популярные ИТ ресурсы для hardware устройств?


            1. olartamonov
              18.09.2018 14:55

              1) нет
              2) я не слежу за ними, так что ничего, кроме совсем известных, не знаю

              P.S. У автора 2 бэкера за два дня, о продвижении ему надо было раньше думать…


  1. Borsoft
    17.09.2018 17:34

    Подскажите, где вы брали закладные под винты и сами винты для корпуса?


    1. Nick_Shl Автор
      17.09.2018 17:38

      AliExpress. Там много такого подобного. Вставлял в корпус надев втулку на жало паяльника, разогрев ее и протолкнув в отверстие. Затем придерживая ей «рогаткой» вытягивал паяльник.
      Первые версии были без втулок — тоже не плохо получается… если нужно скрутить один раз — тяжело вкручивать-выкручивать в платик. С втулками гораздо легче.


  1. Konachan700
    17.09.2018 21:01

    Больше 7-9 fps не пролезет даже с фреймбуфером, этот экран у меня больше 24МГц SPI не держал стабильно (24m / 8bit / 2bpp = 1.5mbps в недостижимом идеале, буфер 320х240х2bpp=154кб). Плюс фреймбуфер нельзя писать одним куском — DMA может только 0xFFFF байт передавать за раз. Плюс каждый раз надо передавать управляющие команды и дергать ногой DC. Откуда 15+ fps, что за черная магия? Такое наверное реально только с интенсивным использованием функций контроллера дисплея, но это ни разу не универсально и повышает сожность написания кода на порядки…


    1. Nick_Shl Автор
      17.09.2018 22:01

      Простая магия: SPI запущен на 42 МГц, разрешение экрана 320x240x2. У меня, экран держит стабильно, хотя по даташиту вроде как и не должен. Теперь считаем:
      (42'000'000 / 8) / (320 * 250 * 2) = 5'250'000 / 153'600 = 34.18 кадров/секунду в идеальном случае. В вашем расчете вы уменьшили пропускную способность на порядок(двоичный): надо или при подсчёте пропускной способности SPI делить на 2, или при подсчёте размера кадра умножать на два. Но никак не вместе и то и другое.
      Фреймбуфера тут нет, есть буфер строки. DMA передает за раз одну строку или столбец(в зависимости от выбранного режима), т.е. максимум 640 байт. Слать управляющие команды и дергать ногой нужно только вначале кадра — дальше можно строки пропихивать друг за другом до конца кадра.
      Специфические функции контроллера не используются. Что бы не строить догадки "как такое возможно" можно просто пойти на GitHub и посмотреть — ссылка есть в конце статьи. Это ещё и полезно если работа с этим связана: и в образовательных целях, и с целью заимствования — код открыт и бесплатен.


      1. Error1024
        18.09.2018 04:13

        У меня, экран держит стабильно, хотя по даташиту вроде как и не должен.

        Уууу, простите но такой подход возможен только в любительских разработках, но никак не в промышленном масштабе. Что вы будите говорить купившему, когда /лично у него/ экран не заработает в 30 фпс.


  1. Sun-ami
    17.09.2018 23:09

    Если использовать это устройство как игровую консоль — нужны эмуляторы 8-битных игровых компьютеров, например ZX Spectrum и Commodore. Но для этого применения лучше подключать дисплей через FMC, а чтобы процессорный модуль был достаточно компактным — сделать его с разъёмом SO-DIMM, эти разъёмы достаточно дёшевы, и контактов в них достаточно. При этом ширину платы можно сделать меньше стандартного SO-DIMM, если вместо корпуса TQFP использовать более компактный. В нынешнем виде это устройство вроде бы подходит на роль мозгов для простого программируемого робота для обучения — есть мощный контроллер с развитой периферией, большая батарея — но ему не хватает для этого средств связи.


  1. BingoBongo
    18.09.2018 01:28

    pledged of $100,000 goal
    Unfortunately, no way (


  1. holomen
    18.09.2018 01:46
    +1

    Целевая аудитория — те кто наигрался с Arduino и хочет чего-то большего: настоящий дебаггер, настоящую IDE, настоящую RTOS и более высокую производительность.

    Но за полторы сотни на том же самом али можно буквально завалить ящик стола этими самыми железками. Не в гламурном корпусе, не смахивающее на GB (тут было про ностальгию, но это не игровая консоль)
    SPI запущен на 42 МГц, разрешение экрана 320x240x2. У меня, экран держит стабильно, хотя по даташиту вроде как и не должен.

    А вот за это даже не линейкой по пальцам, а ногами. Вы вот абсолютно уверены что во всех почти тысяче (100000/130) экземпляров абсолютно все и каждый будут работать за пределами гарантированных даташитом параметров? мде.

    Если коротко, ознакомившись с кашей в голове у автора про позиционирование этой поделки — думаю не взлетит.


    1. holomen
      18.09.2018 01:57
      +1

      Кстати, что мне в голову пришло в голову когда увидел до ката. Формат GB, экранчик, стм(по ст-линку), явно сменные контроллеры. Да это ведь вполне себе МФУ радиолюбителя! Такая себе заготовка для портативных осциллографа, мультиметра, генератора, whatever… КМК, именно в таком ключе это и стоило преподносить, и в самом конце сказать «а еще можно запустить марио!»
      Может быть в таком виде и было-бы интересно. Но не за полторы сотни, конечно, кмк.


      1. Nick_Shl Автор
        18.09.2018 02:09

        Вы только что описали именно то, как позиционируется данное устройство. Да, это "МФУ радиолюбителя", да модули можно использовать отдельно и не только в этом проекте — они предполагаются к продаже отдельно. Даже разъем сверху с почти всеми пинами от микроконтроллера есть(а зачем он был бы нужен чисто игровой консоли?) в который можно воткнуть что угодно. Недавно подключал датчик BME280 по I2C и считывал температуру, давление и влажность. А если чуть-чуть модифицировать код то можно будет писать это все на SD карту в формате CSV и потом в Excel графики строить.
        Если это воспринимается не совсем так, значит где-то явно моя недоработка…

        Про ценообразование я писал выше в комментариях. Если штука зайдет, то со временем когда все устаканится можно и цену подкорректировать, да и Китайцы равно скопипастят, будет дешевле.


        1. holomen
          18.09.2018 03:25
          +2

          Но при этом показывается тетрис, (типа)теннис и марио. Тогда как нужно показывать осцилл, лог.анализатор, генератор, и прочее такое. И только в конце типа устал работать — (о! и так можно!) запустил тетрис.
          А получается именно то что я и говорил: каша в голове. Говорим и позиционируем не как игрушку — осцилл, и прочее, но на фоточках и в видушке показывааем тетрис и марио.
          И вот это непонятное позиционирование (когда слова явно противоречат фото- и видеоматериалам) нам предлагают купить за полторы сотни с надеждой что коданить возможно и цена упадет и осцилл с логанализатором (покупатели, наверное?) напишут…
          Вы уж простите, но лично я не вижу ни идеи ни реализации за которые стоит заплатить даже полтинник авансом за будующие свершения.

          Идея неплохая в общем-то. Да и реализация тоже более-менее. И форм-фактор хорош и заодно и за ностальгию цепляет. Если прислушаться к комментам их этого можно сделать WIN. Комменты здесь прозвучали — проц на основную плату, FSMC, вот это все.
          Но вы упорно выступаете за ардуино-стайл со всеми его пороками, да еще и от даташитов отступаете… Поймите простую вещь — никто не будет использовать ваш процессорный модуль как есть. Просто потому, что стоит он $30. А чтобы он стал стоить вменяемо — он должен стать популярным. А популярным он не станет, т.к. см.п.1. В общем замкнутый круг.

          Но вот саму идею кнопочек с обратной стороны для облегчения вынимания модулей и вообще саму идею сменных контроллеров — утащил в загашник — идея, кмк, довольно богатая…


  1. hzs
    18.09.2018 09:13

    Мне кажется очередной RPi в корпусе а ля GameBoy взлетел бы лучше.
    Это уже была бы полноценная игровая система, эмуляторы и всё такое.
    Дети расцвета консолей как раз уже выросли и нам было бы интересно собрать и модить портативную игровую консоль.
    А тут получается просто прикольный цветной тетрис с возможностью написания своих игр. Типа тетриса, ну или змейки.


  1. MACman_84
    18.09.2018 13:49

    Такому аппарату нужна интеграция с проектом TIC-80


  1. sok
    18.09.2018 14:38

    Я может и попал бы под ЦУ — человек который давно наигрался с Arduino. Но не попал. Минусы которые вижу — модульность, цена. Из за модульности невозможно получить комбайн из gps\gprs\датчиков… только дай бог что-то одно на выбор и это нормально — модульность особенно на штырьках съедает кучу места. А цена за такой функционал ну просто безумная. Я все жду реинкарнации Phoenard с нормальным процессором и пары кнопок сверху — за 175$ итоговой цены на Seeedstudio мы получали(LCD\GPS\GPRS\BT\WIFI\extRAM\9dof\uSD):

    Li-Ion battery: Supplying 3.7V, regulated at 3.3V main board voltage
    MCP73831: The controller for charging the lithium battery off 5V USB voltage
    Atmel AVR Atmega2560: 16MHz microprocessor board controller
    30-pin Phoenex connector: Exposes GPIO pins for general project use
    12-pin Phoenon flex connector: Exposes GPIO pins for on-board extension use
    TFT 2.8 Inch LCD: Full 16-bit color LCD with ILI9325 driver IC
    SIM908: GSM, GPRS and GPS in one module, accessible through serial commands
    Simcard Holder: It uses the standard size Sim-card
    Speaker and Microphone: for SIM908 calling functionality
    VS1053b: Audio decoding chip supporting MIDI and a variety of audio formats
    FT232RL: USB-2-serial bridge for programming and communication with a computer
    HM-11: Bluetooth 4.0 module for short distance wireless communication
    ESP8266: WiFi module for wireless internet communication
    23K256: 256 kBits (32 kilobyte) SPI external RAM
    Micro-SD: FAT16 and FAT32 accepted in software
    MPU6050: Accelerometer and Gyro sensor in one package
    HMC5883l: Magnetometer sensor
    BMP180: Pressure and temperature sensor

    Вот там даже модульность была не нужна — все есть и за сумму не сильно большую, и плата сама компактная была. Переплата не такая уж и большая, а работать человек мог с чем хотел под свою конкретную задачу, или же изучать постепенно, наращивая свои навыки. Очень хороший проект, жаль на AVR(хотелось бы очень такой же но на топовом STM32)


  1. Enfriz
    19.09.2018 19:27

    Автор, расскажите подробнее, пожалуйста, про производство и выход на КС!


    Как удалось добиться качественных и ровных поверхностей на FDM принтере?


    Как в итоге делали плату?


    Как вышли на Кикстартер, будучи русским, если посредники дерут нечеловеческие деньги?


    Рекламировались ли как-то?


    1. Nick_Shl Автор
      19.09.2018 20:21

      Как удалось добиться качественных и ровных поверхностей на FDM принтере?
      Так получилось. У меня обычный дешёвый акриловый клон Prusa i3. Правда заменил в нем голову на v6(была v5 и с проблемами) и трубку Бодена(внутренний диаметр был больше чем надо). А ещё докупил стекло — печатаю на нем с разогревом и ничем не смазав. Если пластик хороший, то липнет и получается блестящая поверхность в месте контакта со стеклом.

      Как в итоге делали плату?
      Seeedstudio/EasyEDA, детали AliExpress/Mouser, сборка вручную сам.

      Как вышли на Кикстартер, будучи русским, если посредники дерут нечеловеческие деньги?
      Нет никаких проблем выйти если являешься резидентом США. LLC(типа ООО) регистрируется за 5 минут онлайн, счёт в банке открывается за один визит, дальше можно все это вбивать в Кикстартер. Можно вообще все сделать и без LLC, но тогда придется отдать много налогов.
      И я Белорус, кстати.

      Рекламировались ли как-то?
      Пытался, но судя по всему недостаточно. Впрочем, нельзя же быть специалистом во всех областях.


  1. vedddd
    19.09.2018 19:51

    Nick_Shl
    Если к такой плате добавить хороший АЦП то можно получить измеритель звука/ультразвука, освещённости, температуры, влажности, скорости ветра. В этом случае DevBoy будет лучше по производительности чем Arduino и значительно менее прожорливая чем Raspberry Pi.

    Подробнее можете почитать в Диалогах, местном аналоге ЛС(сообщение вам отправил день назад). Если идея понравится то можно её обсудить в общей ветке.


    1. Nick_Shl Автор
      19.09.2018 20:07

      А что имеется ввиду под "хорошим АЦП"? У STM32F4*5 уже имеется три 12-тибитных АЦП, которые могут работать в разных интересных режимах и по даташиту выдавать частоту выборок до 2.4 мегасэмла в секунду.
      Температуру, давление и влажность проще измерять цифровыми датчиками, например BMP280. Для освещенности можно взять опять же цифровой датчик вроде TCS3472 — не только освещенность, но ещё и цветовую температуру можно измерить.


      1. vedddd
        19.09.2018 23:04

        Под хорошим АЦП имеют ввиду АЦП которое имеет разрядность 16 или 24 бита, возможность работы с напряжением 5В и термостабильность не более 2-5 ppm на градус.
        То есть сделать упор не на скорость работы АЦП, а на точность измерений.

        Таким АЦП является AD7175-2 или AD7768-1. Причём на AD7175-2 даже есть рабочий прототип который работает по SPI и выполнен в виде платы расширения для Arduino.
        Плата с АЦП имеет два аналоговых входа которые выполнены в виде разъёмов SMA. Каждый вход может измерять переменное напряжение амплитудой до 30В. Так же на плате имеется прецизионный источник опорного напряжения ADR444. В следующей ревизии платы сделаю возможность программного переключения между встроенным(2.5В) и внешним источниками опорного напряжения.
        image

        Плата АЦП установлена на плату SafeDuino.
        SafeDuino это плата являющаяся аналогом arduino uno, но имеющая гальваническую развязку по питанию и USB, а так же макетное поле и разъём для подключения дисплея. Плата была изготовлена в далёком 2011 году, но по ряду причин не получила известность. Гальваническая развязка защищает USB порт ПК от высокого напряжения и позволяет, например, измерять напряжение сети 220В 50Гц без разделительного трансформатора (с помощью цепочки резисторов и ОУ AD620).

        Естественно что подобной платы недостаточно для работы с подобным АЦП, даже не из за частоты 16 МГц, а из за низкой скорости UART по которому передаются данные. По этому в ближайшем будущем планирую вместо safeduino использовать плату stm32 discovery.

        По поводу цифровых датчиков отмечу, что в то то и смысл что бы одновременно можно использовать цифровые и аналоговые датчики, например термопару. При этом используя не десяток разных разъёмов, а один с несколькими контактами, который был логично смотрелся сверху от дисплея на вашем корпусе. Места под сменные устройства ввода тоже лучше увеличить с двух до четырёх или даже шести, это будет удобно например для работы с оцифрованным сигналом который выводится на дисплее. Было бы так же очень удобно что бы кроме USB плата имела ethernet. Так же можно перенести позиции для сменных устройств ввода и расположить их слева и справа от дисплея, разрешение дисплея так же лучше увеличить.

        Так же отмечу что точность измерений данного устройства будет не более 0.1-0.05%, притом что недорогой цифровой 8-битный осциллограф/мультиметр даёт погрешность в районе 2-3%.


        1. Nick_Shl Автор
          19.09.2018 23:37

          При этом используя не десяток разных разъёмов, а один с несколькими контактами, который был логично смотрелся сверху от дисплея на вашем корпусе.
          Так сверху же есть разъем. Универсальный. Берете свою плату с АЦП и цепляете к нему. В этом-то и вся суть! Вам нужны АЦП и датчики, кому-то нужно что-то другое — угодить всем в принципе не возможно. Остаётся один выход: делать универсальный интерфейс(прокинутые пины от МК) на которые каждый сможет навесить что ему нужно. Вот, например, подключены BMP280 и EEPROM по I2C:
          image


          1. vedddd
            20.09.2018 11:21

            Конкретно мне нужна платформа на которой можно сделать универсальное измерительное устройство с возможностью подключения как к USB компьютера или к роутеру, коммутатору через RJ45.

            При этом разъём USB должен быть полноразмерный USBB-1J, а не mini или micro, которые можно выдрать вместе с дорожками одним неосторожным движением.

            Дисплей нужен разрешением 800х480 и диаганалью 5-7 дюймов с параллельным интерфейсом т.е. не SPI. Дисплей должен быть сменным модулем, как оно и есть сейчас.

            Модуль для заряда батареи и модуль с микроконтроллером лучше разместить на основной плате, а не делать их как сменные модули.

            Так же хотелось бы что бы в комплекте с основным блоком можно было дополнительно получить плату с несколькими датчиками, плату с АЦП и плату с ЦАП, имеющими на входе разъём BNC. Эти модули должны подключаться к универсальному разъёму который расположен сверху от дисплея. Так же желательно что бы эти модули крепились парой винтов к основному устройству и были выполнены в компактном корпусе.

            Хоть уже и писал выше, но всё же повторюсь. Количество модулей для устройств ввода нужно увеличить с двух до четырёх — шести.

            Если вам интересна данная идея то могу даже поучаствовать в создании такого проекта.