top of page

Week 8 - Eagle and Arduino nano 33

Updated: Jan 11, 2021




Lab 01 - PCBs


- PCBs are circuit boards.

- Places To Print PCBs

These are the shops I mentioned in the video that can print PCBs.


Learn to use Eagle


Or choose to learn to use KiCad



First, I understand the basic functions of eagle by connecting a simple circuit.


The key: ADD tool - the search functionality

Try to find the buzzer I will use in the final project among these types of buzzer.


BRD





Lab 02 - Learn the sensors of the Arduino Nano 33 Sense BLE


Note, you'll be able to find Arduino libraries for every sensor on the chip. Just google the part. The data sheets are linked. Any library will come with basic code samples to get you going. Try a few out on your own. It's simple.



Notes


Nano 33 sensors

  • 9 axis inertial sensor: what makes this board ideal for wearable devices.

  • humidity, and temperature sensor: to get highly accurate measurements of the environmental conditions.


  • barometric sensor: you could make a simple weather station.

  • microphone: to capture and analyse sound in real-time.

  • gesture, proximity, light colour and light intensity sensor: estimate the room’s luminosity, but also whether someone is moving close to the board


Bluetooth and BLE on Nano 33

  • Arduino BLE library

  • Notify: lets you know when data’s changed. for streaming data such as accelerometer or other sensor readings. // similarly, indicate let the reader sends an acknowledgement of the pushed data.

  • Update a characteristic: Your peripheral should update characteristics when there’s a significant change to them. For example, when a switch changes from off to on, update its characteristic. (A characteristic value can be up to 512 bytes long. )

  • Central devices are clients. They read and write data from peripheral devices. Peripheral devices are servers.

  • A BLE peripheral will provide services, which in turn provide characteristics. You can define your own services, or use standard services. Services are identified by unique numbers known as UUIDs. (Standard services have a 16-bit UUID and custom services have a 128-bit UUID. )

  • 4 things a central device can do with a characteristic:

    • read

    • write

    • indicate and Notify

  • GATT: The Bluetooth LE protocol operates on multiple layers. General Attribute Profile (GATT) is the layer that defines services and characteristics and enables read/write/notify/indicate operations on them.




Lab 02 - Introducing Advanced Mode - Machine Learning


This tutorial is only for students who are needing more to feel challenged. If you're still getting your head around basics, you can skip it. Do this tutorial. It introduces you to TinyML and Tensor Flow for the first time.





Lab 03 - Interfaces in the future library


Create a fictional interface which would exist in your library of the future using the Arduino Nano 33 Sense. It can be anything, but it must fit within the fictional world you created. Tell a very short continuation of your story along side the lab's project log.



Training your own gesture classification model:Tutorial



Visualizing live sensor data log from the Arduino board



Capturing gesture training data

the first line of your two csv files should contain the fields aX,aY,aZ,gX,gY,gZ.



Training in TensorFlow


- Set up Python environment

- Upload the punch.csv and flex.csv data

- Parse and prepare the data

- Build and train the model

- Convert the trained model to TensorFlow Lite

- Encode the model in an Arduino header file

- The final step of the colab is generates the model.h file to download and include in

our Arduino IDE gesture classifier project in the next section


I'm stuck at the last step !

The error shows: I cannot get the 'punch.csv' file from the backend. This caused my Google Colab to not automatically generate 'model.h' Still looking for the reason why 'punch.csv' cannot be obtained...

Comments


bottom of page