MakerGram Logo

    MakerGram

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups

    0x03: Demystifying Embedded Development

    MakerChat
    3
    4
    1032
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • MakerGram
      MakerGram last edited by salmanfaris

      This webinar focuses on the absolute basics of embedded systems for all the makers who wish to step into the world of embedded systems development, As Introductory session, this will mostly include theoretical things but useful 😋 🤘

      Maker: Prasanth K Subash - @kksjunior
      Place: Zoom
      Date: 10th May 2020
      Time: 8:40 PM

      Register here at https://forms.gle/rz3PNAgoCB2PaipTA

      Join our telegram group: t.me/makergram

      photo_2020-05-07_00-19-20.jpg

      1 Reply Last reply Reply Quote 4
      • salmanfaris
        salmanfaris last edited by

        Thank you @kksjunior 🔥, for the session it was very informative and looking forward with some bare metal coding. 😋

        1 Reply Last reply Reply Quote 1
        • kksjunior
          kksjunior last edited by

          Thank you so much @MakerGram & @salmanfaris for the opportunity to present the webinar on this topic. I've been planning for a long time to arrange a session like this to introduce the world of embedded systems and baremetal programming to our fellow maker friends so that they'll be capable of making better quality real products out in to the market. I had to rush the explanations a little bit because of our time limitations but if our friends like to have another session and want to study more about bare-metal embedded programming we will definitely arrange for more sessions in this series to explain all these concepts in detail.

          1 Reply Last reply Reply Quote 3
          • MakerGram
            MakerGram last edited by

            Recordings: MakerChat 0x03: Demystifying Embedded Development by Prasanth K Subash - @kksjunior | MakerGram Hardware Community

            YouTube: https://youtu.be/tfbDcFfNhm0

            1 Reply Last reply Reply Quote 2
            • First post
              Last post

            Recent Posts

            • A

              @salmanfaris No, still now , there is no improvements

              • read more
            • @amalkrishnam3 Hi, Were you able to make any progress.

              • read more
            • A

              I have been working on a similar project . In which I want to capture data using the PDM mic and trasmit it through the BLE available . I am new to hardware and these sensors so I am unable to make sense of the data I am reciving on the other side(central) that is my mobile device(iphone X) with BlueLight application. I am able to find a service and I am reciving some form of hex code,but I don't know how to convert it to wave files or don't know whether it's possible or not .

              If you guys have any idea or any resources that could help please do share.

              I am attaching my code below :

              #include <ArduinoBLE.h> #include <mic.h> // microphone library // Microphone Settings #define DEBUG 1 #define SAMPLES 800 mic_config_t mic_config = { .channel_cnt = 1, .sampling_rate = 16000, .buf_size = 1600, .debug_pin = LED_BUILTIN }; NRF52840_ADC_Class Mic(&mic_config); int16_t recording_buf[SAMPLES]; volatile static bool record_ready = false; // Updated UUIDs #define SERVICE_UUID "19B10000-E8F2-537E-4F6C-D104768A1214" #define CHARACTERISTIC_UUID_AUDIO "19B10001-E8F2-537E-4F6C-D104768A1214" // BLE Service and Characteristic BLEService audioService(SERVICE_UUID); // Corrected initialization with explicit value size and fixed length flag BLECharacteristic audioDataCharacteristic(CHARACTERISTIC_UUID_AUDIO, BLERead | BLENotify | BLEWrite, sizeof(recording_buf), true); void setup() { Serial.begin(115200); while (!Serial) delay(10); Serial.println("Initializing microphone..."); Mic.set_callback(audio_rec_callback); if (!Mic.begin()) { Serial.println("Mic initialization failed"); while (1); } Serial.println("Mic initialized."); Serial.println("Initializing BLE..."); if (!BLE.begin()) { Serial.println("Failed to start BLE!"); while (1); } BLE.setLocalName("SCT Audio"); BLE.setAdvertisedService(audioService); audioService.addCharacteristic(audioDataCharacteristic); BLE.addService(audioService); // Corrected writeValue call with explicit casting audioDataCharacteristic.writeValue((uint8_t)0); BLE.advertise(); Serial.println("BLE Peripheral is now advertising"); } void loop() { BLEDevice central = BLE.central(); if (central) { Serial.println("Connected to central device"); while (central.connected()) { if (record_ready) { // Plot the audio data in the Serial Plotter for (int i = 0; i < SAMPLES; i++) { Serial.println(recording_buf[i]); } // Transmit the audio data audioDataCharacteristic.writeValue((uint8_t*)recording_buf, 2 * SAMPLES); Serial.println("Audio data transmitted over BLE"); record_ready = false; } } Serial.println("Disconnected from central device"); } } static void audio_rec_callback(uint16_t *buf, uint32_t buf_len) { static uint32_t idx = 0; for (uint32_t i = 0; i < buf_len; i++) { recording_buf[idx++] = buf[i]; if (idx >= SAMPLES){ idx = 0; record_ready = true; break; } } }

              My overall project capture the audio using the pdm mic and transmit it through the BLE and we will do a audio processing throguh api(fast api) calls . I don't know whether it's the right way to do this,but that's the overall idea .

              • read more
            • @mkgrmAbhinand Sorry, no simulators are available.

              • read more
            • Have any simulator instead of Seeed XIAO nRF52840?

              • read more
            By MakerGram | A XiStart Initiative | Built with ♥ NodeBB
            Copyright © 2023 MakerGram, All rights reserved.
            Privacy Policy | Terms & Conditions | Disclaimer | Code of Conduct