MakerGram Logo

    MakerGram

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

    MakerChat0x17: Mechanical Keyboards - What You Need to Build One & QMK! ๐ŸŽ‰

    MakerChat
    2
    2
    236
    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 MakerGram

      MGMC0x17_Luma.png

      Welcome to MakerChat0x17: Mechanical Keyboards - What You Need to Build One & QMK! ๐ŸŽ‰

      Join us for the 23rd edition of the MakerChat, where we delve into the fascinating world of Mechanical Keyboards and the QMK firmware. Our speaker, Athul Cyriac Ajay, an experienced Platform Engineer at Frappe, will take you on an exciting journey of building his own mechanical keyboard from scratch and exploring the wonders of QMK.

      ๐Ÿ’กย Session Highlights:

      • Athul's DIY experiences and tips on building a mechanical keyboard
      • Introduction to the QMK (Quantum Mechanical Keyboard) Firmware - Explore the power of customizable keyboard layouts

      ๐Ÿ’ปย Speaker Profile:ย Athul is a tech enthusiast with an impressive background as a former GitHub Campus Expert and Auth0 Ambassador. He spends his weekends travelling on his bike or hacking on side projects. He has a special hobby of building Mechanical Keyboards, especially split keyboards. His expertise in Python, Django, Flask, and Go, makes him a seasoned developer.

      ๐Ÿ”งย Building Your Own Mechanical Keyboard:ย MakerGram's mission is to support makers and foster a strong DIY culture. In this MakerChat, we aim to inspire and empower you to embark on the journey of creating your own mechanical keyboard. Athul will share valuable insights, best practices, and considerations to keep in mind when building your customized keyboard.

      ๐Ÿ“ย QMK Firmware Exploration:ย Unlock the potential of your mechanical keyboard with QMK - an open-source firmware that lets you redefine your keyboard's functionality. Athul will give you an overview of QMK, its features, and how you can leverage it to design unique keyboard layouts and macros.

      We're excited to have you join us for this insightful MakerChat!

      Don't miss out on this opportunity to learn from an expert and connect with like-minded enthusiasts. Register now and secure your spot at MakerChat0x17.

      ๐Ÿ—“๏ธย Date:ย 05 August 2023 Saturday

      ๐Ÿ•œย Time:ย 2:45 PM

      ๐Ÿ“ย Location:ย TinkerSpace -ย https://goo.gl/maps/gnLXa95ChX3a3UwD9
      ๐Ÿ”—ย Registration Now: https://go.makerchat.co/mc0x17

      Mark your calendars forย MakerChat0x17: Mechanical Keyboards - What You Need to Build One & QMK! ๐ŸŽ‰ย and join us to share your experience, learn, and explore new ideas. We can't wait to see you there!ย ๐Ÿ‘€

      1 Reply Last reply Reply Quote 2
      • glitchyi
        glitchyi last edited by

        581a50a1-686d-46cb-92ae-a1420ab3c83d-image.png

        Amazing Event โ‡ Waiting for the Resources ๐Ÿ™‚

        1 Reply Last reply Reply Quote 1
        • 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