Google’s Teachable Machine is a Simple and Fun Way to Understand How Machine Learning Works

Artificial intelligence, machine learning, deep learning, neural networks… are all words we hear more and more today, as machines get the ability to recognize objects, answer voice requests / commands, and so on. But many people may not know at all the basics of how machine learning works, and with that in mind, Google launched Teachable Machine website to let people experiment and understand the basics behind machine learning without having to install an SDK or even code. So I quickly tried it with Google Chrome, as it did not seem to work with Mozilla Firefox. It’s best to have audio on, as a voice explains how to use it. Basically you connect your webcam, authorize Chrome too use it, and you should see the image in the input section on the left. After you’re being to train the machine in the learning section in the middle with three difference […]

Getting Started with Espruino & JavaScript on ESP32 with ESPino32 Board

Venus Supply Co., Ltd, better known as ThaiEasyElec, is a company based in Thailand, selling embedded systems and development board, as well as providing development services based in Thailand. The company sent me their latest board called ESPino32 powered by Espressif ESP-WROOM-32 WiFi and Bluetooth module for evaluation. While the board is supported in Arduino-esp32, I’ve already tested Arduino with ESP32-Bit module & ESP32-T board, so after checking out the hardware, I’ll load it with something different: Espruino, a firmware allowing for JavaScript programming over the serial console, or a Web based IDE. ESPino32 Unboxing and Soldering The board shipped with four female headers, and I/O stickers. The board includes ESP-WROOM-32, exposes I/Os through four 10-pin headers, features CP2104 chip for serial to USB debugging via micro USB port, two buttons (reset and program), a user LED connected to IO16, and a jumper to select between regulated power supply (micro […]

Wio LTE GPS Tracker Board Comes with a 4G Modem, Supports Espruino Firmware (JavaScript Programming)

Seeed Studio launched Wio GPS tracker with a 2G GSM module a few months ago, and while it should work in some countries, others are phasing out 2G networks, and only support 3G or 4G. The company has now launched an update with Wio LTE board with the same form factor, and most of the same features except they replaced the 2G/Bluetooth/GNSS module with a 4G LTE/GNSS module, and Atmel SAMD21 ARM Cortex M0+ microcontroller by an STMicro STM32 ARM Cortex-M4F MCU. Wio LTE board specifications: MCU – STMicro STM32F405RG ARM Cortex M4F MCU @ 168 MHz with 1MB flash, 192+4KB SRAM Storage – micro SD slot Connectivity via Quectel EC21-A (America) module LTE Cat.1 modem: FDD LTE: B2/B4/B12 WCDMA: B2/B4/B5 AT Command: 3GPP TS27.007 and enhanced AT Commands Data – LTE-FDD Max 10Mbps(DL) Max 5Mbps (UL) NanoSIM card 2x u.FL antenna connectors GNSS – GPS/BeiDou/GLONASS/Galileo/QZSS with 1x u.FL GNSS […]

WebAssembly is a Cross-Platform, Cross-Browser Solution for High Performance Code in Web Browsers

Most code running in a web browser runs much slower than native code (C/C++/ assembly), and it’s fine for many applications, but some others requiring higher performance like software video decoding would have to relies on native code, initially provided via browser plugins, but then Google introduced PNaCL (Portable Native Client) allowing to run native code on multiple targets (ARM, Intel, etc..) but in Chrome browser only, and now one of Chrome developers has explained that the community has moved to WebAssembly. WebAssembly works just as well as PNaCl, and is already natively supported by Chrome and Firefox, with support added to preview versions of Microsoft Edge and Apple Safari browsers.Since it works just as well as PNaCL, and adoption of the later is low enough, Google decided to drop support for PNaCl in the Chrome browser in Q1 2018, except inside Chrome Apps and Extensions. To get a feel […]

Top Programming Languages & Operating Systems for the Internet of Things

The Eclipse foundation has recently done its IoT Developer Survey answered by 713 developers, where they asked  IoT programming languages, cloud platforms, IoT operating systems, messaging protocols (MQTT, HTTP), IoT hardware architectures and more.  The results have now been published. So let’s have a look at some of the slides, especially with regards to programming languages and operating systems bearing in mind that IoT is a general terms that may apply to sensors, gateways and the cloud, so the survey correctly separated languages for different segments of the IoT ecosystem. C and C++ are still the preferred languages for constrained devices, and developers are normally using more than one language as the total is well over 100%. IoT gateways are more powerful and resourceful (memory/storage) hardware, so it’s no surprise higher level languages like Java and Python join C and C++, with Java being the most used language with 40.8% […]

Samsung JerryScript is a Lightweight Open Source JavaScript Engine for the Internet of Things

In the old days, micro-controller programming was all done in assembly or C, but in recent years higher level languages, included interpreted ones such as Python and JavaScript, have made their ways into MCUs with projects such as MicroPython or Espruino (JS) often running on STMicro STM32 ARM Cortex M micro-controllers, but also other platforms such as ESP8266. As I browsed through the Embedded Linux Conference Europe 2016 schedule, I discovered that Samsung worked on it own implementation of a JavaScript engine for the Internet of Things: JerryScript. It is a full implementation of ECMAScript 5.1 standard written in C that can run on micro-controllers with less than 64KB RAM, and less than 200KB storage (160KB footprint with ARM Thumb-2 compilation). JerryScript is comprised of two main components: Parser and Virtual Machine (VM), with the parser performing translation of input ECMAScript application into byte-code than is then executed by the Virtual […]

Embedded Linux Conference & IoT Summit Europe 2016 Schedule

Embedded Linux Conference & IoT summit 2016 first took place in the US in April, but the events are now also scheduled in Europe on October 11 – 13 in Berlin, Germany, and the schedule has now been published. Even if you are no going to attend, it’s always interesting to find out more about the topic covered in that type of events, so I had a look, and created my own virtual schedule with some of the sessions. Tuesday, October 11 10:40 – 11:30 – JerryScript: An Ultra-lightweight JavaScript Engine for the Internet of Things – Tilmann Scheller, Samsung Electronics JerryScript is a lightweight JavaScript engine designed to bring the success of JavaScript to small IoT devices like lamps, thermometers, switches and sensors. This class of devices tends to use resource-constrained microcontrollers which are too small to fit a large JavaScript engine like V8 or JavaScriptCore. JerryScript is heavily […]

Puck.js Bluetooth 5.0 Ready Beacon is Programmable with JavaScript (Crowdfunding)

I first found out about Bluetooth LE tags in 2012 with SticknFind project, and since then many other companies have designed their own Bluetooth beacon mostly to find objects such as your keys or pets. Puck.js is also a Bluetooth 4.2 LE beacon, but has many more features including compatibility with the upcoming Bluetooth 5.0 standard, and some GPIOs programmable with JavaScript (Espruino implementation), and corresponding visual programming editor. Puck.js hardware specifications: Bluetooth Smart SoC – Nordic Semi nRF52832 ARM Cortex-M4F micro-controller @ 64 MHz Connectivity Bluetooth 4.2 LE/smart, Bluetooth 5.0 Ready; up to 80 meters range in open space On-chip NFC support Expansion – 8x through holes with 6x GPIOs, and 2x power signals Sensors – MAC3110 magnetometer, on-chip temperature sensor Misc – 1x tactile button, 4x LEDs (R, G, B, IR) Battery – CR2032 210mAh battery good for about a year (application dependent) Dimensions – 35mm diameter, 10mm […]