Code Monkey home page Code Monkey logo

keybon's People

Contributors

coretechr avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keybon's Issues

Button Library

I had to rename the button library based on your link
#include <JC_Button.h> for it to compile.

Great project BTW :)

Can't flash bootloader keybon.generic_stm32f103c

Hi, everyone. I finished one keybon, and i have some problem. Firstly - after flash bootloader with keybon.generic_stm32f103c, i can't connect keybon to pc (windows 10), becouse error message usb device not recognized. But if i flash bootloader with generic_boot20_pc13 from rogerclarkmelbourne and remove the jumper boot0, keybon defined by the system as maple serial and i can flash arduino-hardware.
secondly - after flashing keybon.ino keyboard work fine, more precisely buttons, but screen work only second. Do you help me?

Please give me some answers these days. After struggling all night, I successfully lit it up ❥(^_-)

Prompt before burning:

Sketch uses 36364 bytes (55%) of program storage space. Maximum is 65536 bytes.
Global variables use 6048 bytes (29%) of dynamic memory, leaving 14432 bytes for local variables. Maximum is 20480 bytes.
maple_loader v0.1
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
Reset via USB Serial Failed! Did you select the right serial port?
Assuming the board is in perpetual bootloader mode and continuing to attempt dfu programming...

Found it!

Opening USB Device 0x1eaf:0x0003...
Found Runtime: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0  Upload to Flash 0x8002000"
Setting Configuration 1...
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x0400
bytes_per_hash=727
Starting download: [##################################################] finished!
error resetting after download: usb_reset: could not reset device, win error: ָ�������ڵ��豸��


state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode
timeout waiting for COM5 serial
a3104a8330e0542a286a47bef901d34

Then it prompts that the device installation is successful

Then the screen lights up normally and the host computer runs normally.

3d66881e076a5eabecc9302a48fa555

The measured screen used the 4.5 yuan ssd1315 driver screen and there was no problem.

GFX Library version issue

Hey,

I have a failure to build if we are using a recent release of the GFX Library.

I manage to build properly with v1.7.5.

The new releases of this library introduced changes in the files for MonoOLED (later renamed to GreyOLED) that include I2CDevices.h.
This inclusion leads to a weird error:
Adafruit_I2CDevice.cpp:88:47: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8* {aka unsigned char*}' [-fpermissive]

Anyway, it builds fine with v1.7.5. I recommend putting a comment in the code regarding the version or in the documentation somewhere!

Unable to build the firmware

Hi!
I managed to assemble the hardware for this and I am now trying to get the firmware built but I am not having any luck. Can you provide a bit more information on the versions of the libraries that were used? Or maybe even provide a pre-built bin file that can be flashed onto the board?

I've downloaded the latest versions of the Arduino_STM32 that was linked on the hackaday project, I am also using the latest versions of other libraries that are used and I am getting the following errors when I am trying to compile the firmware source:

/Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp: In member function 'bool Adafruit_I2CDevice::write(const uint8_t*, size_t, bool, const uint8_t*, size_t)':
/Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:88:47: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8* {aka unsigned char*}' [-fpermissive]
     if (_wire->write(prefix_buffer, prefix_len) != prefix_len) {
                                               ^
In file included from /Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/Wire/Wire.h:42:0,
                 from /Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.h:1,
                 from /Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:1:
/Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/Wire/utility/WireBase.h:123:12: note:   initializing argument 1 of 'size_t WireBase::write(uint8*, int)'
     size_t write(uint8*, int);
            ^~~~~
/Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:97:31: error: invalid conversion from 'const uint8_t* {aka const unsigned char*}' to 'uint8* {aka unsigned char*}' [-fpermissive]
   if (_wire->write(buffer, len) != len) {
                               ^
In file included from /Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/Wire/Wire.h:42:0,
                 from /Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.h:1,
                 from /Users/roli/Documents/Arduino/libraries/Adafruit_BusIO/Adafruit_I2CDevice.cpp:1:
/Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/Wire/utility/WireBase.h:123:12: note:   initializing argument 1 of 'size_t WireBase::write(uint8*, int)'
     size_t write(uint8*, int);
            ^~~~~
Multiple libraries were found for "Wire.h"
 Used: /Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/Wire
 Not used: /Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/WireSlave
Multiple libraries were found for "USBComposite.h"
 Used: /Users/roli/Documents/Arduino/hardware/Arduino_STM32/STM32F1/libraries/USBComposite
 Not used: /Users/roli/Documents/Arduino/libraries/USBComposite_stm32f1-0.99
exit status 1
Error compiling for board Generic STM32F103C6/fake STM32F103C8.

icon file

Please,can you provide its icon library file?

dfu mode

Hello,
I like your keybon very much, I made one too, but I don't know how to use tx/rx to burn my board,
For bl, I chose to use stlink, I flew dio and clk on the board, which allowed me to flash the bootloader smoothly, and it could be recognized by the computer, but I don't know how to burn the program in the arduino into it
I don't know how to get the board into dfu mode

Gerber Files

When exporting the gerber files, the holes for the USB C port are not generated. How do I go about fixing this?

dimensions needed

what are the exact dimensions of the OLED screens? I want to make this myself, but cannot find a screen of the same product key where I live

CAD design source files

Hey,

I've designed a 12 button version of Keybon, and I wanted to know if you could share the source files for the CAD design, so I can modify it to integrate the 3 additional button.

Of course, I'll share my changes in a fork!

Cheers,
Romain

Something went wrong, please help

The bootloader has been flashed normally and the device has been recognized, but when programming the program, the output is:

WARNING: library JC_Button claims to run on avr architecture(s) and may be incompatible with your current board which runs on STM32F1 architecture(s).
Sketch uses 36364 bytes (55%) of program storage space. Maximum is 65536 bytes.
Global variables use 6048 bytes (29%) of dynamic memory, leaving 14432 bytes for local variables. Maximum is 20480 bytes.

Moreover, the screen does not light up after programming, and the button settings do not respond.
5640bb1f576de645fe4c3e70d27db45
8675e9eda1c32b351214fd9dfa84dbf

BOM Part Package Difference

Hello! First of all - thank you for an amazing project!
I'm going to build one, but during the BOM list checking I've stumbled upon the difference of "C1,C2,C3" capacitors between the EAGLE board schema items list and the actual BOM inside this repo. Keybon REV 1.1 BOM.csv file has 0603 package defined for this capacitors, but in EAGLE schema they have 0805 package. What should I trust?

for keybon companion app, be able to disable switch layouts when window focus changes

trying to use this as a custom streamdeck, to be used with obs. but as the current iteration of keybon, there is no way to change the default screen, except changing the sketch in the Arduino ide, and there is no way to have the companion not switch layouts when the focus of the current window changes.

would be nice to have a toggle function to keep a certain layout active full-time, regardless of what window is active.
I'd edit the companion app myself, but I do not know enough c# to be able to add this functionality.

I realize that this is not a use for what keybon was originally intended for, but I think it could be used like a stream deck, just without all the fancy features of a stream deck. implemented.
I just would like to be able to have it send a few certain button presses for hotkeys for OBS Studio, but with the current version of keybon this is pretty much impossible without doing some major coding on my part.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.