{"id":3561,"date":"2023-08-19T06:36:41","date_gmt":"2023-08-19T13:36:41","guid":{"rendered":"https:\/\/www.donluc.com\/?p=3561"},"modified":"2023-08-19T06:36:41","modified_gmt":"2023-08-19T13:36:41","slug":"project-26-radio-frequency-bluetooth-pololu-altimu-10-mk23","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=3561","title":{"rendered":"Project #26 &#8211; Radio Frequency &#8211; Bluetooth Pololu AltIMU-10 &#8211; Mk23"},"content":{"rendered":"<div style=\"width: 720px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3561-1\" width=\"720\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #RadioFrequency #Bluetooth #SparkFun #BME280 #CCS811 #IMU #Arduino #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04a.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04a.png\" alt=\"Bluetooth Pololu AltIMU-10\" width=\"720\" height=\"532\" class=\"alignnone size-full wp-image-3563\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04a.png 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04a-300x222.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04b.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04b.png\" alt=\"Bluetooth Pololu AltIMU-10\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-3564\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04b.png 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04b-300x200.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04c.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04c.png\" alt=\"Bluetooth Pololu AltIMU-10\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-3565\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04c.png 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2023\/08\/DL2307Mk04c-300x200.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>AltIMU-10 v5 Gyro, Accelerometer, Compass, and Altimeter<\/strong><\/p>\n<p>The Pololu AltIMU-10 v5 is an inertial measurement unit (IMU) and altimeter that features the same LSM6DS33 gyro and accelerometer and LIS3MDL magnetometer as the MinIMU-9 v5, and adds an LPS25H digital barometer. An I\u00b2C interface accesses ten independent pressure, rotation, acceleration, and magnetic measurements that can be used to calculate the sensor\u2019s altitude and absolute orientation. The Pololu AltIMU-10 v5 is a compact board that combines ST\u2019s LSM6DS33 3-axis gyroscope and 3-axis accelerometer, LIS3MDL 3-axis magnetometer, and LPS25H digital barometer to form an inertial measurement unit (IMU) and altimeter.<\/p>\n<p><strong>DL2307Mk04<\/strong><\/p>\n<p>1 x SparkFun Thing Plus &#8211; ESP32 WROOM<br \/>\n1 x Arduino Uno<br \/>\n1 x SparkFun Bluetooth Mate Silver<br \/>\n1 x SparkFun BME280 &#8211; Temperature, Humidity, Barometric Pressure, and Altitude<br \/>\n1 x SparkFun Air Quality Breakout &#8211; CCS811<br \/>\n1 x Pololu AltIMU-10 v5<br \/>\n1 x Lithium Ion Battery &#8211; 850mAh<br \/>\n2 x SparkFun Cerberus USB Cable<\/p>\n<p><strong>SparkFun Thing Plus &#8211; ESP32 WROOM<\/strong><\/p>\n<p>LED &#8211; LED_BUILTIN<br \/>\nSDA &#8211; Digital 23<br \/>\nSCL &#8211; Digital 22<br \/>\nRX2 &#8211; Bluetooth<br \/>\nTX2 &#8211; Bluetooth<br \/>\nVIN &#8211; +3.3V<br \/>\nGND &#8211; GND<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>DL2307Mk04ps.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/* ***** Don Luc Electronics \u00a9 *****\r\nSoftware Version Information\r\nProject #26 - Radio Frequency - Bluetooth Pololu AltIMU-10 - Mk23\r\n26-23\r\nDL2307Mk04pr.ino\r\n1 x SparkFun Thing Plus - ESP32 WROOM\r\n1 x Arduino Uno\r\n1 x SparkFun Bluetooth Mate Silver\r\n1 x SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\n1 x SparkFun Air Quality Breakout - CCS811\r\n1 x Pololu AltIMU-10 v5\r\n1 x Lithium Ion Battery - 85mAh\r\n2 x SparkFun Cerberus USB Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ Bluetooth Serial\r\n#include &quot;BluetoothSerial.h&quot;\r\n#if !defined(CONFIG_BT_ENABLED) || !defined(CONFIG_BLUEDROID_ENABLED)\r\n#error Bluetooth is not enabled! Please run `make menuconfig` to and enable it\r\n#endif\r\n\/\/ Two Wire Interface (TWI\/I2C)\r\n#include &lt;Wire.h&gt;\r\n\/\/ SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\n#include &lt;SparkFunBME280.h&gt;\r\n\/\/ SparkFun CCS811 - eCO2 &amp; tVOC\r\n#include &lt;SparkFunCCS811.h&gt;\r\n\/\/ Includes and variables for IMU integration\r\n\/\/ STMicroelectronics LSM6DS33 gyroscope and accelerometer\r\n#include &lt;LSM6.h&gt;\r\n\/\/ STMicroelectronics LIS3MDL magnetometer\r\n#include &lt;LIS3MDL.h&gt;\r\n\/\/ STMicroelectronics LPS25H digital barometer\r\n#include &lt;LPS.h&gt;\r\n\r\n\/\/ Bluetooth Serial\r\nBluetoothSerial SerialBT;\r\n\r\n\/\/ SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\nBME280 myBME280;\r\nfloat BMEtempC = 0;\r\nfloat BMEhumid = 0;\r\nfloat BMEpressure = 0;\r\nfloat BMEaltitudeM = 0;\r\nString FullString = &quot;&quot;;\r\n\r\n\/\/ SparkFun CCS811 - eCO2 &amp; tVOC\r\n\/\/ Default I2C Address\r\n#define CCS811_ADDR 0x5B \r\nCCS811 myCCS811(CCS811_ADDR);\r\nfloat CCS811CO2 = 0;\r\nfloat CCS811TVOC = 0;\r\nString FullStringA = &quot;&quot;;\r\n\r\n\/\/ 9DoF IMU\r\n\/\/ STMicroelectronics LSM6DS33 gyroscope and accelerometer\r\nLSM6 imu;\r\n\/\/ Accelerometer and Gyroscopes\r\n\/\/ Accelerometer\r\nint imuAX;\r\nint imuAY;\r\nint imuAZ;\r\nString FullStringB = &quot;&quot;;\r\n\/\/ Gyroscopes \r\nint imuGX;\r\nint imuGY;\r\nint imuGZ;\r\nString FullStringC = &quot;&quot;;\r\n\/\/ STMicroelectronics LIS3MDL magnetometer\r\nLIS3MDL mag;\r\n\/\/ Magnetometer\r\nint magX;\r\nint magY;\r\nint magZ;\r\nString FullStringD = &quot;&quot;;\r\n\/\/ STMicroelectronics LPS25H digital barometer\r\nLPS ps;\r\n\/\/ Digital Barometer\r\nfloat pressure;\r\nfloat altitude;\r\nfloat temperature;\r\nString FullStringF = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;26-23&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\n  isBME280();\r\n\r\n  \/\/ SparkFun CCS811 - eCO2 &amp; tVOC\r\n  isCCS811();\r\n\r\n  \/\/ Accelerometer and Gyroscopes\r\n  isIMU();\r\n\r\n  \/\/ Magnetometer\r\n  isMag();\r\n\r\n  \/\/ Barometer\r\n  isBarometer();\r\n\r\n  \/\/ Delay 1 sec\r\n  delay(1000);\r\n\r\n}\r\n<\/pre>\n<p><strong>getAccelGyro.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Accelerometer and Gyroscopes\r\n\/\/ Setup IMU\r\nvoid setupIMU() {\r\n\r\n  \/\/ Setup IMU\r\n  imu.init();\r\n  \/\/ Default\r\n  imu.enableDefault();\r\n  \r\n}\r\n\/\/ Accelerometer and Gyroscopes\r\nvoid isIMU() {\r\n\r\n  \/\/ Accelerometer and Gyroscopes\r\n  imu.read();\r\n  \/\/ Accelerometer x, y, z\r\n  imuAX = imu.a.x;\r\n  imuAY = imu.a.y;\r\n  imuAZ = imu.a.z;\r\n  \/\/ Gyroscopes x, y, z\r\n  imuGX = imu.g.x;\r\n  imuGY = imu.g.y;\r\n  imuGZ = imu.g.z;\r\n\r\n  \/\/ FullString B\r\n  FullStringB = &quot;Accelerometer X = &quot; + String(imuAX) + &quot; Accelerometer Y = &quot;\r\n  + String(imuAY) + &quot; Accelerometer Z = &quot; + String(imuAZ) \r\n  + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullStringB Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullStringB.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullStringB.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullStringB.c_str()[i]);\r\n    \r\n  }\r\n\r\n  \/\/ FullString C\r\n  FullStringC = &quot;Gyroscopes X = &quot; + String(imuGX) + &quot; Gyroscopes Y = &quot;\r\n  + String(imuGY) + &quot; Gyroscopes Z = &quot; + String(imuGZ) \r\n  + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullStringC Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullStringC.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullStringC.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullStringC.c_str()[i]);\r\n    \r\n  }\r\n\r\n}\r\n<\/pre>\n<p><strong>getBME280.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\n\/\/ isBME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\nvoid isBME280(){\r\n\r\n  \/\/ Temperature Celsius\r\n  BMEtempC = myBME280.readTempC();\r\n  \/\/ Humidity\r\n  BMEhumid = myBME280.readFloatHumidity();\r\n  \/\/ Barometric Pressure\r\n  BMEpressure = myBME280.readFloatPressure();\r\n  \/\/ Altitude Meters\r\n  BMEaltitudeM = (myBME280.readFloatAltitudeMeters(), 2);\r\n\r\n  \/\/ FullString\r\n  FullString = &quot;Temperature = &quot; + String(BMEtempC,2) + &quot; Humidity = &quot;\r\n  + String(BMEhumid,2) + &quot; Barometric = &quot; + String(BMEpressure,2) \r\n  + &quot; Altitude Meters = &quot; + String(BMEaltitudeM,2) + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullString Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullString.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullString.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullString.c_str()[i]);\r\n    \r\n  }\r\n\r\n}\r\n<\/pre>\n<p><strong>getBarometer.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ STMicroelectronics LPS25H digital barometer\r\n\/\/ Setup Barometer\r\nvoid isSetupBarometer(){\r\n\r\n  \/\/ Setup Barometer\r\n  ps.init();\r\n  \/\/ Default\r\n  ps.enableDefault();\r\n  \r\n}\r\n\/\/ Barometer\r\nvoid isBarometer(){\r\n\r\n  \/\/ Barometer\r\n  pressure = ps.readPressureMillibars();\r\n  \/\/ Altitude Meters\r\n  altitude = ps.pressureToAltitudeMeters(pressure);\r\n  \/\/ Temperature Celsius\r\n  temperature = ps.readTemperatureC();\r\n\r\n  \/\/ FullStringF\r\n  FullStringF = &quot;Barometer = &quot; + String(pressure,2) + &quot; Altitude Meters = &quot;\r\n  + String(altitude,2) + &quot; Temperature Celsius = &quot;\r\n  + String(temperature,2) + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullStringF Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullStringF.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullStringF.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullStringF.c_str()[i]);\r\n    \r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>getCCS811.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ CCS811 - eCO2 &amp; tVOC\r\n\/\/ isCCS811 - eCO2 &amp; tVOC\r\nvoid isCCS811(){\r\n\r\n  \/\/ This sends the temperature &amp; humidity data to the CCS811\r\n  myCCS811.setEnvironmentalData(BMEhumid, BMEtempC);\r\n\r\n  \/\/ Calling this function updates the global tVOC and eCO2 variables\r\n  myCCS811.readAlgorithmResults();\r\n\r\n  \/\/ eCO2 Concentration\r\n  CCS811CO2 = myCCS811.getCO2();\r\n  \r\n  \/\/ tVOC Concentration\r\n  CCS811TVOC = myCCS811.getTVOC();\r\n\r\n  \/\/ FullStringA\r\n  FullStringA = &quot;TVOCs = &quot; + String(CCS811TVOC,2) + &quot; eCO2 = &quot;\r\n  + String(CCS811CO2,2) + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullStringA Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullStringA.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullStringA.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullStringA.c_str()[i]);\r\n    \r\n  }\r\n\r\n}\r\n<\/pre>\n<p><strong>getMagnetometer.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Magnetometer\r\n\/\/ Setup Magnetometer\r\nvoid setupMag() {\r\n\r\n  \/\/ Setup Magnetometer\r\n  mag.init();\r\n  \/\/ Default\r\n  mag.enableDefault();\r\n  \r\n}\r\n\/\/ Magnetometer\r\nvoid isMag() {\r\n\r\n  \/\/ Magnetometer\r\n  mag.read();\r\n  \/\/ Magnetometer x, y, z\r\n  magX = mag.m.x;\r\n  magY = mag.m.y;\r\n  magZ = mag.m.z;\r\n\r\n  \/\/ FullString D\r\n  FullStringD = &quot;Magnetometer X = &quot; + String(magX) + &quot; Magnetometer Y = &quot;\r\n  + String(magY) + &quot; Magnetometer Z = &quot; + String(magZ) \r\n  + &quot;\\r\\n&quot;;\r\n\r\n  \/\/ FullStringD Bluetooth Serial + Serial\r\n  for(int i = 0; i &lt; FullStringD.length(); i++)\r\n  {\r\n\r\n    \/\/ Bluetooth Serial\r\n    SerialBT.write(FullStringD.c_str()[i]);\r\n    \/\/ Serial\r\n    Serial.write(FullStringD.c_str()[i]);\r\n    \r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n  \r\n  \/\/ Serial Begin\r\n  Serial.begin(9600);\r\n  Serial.println(&quot;Starting BLE work!&quot;);\r\n\r\n  \/\/ Bluetooth Serial\r\n  SerialBT.begin(&quot;Don Luc Electronics&quot;);\r\n  Serial.println(&quot;Bluetooth Started! Ready to pair...&quot;);\r\n\r\n  \/\/ Give display time to power on\r\n  delay(100);\r\n  \r\n  \/\/ Wire - Inialize I2C Hardware\r\n  Wire.begin();\r\n\r\n  \/\/ Give display time to power on\r\n  delay(100);\r\n\r\n  \/\/ SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude \r\n  myBME280.begin();\r\n\r\n  \/\/ CCS811 - eCO2 &amp; tVOC\r\n  myCCS811.begin();\r\n\r\n  \/\/ Setup IMU\r\n  setupIMU();\r\n\r\n  \/\/ Setup Magnetometer\r\n  setupMag();\r\n\r\n  \/\/ Setup Barometer\r\n  isSetupBarometer();\r\n  \r\n  \/\/ Initialize digital pin LED_BUILTIN as an output\r\n  pinMode(LED_BUILTIN, OUTPUT);\r\n  \/\/ Turn the LED on HIGH\r\n  digitalWrite(LED_BUILTIN, HIGH);\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>Arduino Uno<\/strong><\/p>\n<p>RX &#8211; Digital 3<br \/>\nTX &#8211; Digital 2<br \/>\nVIN &#8211; +3.3V<br \/>\nGND &#8211; GND<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>DL2307Mk04pr.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/* ***** Don Luc Electronics \u00a9 *****\r\nSoftware Version Information\r\nProject #26 - Radio Frequency - Bluetooth Pololu AltIMU-10 - Mk23\r\n26-23\r\nDL2307Mk04pr.ino\r\n1 x Arduino Uno\r\n1 x SparkFun RedBoard Qwiic\r\n1 x SparkFun Bluetooth Mate Silver\r\n1 x SparkFun BME280 - Temperature, Humidity, Barometric Pressure, and Altitude\r\n1 x SparkFun Air Quality Breakout - CCS811\r\n1 x Pololu AltIMU-10 v5\r\n1 x Lithium Ion Battery - 85mAh\r\n2 x SparkFun Cerberus USB Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ Software Serial\r\n#include &lt;SoftwareSerial.h&gt;\r\n\r\n\/\/ Software Serial\r\n\/\/ TX-O pin of bluetooth mate, Arduino D2\r\nint bluetoothTx = 2;\r\n\/\/ RX-I pin of bluetooth mate, Arduino D3\r\nint bluetoothRx = 3;\r\n\/\/ Bluetooth\r\nSoftwareSerial bluetooth(bluetoothTx, bluetoothRx);\r\n\/\/ BTA\r\n\/\/String BTA = &quot;0006664FDC9E&quot;; \r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;26-23&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ isBluetooth\r\n  isBluetooth();\r\n \r\n}\r\n<\/pre>\n<p><strong>getBluetooth.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Bluetooth\r\n\/\/ Setup Bluetooth\r\nvoid isSetupBluetooth(){\r\n\r\n  \/\/ Setup Bluetooth\r\n  \/\/ Begin the serial monitor at 9600bps\r\n  Serial.begin(9600);\r\n  \/\/ Bluetooth\r\n  \/\/ The Bluetooth Mate defaults to 115200bps\r\n  bluetooth.begin(115200);\r\n  \/\/ Print three times individually\r\n  bluetooth.print(&quot;$&quot;);\r\n  bluetooth.print(&quot;$&quot;);\r\n  bluetooth.print(&quot;$&quot;);\r\n  \/\/ Enter command mode\r\n  \/\/ Short delay, wait for the Mate to send back CMD\r\n  delay(100);\r\n  \/\/ Temporarily Change the baudrate to 9600, no parity\r\n  bluetooth.println(&quot;U,9600,N&quot;);\r\n  \/\/ 115200 can be too fast at times for NewSoftSerial to relay the data reliably\r\n  \/\/ Start bluetooth serial at 9600\r\n  bluetooth.begin(9600);\r\n  \r\n}\r\n\/\/ isBluetooth\r\nvoid isBluetooth() {\r\n\r\n  \/\/ If the bluetooth sent any characters\r\n  if(bluetooth.available())\r\n  {\r\n    \r\n    \/\/ Send any characters the bluetooth prints to the serial monitor\r\n    Serial.print((char)bluetooth.read());\r\n    \r\n  }\r\n  \/\/ If stuff was typed in the serial monitor\r\n  if(Serial.available())\r\n  {\r\n    \r\n    \/\/ Send any characters the Serial monitor prints to the bluetooth\r\n    bluetooth.print((char)Serial.read());\r\n    \r\n  }\r\n\r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n  \r\n  \/\/ Setup Bluetooth\r\n  isSetupBluetooth();\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>People can contact us:<\/strong> https:\/\/www.donluc.com\/?page_id=1927<\/p>\n<p><strong>Technology Experience<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc&#8230;)<\/li>\n<li>IoT<\/li>\n<li>Wireless (Radio Frequency, Bluetooth, WiFi, Etc&#8230;)<\/li>\n<li>Robotics<\/li>\n<li>Camera and Video Capture Receiver Stationary, Wheel\/Tank and Underwater Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial and Marine<\/li>\n<li>Machine Learning<\/li>\n<li>RTOS<\/li>\n<li>Research &#038; Development (R &#038; D)<\/li>\n<\/ul>\n<p><strong>Instructor, E-Mentor, STEAM, and Arts-Based Training<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>IoT<\/li>\n<li>PIC Microcontrollers<\/li>\n<li>Arduino<\/li>\n<li>Raspberry Pi<\/li>\n<li>Espressif<\/li>\n<li>Robotics<\/li>\n<\/ul>\n<p><strong>Follow Us<\/strong><\/p>\n<p><strong>Luc Paquin \u2013 Curriculum Vitae &#8211; 2023<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.com\/<br \/>\n<strong>Facebook:<\/strong> https:\/\/www.facebook.com\/neosteam.labs.9\/<br \/>\n<strong>YouTube:<\/strong> https:\/\/www.youtube.com\/@thesass2063<br \/>\n<strong>Twitter:<\/strong> https:\/\/twitter.com\/labs_steam<br \/>\n<strong>Pinterest:<\/strong> https:\/\/www.pinterest.com\/NeoSteamLabs\/<br \/>\n<strong>Instagram:<\/strong> https:\/\/www.instagram.com\/neosteamlabs\/<\/p>\n<p><strong>Don Luc<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8212;&#8212; #DonLucElectronics #DonLuc #RadioFrequency #Bluetooth #SparkFun #BME280 #CCS811 #IMU #Arduino #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; AltIMU-10 v5 Gyro, Accelerometer, Compass, and Altimeter The Pololu AltIMU-10 v5 is an inertial measurement unit (IMU) and altimeter that features the same LSM6DS33 gyro and accelerometer and LIS3MDL magnetometer as the MinIMU-9 v5, and &#8230; <a title=\"Project #26 &#8211; Radio Frequency &#8211; Bluetooth Pololu AltIMU-10 &#8211; Mk23\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=3561\" aria-label=\"Read more about Project #26 &#8211; Radio Frequency &#8211; Bluetooth Pololu AltIMU-10 &#8211; Mk23\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[247,50,49,38,80,59,5,46,287,58,82,10,43],"tags":[251,6,92,242,296,102,4,19,83,85,252,246,24,103,9,84,27,264,109,33,34],"class_list":["post-3561","post","type-post","status-publish","format-standard","hentry","category-radio-frequency","category-arduino","category-consultant","category-digitalelectronics","category-esp32","category-fritzing","category-microcontrollers","category-pololu","category-program","category-arduino-programming","category-program-esp32","category-projects","category-sparkfun","tag-accelerometer","tag-arduino","tag-battery","tag-bluetooth","tag-bluetooth-pololu-altimu-10","tag-components","tag-consultant","tag-electronics","tag-esp32","tag-fritzing","tag-gyroscope","tag-magnetometer","tag-microcontroller","tag-pololu","tag-programming","tag-programming-esp32","tag-projects-2","tag-radio-frequency","tag-sparkfun","tag-technology","tag-video-blog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/3561","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3561"}],"version-history":[{"count":1,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/3561\/revisions"}],"predecessor-version":[{"id":3566,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/3561\/revisions\/3566"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}