NumWorks – французская компания, которая привлекла к себе внимание, выпустив самый тонкий графический калькулятор с открытой программной платформой специально для школьников Северной Америки и Европы. Это стало возможным в том числе благодаря микроконтроллеру STM32F4 производства компании STMicroelectronics.

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

Видеообзор особенностей проекта и возможности его использования в собственных разработках

В эпоху элегантных смартфонов традиционные калькуляторы выглядят как пережиток прошлого. Но данный калькулятор обладает ярким и современным дизайном, отвечающим всем современным трендам. Кроме того, компания раскрыла аппаратную реализацию, операционную систему, приложения и даже добавила интерпретатор языка Python (MicroPython). В результате с помощью этого современного устройства школьники как минимум будут решать проблемы, часто возникающие при изучении алгебры и арифметики, а самые продвинутые начнут изучать программирование и инженерные науки. Они даже смогут самостоятельно напечатать некоторые детали калькулятора на 3D-принтере благодаря внушительному перечню предоставляемой документации. В довершение всего, перед покупкой можно ознакомиться с внешним видом и работой калькулятора, посетив онлайн-симулятор NumWorks (рисунок 1).

Рисунок калькулятора 1

От идеи – к прототипу

Чтобы узнать больше о процессе проектирования NumWorks, мы пообщались с Роменом Гоетом – основателем компании. Он объяснил, что его команда изначально хотела использовать микроконтроллер с ядром Cortex-A, но быстро отказалась от этой идеи, потому что он был слишком дорогими, потреблял слишком много энергии и требовал слишком больших ресурсов ОЗУ. Решением стал переход на Cortex-M: «Мы рассмотрели предложения многих производителей, провели различные тесты и выбрали микроконтроллер производства компании ST, потому что он был самым мощным, отличался большим объемом Flash-памяти и имел блок вычислений с плавающей точкой (FPU), который оптимизирует большинство вычислений.»

Еще одной причиной выбора STM32 стала поддержка со стороны производителя. Об этом важном факторе редко вспоминают, но он имеет решающее значение для стартапа. Господин Гоет пояснил: «Одна из самых больших проблем для такой молодой компании как наша заключалась в поиске поставщиков, желающих с нами работать. Некоторые просто отказываются продавать свои компоненты, особенно если вы разрабатываете новый продукт, который может создать о поставщике неправильное представление. Тем не менее, у нас сразу же установился контакт с ST, и хотя мы только запускали проект, они были готовы сотрудничать с нами и оказывать всю необходимую поддержку».

От прототипа к NumWorks

История NumWorks (рисунок 2) вдохновляет, так как является примером гибкости подхода, демонстрируемой ST. Как только члены команды выбрали тип контроллера, они начали использовать оценочную плату 32F429IDISCOVERY для прототипирования. 2,4-дюймовый ЖК-экран и отладочный USB-порт мгновенно продвинули разработку, и проектировщики быстро поняли, что в конечном устройстве не потребуются ни SDRAM-память, ни встроенный ЖК-контроллер. Поэтому они смогли определить, от каких функций можно отказаться, и остановили свой выбор на STM32F412VG. Именно этот микроконтроллер используется в продаваемых сегодня калькуляторах. Это – пример, почему ST предлагает многофункциональные оценочные платы: инженерам проще реализовывать свои устройства, не используя избыточные функциональные узлы отладочной платы, чем добавлять нужные компоненты в ходе разработки.

Рисунок калькулятора 3

Ромен Гоет также рассказал, что его компания решила использовать оригинальный подход и писать почти весь код с нуля. Поскольку операционная система калькулятора должна была работать очень эффективно, компании пришлось начать с самого начала, чтобы досконально изучить микроконтроллер и гарантировать наилучшую производительность. Это также упростило процесс публикации исходного кода, поскольку он целиком принадлежал разработчикам. Чтобы частично проверить свою работу, они использовали STM32CubeMX, однако, учитывая поставленные цели, инженерам пришлось в основном полагаться на справочное руководство ST. По словам Гоета, «При всей оригинальности нашего подхода, опыт оказался положительным: у ST — отличная документация, что было немаловажным фактором при выборе микроконтроллера STM32. Особо следует отметить, что контроллер работает именно так, как описано в документации, что не всегда можно сказать о продуктах конкурентов».

От калькулятора к сообществу

Калькулятор NumWorks (рисунок 3) позволяет пользователям оценить вычислительную мощность микроконтроллера STM32 нетривиальным образом: компания предлагает набор ПО (SDK), чтобы разработчики могли начать писать свои приложения на C++ для этой новой платформы. Следовательно, помимо возможности получить доступ ко всему исходному коду, преподаватели и инженеры могут обогатить сообщество новыми инструментами, которые способны значительно дополнить опыт пользователей. Другими словами, привычный графический калькулятор, наконец, вписался в XXI век благодаря NumWorks, и компания ST рада быть частью этого движения.

Рисунок калькулятора 4

Спасибо за внимание!