• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to footer
Codemotion Magazine

Codemotion Magazine

We code the future. Together

  • Discover
    • Live
    • Tech Communities
    • Hackathons
    • Coding Challenges
    • For Kids
  • Watch
    • Talks
    • Playlists
    • Edu Paths
  • Magazine
    • Backend
    • Frontend
    • AI/ML
    • DevOps
    • Dev Life
    • Soft Skills
    • Infographics
  • Talent
    • Discover Talent
    • Jobs
  • Partners
  • For Companies
Home » Backend » IoT » Web Progressive Apps: Creating Bluetooth Robots
IoT

Web Progressive Apps: Creating Bluetooth Robots

Discover how you can use Web Progressive Apps to communicate with hardware devices using JavaScript and Bluetooth LE. Watch the video!

December 14, 2022 by Codemotion

web progressive apps, bluetooth, robots

In this video, Developer Nico Martin shares how, thanks to having some extra time during quarantine, he started experimenting with Browser APIs (Web Progressive Apps) that allowed him to communicate with hardware devices using JavaScript.

He bought a RaspBerry pi 0w. This microcomputer allowed him to run JavaScript and Nodejs files. That’s how he created a small prototype of a toy car as a first experiment, but he decided to experiment further.

Watch the video below to discover more about his amazing journey into the world of robotics.


Loading the player...

What is Bluetooth LE and why is it key in robotics?

WebBluetooth plays a key role when it comes to connecting APIs and hardware. In the video, Nico explains that Bluetooth uses the same frequencies as wireless LAN, but instead Bluetooth was designed to send very short commands over short distances.

Classic Bluetooth was buggy and had many problems, but now, Bluetooth BLE is here to solve all the previous problems.

Bluetooth LE is used in the world of IoT because of the many benefits it brings compared to the initial versions of Bluetooth. These benefits include:

  • Energy efficiency
  • Encryption for data security between clients and servers
  • Increased range and speed
  • Much better compatibility with devices from different brands

The Generic Attribute Profile GATT

In the video, Nico also explains the role of GATT (Generic Attribute Profile). This is what allows the interchange of data, and communication of different statuses (such as battery level, for example). It also enables different operations to perform. The GATT is formed by the following elements:

  • GATT Server
  • GATT Service
  • GATT Characteristic
  • GATT Value

You can find a more complete explanation of this in the materials kindly shared by Nico here.

After the coding is done, Nico shows how, using his browser, he is able to turn a PlayBulb Sphere from blue to red. Of course, that’s just the beginning and the very basics. Everything turns more complex afterward!

SpeedWheels (Bluetooth LE + Arduino) and more inventions

Nico Martin then moved on to a more difficult experiment called “SpeedWheels”. An Arduino Nano RP2040 connected to two motors with wheels (and Lego bricks, of course!) You can check out the whole process in this Twitter thread he shared.

After my beloved #RapberryPi based SpeedWheels left me hanging on stage for the second time now, I had to resort to drastic measures. I will rewrite everything, this time with the #ArduinoNano RP2040 as a basis.

— 🤷 nico.dev (@nic_o_martin) March 30, 2022

Also, you can find more details on his GitHub repository here: https://github.com/nico-martin/speed-wheels-ble-arduino. Remember to thank Nico for his generosity!

Nico knows how to have fun with Bluetooth and “SpeedWheels” wasn’t his last invention. Another project of his is the “BLE Boozer”. This invention of his is able to switch slides of his presentation also using an Arduino microcontroller. He describes it as “An Arduino Sketch that provides a Bluetooth Low Energy Service whose buzzer characteristic exposes a value of “00” or “FF” depending on whether the buzzer is currently pressed or not, it also has an LED that gives feedback about the current status.”

You can check the process on his Twitter below:

Welcome to another episode of “Fun with #bluetooth – presented by Nico Martin”.
Today: the #Arduino based #BLE #Buzzer pic.twitter.com/pL3qpd7ggY

— 🤷 nico.dev (@nic_o_martin) April 22, 2022

Nico also shared the whole code involved in his GitHub repository. Check it out here.

More about the video’s author

Nico Martin is a self-taught web developer and Google Developer Expert in Web Technologies from Switzerland. As the founder of the digital agency “say hello”, he learned early on how to use the web platform to efficiently meet the needs of customers.

He has contributed his know-how as a frontend development freelancer and consultant in various large projects, while constantly experimenting with modern browser technologies and sharing his learnings in workshops, articles, and talks.

facebooktwitterlinkedinreddit
Share on:facebooktwitterlinkedinreddit

Tagged as:Bluetooth Web Developer

Green Cloud Computing Strategies and Best Practices
Previous Post
How To Write A Web Developer Resume That Will Leave a Great First Impression
Next Post

Related articles

  • This is How Mathematics Keeps Your IoT Device Safe
  • Developing Industrial IoT Applications with Blazor
  • Programmable Logic: Where Do We Use It?
  • 7 Mitigation Strategies to Address IoT Security Risk
  • IoT Innovation and Bluetooth® mesh networks
  • Smart City: IoT and Microservices to build Oracle Proxima City
  • How Oracle Uses Lego, IoT, and Microservices to Build a Programmable Smart City

Primary Sidebar

Codemotion Talent · Remote Jobs

Flutter Developer

3Bee
Full remote · Android · Flutter · Dart

Python Back-end Developer

h-trips.com
Full remote · Django · Pandas · PostgreSQL · Python

AWS Cloud Architect

Kirey Group
Full remote · Amazon-Web-Services · Ansible · Hibernate · Kubernetes · Linux

AWS SysOps Administrator

S2E | Solutions2Enterprises
Full remote · Amazon-Web-Services · Terraform · Linux · Windows · SQL · Docker · Kubernetes

Latest Articles

PLD security, IoT, 5G

How to Improve Programmable Logic Devices’ Security: Main Threats and Latest Advancements

Cybersecurity

What is RPA? Robotic process automation.

Emerging Tech: Everything You Need to Know About Robotic Process Automation (RPA)

Machine Learning

A survei on AI Coding tools. An infographic.

Codemotion AI Coding Tools Survey Results!

Infographics

This article offers an infographic to understand Logical Data Warehouses

Logical Data Warehouse: All you Need to Know

Infographics

Footer

  • Magazine
  • Events
  • Community
  • Learning
  • Kids
  • How to use our platform
  • Contact us
  • Become a Contributor
  • About Codemotion Magazine
  • How to run a meetup
  • Tools for virtual conferences

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • YouTube
  • RSS

© Copyright Codemotion srl Via Marsala, 29/H, 00185 Roma P.IVA 12392791005 | Privacy policy | Terms and conditions

Follow us

  • Facebook
  • Twitter
  • LinkedIn
  • Instagram
  • RSS