This is my repository for ECE 4160: Fast Robots at Cornell University during the Spring 2025 semester.
This project is maintained by vs356
(Links can be clicked while embedded elements are being fixed.)
Blink (Video)
In this task, I ran the Blink example program available for the board in the Arduino IDE after installing the appropriate boards manager to blink the on-board LED once per second (ie. LED on for one second, then off for the next, on for the next, and so on and so forth).
Serial (Image)
In this task, I ran the Serial example program from the Arduino IDE, which echoes input into the Serial Monitor (set to a baud rate of 115200), as shown in the image below.
Temperature Sensor (Video)
In this task, I ran the analogRead example program to test the on-board temperature sensor. This program outputs the value reported by the temperature sensor to the Serial Monitor.
Microphone Output (Video)
In this task, I ran the Microphone Output example program to test the on-board microphone. This program outputs the loudest frequency observed to the Serial Monitor.
Task 1: Echo Command
In this task, I used the provided ECHO command in the ble_arduino.ino sketch to echo a phrase from the RedBoard Artemis Nano over the established Bluetooth connection.
Task 2: Send Three Floats Command
In this task, I used the provided SEND_THREE_FLOATS command in the ble_arduino.ino sketch to send three floats to the board and extracted them in the same Arduino sketch.
Task 3: Get Time Command
In this task, I added a command to the ble_arduino.ino sketch that would allow the RedBoard Artemis Nano to return the time elapsed since the beginning of the program in milliseconds. This functionality is demonstrated below.
Task 4: Notification Handler
In this task, I created a notification handler in the demo notebook (Jupyter Notebook) that would extract data from the RX string.
Task 5: Loop of Current Time
In this task, I created a loop to send/receive time data so that the speed of data transfer could be measured.
Task 6: Array of Time Stamps
In this task, I create an array of timestamps that is populated by the Send Time Data command to achieve the previous goal in a different way.
Task 7: Temperature Readings at Each Time Stamp
In this task, I implement the Get Temp Readings command to store the output from the temperature sensor for each timestamp recorded in the loop (Task 5).
Task 8: Differences Between Methods
In this lab, I became familiar with using the sensors of the RedBoard Artemis Nano and receiving data using each of its sensors. The platform is not very intuitive, but with instruction, I seem to have properly configured the board without very many challenges. To complete this lab, I also referenced Nila Narayan’s & Mikayla Lahr’s websites from the 2024 offering of this course to speed up debugging my code.