• Categories
  • Recent
  • Popular
  • Tags
  • Users
  • Groups
  • Register
  • Login
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
274
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 3 Aug 2023, 15:10 3 Aug 2023, 15:10

    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 5 Aug 2023, 16:12

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

      Amazing Event ❇ Waiting for the Resources 🙂

      1 Reply Last reply Reply Quote 1
      1 out of 2
      • First post
        1/2
        Last post

      Recent Posts

      • A

        @salmanfaris No, still now , there is no improvements

        25 Feb 2024, 13:52 • read more
      • @amalkrishnam3 Hi, Were you able to make any progress.

        22 Feb 2024, 07:57 • 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 .

        12 Feb 2024, 08:46 • read more
      • @mkgrmAbhinand Sorry, no simulators are available.

        7 Nov 2023, 10:39 • read more
      • Have any simulator instead of Seeed XIAO nRF52840?

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