All Projects → TheKikGen → kikpad

TheKikGen / kikpad

Licence: other
KiKPad : the Midiplus SmartPad reinvented !

Programming Languages

c
50402 projects - #5 most used programming language
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to kikpad

Dirtyjtag
JTAG probe firmware for STM32F1
Stars: ✭ 183 (+490.32%)
Mutual labels:  usb, firmware, stm32
Stm32f103 Usb Cdc Cmsis
STM32F103 USB CDC CMSIS
Stars: ✭ 40 (+29.03%)
Mutual labels:  usb, firmware, stm32
Usb Midi Driver
USB MIDI Driver for Android 3.1 or later
Stars: ✭ 244 (+687.1%)
Mutual labels:  usb, midi
arduino-midi-footswitch
USB MIDI Pedal built with Arduino
Stars: ✭ 24 (-22.58%)
Mutual labels:  usb, midi
FASTUSBasp
This is the fast avr programmer for AVR MCUs based on cheap stm32f103c8t6 board with usb-to-serial support.
Stars: ✭ 78 (+151.61%)
Mutual labels:  firmware, stm32
Usbdevice
Highly flexible Composite USB Device Library
Stars: ✭ 144 (+364.52%)
Mutual labels:  usb, stm32
Sboot stm32
Secure USB DFU1.1 bootloader for STM32
Stars: ✭ 181 (+483.87%)
Mutual labels:  usb, stm32
DfuBootloader
STM32 USB device bootloader using DFU class interface
Stars: ✭ 79 (+154.84%)
Mutual labels:  usb, stm32
Libusb stm32
Lightweight USB device Stack for STM32 microcontrollers
Stars: ✭ 372 (+1100%)
Mutual labels:  usb, stm32
Modbus-STM32-HAL-FreeRTOS
Modbus TCP and RTU, Master and Slave for STM32 using Cube HAL and FreeRTOS
Stars: ✭ 272 (+777.42%)
Mutual labels:  usb, stm32
CureSynth Whip
Polyphonic MIDI Synthesizer for STM32F7
Stars: ✭ 45 (+45.16%)
Mutual labels:  midi, stm32
stm32 i2c to usb hid multitouch
i2c to usb hid multi touch with stm32
Stars: ✭ 55 (+77.42%)
Mutual labels:  usb, stm32
Tinyusb
An open source cross-platform USB stack for embedded system
Stars: ✭ 2,257 (+7180.65%)
Mutual labels:  usb, midi
ISASTM
STM32-based ISA-over-USB-adapter
Stars: ✭ 86 (+177.42%)
Mutual labels:  usb, stm32
Audioxtreamer
ASIO driver, Usb Driver, FX2LP Firmware, VHDL Fpga, Schematics & PCB Layout for the AudioXtreamer, a USB 2.0 32ch Audio/Midi interface for retrofitting into digital mixers/interfaces.
Stars: ✭ 22 (-29.03%)
Mutual labels:  usb, midi
f1usb
Einfaches Beispiel für die Entwicklung eines USB FullSpeed Device auf Basis des STM32F103 ohne die Verwendung externer Bibliotheken
Stars: ✭ 27 (-12.9%)
Mutual labels:  usb, stm32
Teenyusb
Lightweight USB device and host stack for STM32 and other MCUs.
Stars: ✭ 287 (+825.81%)
Mutual labels:  usb, stm32
Keyberon
A rust crate to create a pure rust keyboard firmware.
Stars: ✭ 355 (+1045.16%)
Mutual labels:  usb, firmware
stm32-usb-bootloader
This repository contains bootloader for stm32f1xx microcontrollers. It works for stm32f103ret6, but you can simply adopt it to any MCU supporting STM32 HAL library with USB and SD-card
Stars: ✭ 40 (+29.03%)
Mutual labels:  usb, stm32
Raspberry-MIDI-Controller
A python script that sends MIDI signals from the Raspberry (client) to a Computer (host)
Stars: ✭ 44 (+41.94%)
Mutual labels:  usb, midi
  __ __| |           |  /_) |     ___|             |           |
       |   __ \   _ \  ' /  | |  / |      _ \ __ \   |      _` | __ \   __|
       |   | | |  __/  . \  |   <  |   |  __/ |   |  |     (   | |   |\__ \
      _|  _| |_|\___| _|\_\_|_|\_\\____|\___|_|  _| _____|\__,_|_.__/ ____/

KIKPAD

KiKPad : the Midiplus SmartPad reinvented !

Donate

SmartPad from Midiplus

We did it again !

The KikGen Labs proposes again a firmware entirely rewritten for a commercial product. This time it is the Smartpad from Midiplus, which technical characteristics being very close to the Launchpad from Novation. That firmware allows now 64 pads, 64 RGB colors (instead 3 !), 8 encoders, all buttons operationals, and obviously usb midin in/out. It was written with the stm32duino platform, for the STM32F1 uC family.

The perspectives offered by this new open firmware are vast: fully custom0ized Ableton Live controller, chord generator, autonomous sequencer, master keyboard , etc....For example, I have developped an Akai Surface controller emulation for the MPC Live, allowing my Kikpad to be used as it was the native hardware.

tkglctrl video

tkglctrl video

tkglctrl video

For a quick start, you can check the "demo" module, transforming the Kikpad in a small midi keyboard and controller.

I want to thank here DerFetzer for his similar project (developed in Rust) and the inspiration for the launch of this project realized under "lockdown " ! have a look here : https://github.com/DerFetzer/open-cleverpad

Solenoid made also a great job by collecting a lot of information on the Midiplus Smartpad : https://github.com/s0len0id/smartpad-tester


This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

Donate

How to flash

STLINK stick

SmartPad from Midiplus

(pictures : credit to "de douby").

First, you must upload the bootloader at address 0x08000000, with STM-LINK UTILITY. You need an ST-LINK V2 stick to do that.
It is necessary to open the Smartpad (remove panel from the back), and connect the stick to the CN2 .

Pinout is :

  • 1.GND
  • 2.SWDIO
  • 3.SWDCLK
  • 4.RESET

You must also connect the USB cable for powering the Smartpad

Download the bootloader firmware here : https://github.com/TheKikGen/stm32-tkg-hid-bootloader/releases

Once the Kikpad is connected to the STLINK :

1/ Open the ST-LINK utility, and flash the bootloader "bootloader_only_binaries/tkg_hid_midiplus_smartpad.bin" file at 0x08000000. The original firmware from Midiplus is protected. So you will have to remove the protection check to erase and reflash the Kikpad firmware.

SmartPad from Midiplus

2/ Pickup one of the pre-compiled binary

kikpad.mod_MPC_stm32f103rb.bin
kikpad.mod_demo_stm32f103rb.bin
kikpad.mod_force_stm32f103rb.bin

3/ Upload the mod_x bin file with STLINK at 0x8001000 or use tkg_flash utility to do that for you in HID mode

4/ Disconnect Kikpad from USB and remove STLINK connector. Plug again in your computer. You should see a "KIKPAD" midi device.

Hacking around

About Arduino environment : I use the Roger's core for stm32.

Follow the instructions there to install this core after the Arduino platform setup. Install the midixparser library in your Arduino libraries directory : https://github.com/TheKikGen/midiXparser/archive/refs/heads/master.zip Try to compile some examples from the "File/examples" menu to check if the ARM compiler works.

The uC within the Smartpad is a STM32F103RBT6. I have adjusted the Roger's core configuration files for this uC + some tuning regarding upload methods. You will find here my full stm32duino package you can copy in your (home)/Arduino/hardware directory. You need to restart the Aduino IDE after that.

In the Arduino IDE, you need then to choose STM32F1 boards (stm32duino in sketchbook), then STM32F103RB variant.

At first use the simple module mod_kikpad_demo.h that is a basic midi keyboard sending notes to the usb midi port. Uncomment from the line #176

// Kikpad functionnal module.Uncomment only one.

#include "mod_kikpad_demo.h"
//#include "mod_kikpad_MPC.h"
//#include "mod_kikpad_MPCClipsTest.h"
//#include "mod_kikpad_MPCClipLauncher.h"
//#include "mod_kikpad_MPCForce.h"

The upload method (bootloader) changes the start address of your binary, during the linking process. So you need to choose "Tkg HID bootloader 3.1" in the tools/upload method menu.

Compile with ctrl+R. If everything is ok, get the binary in your working directory with ctrl+alt+S, the file shoud be named "kikpad.ino.generic_stm32f103rb.bin". At this point, use the tkgflash utility on the command line to upload the binary into your kikpad the first time, or if update, switch the Kikpad to update mode (see below).

For all modules, you can :

  • RESET = HOLD BT_CONTROL4 & MASTER8 THEN PRESS SET
  • UPDATE (bootloader mode) = HOLD MODE2 & MASTER7 THEN PRESS SET
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].