Giter Site home page Giter Site logo

knxduino's Introduction

KNXduino - KNX bus compatible DIY device based on STM32G071 MCU with Arduino flavour

Testing Boards

  • DEPRECATED (will be replaced by STM32G0 Nucleo board): Nucleo-F303RE

    • Connections:
      • KNX RX voltage divider 33k:2k -> PB0 (COMP4_INP)
      • PB1 (COMP4_OUT) -> PA6 (TIM3_CH1)
      • PA7 (TIM3_CH2) -> TX MOSFET (shorting 68R to GND, 10k pull-down on gate)
      • KNX- <-> GND
  • KNXduino One

    • Note: make sure to connect NRST along with SWO, SWD and GND to ST-LINK while using OpenOCD

KNXduino One demo

Development Environment

Testing IDE: Visual Studio Code + Arduino plugin + Cortex-Debug plugin

or Arduino IDE 1.8.5.

Testing Arduino Core: Additional URL https://github.com/stm32duino/BoardManagerFiles/raw/master/STM32/package_stm_index.json version 1.6.1

"Blink via KNX" sketch currently compiles to approx. 28072 bytes of Flash (without bootloader, size-optimized, without hard-coded addresses, no EEPROM emulation thus not configurable at all yet). Sketch consumes approx. 4mA while powered from KNX bus without any power optimizations. Bootloader is currently approx. 9kB. Thus perfectly OK for 128kB devices.

Development Environment for Bootloader

Use Atollic TrueSTUDIO for STM32

Steps to compile application (sketch)

  • Use KNXduino library
  • Copy hardware folder to your sketches folder (eg. ~/Arduino)
  • Select KNXdunino board, and KNXduino Nucleo F303RE with 32kB bootloader in your IDE (eg. vscode or Arduino IDE)
  • Select U(S)ART support: Enable (no generic 'Serial')
  • Optional: Select Optimize menu according to your preferences

Known issues in vscode

  • Fix hardcoded arduinoPath path in .vscode/c_cpp_properties.json file
  • Fix hardcoded cortex-debug.openocdPath path in .vscode/settings.json file build OpenOCD and install in PATH (see below)
  • Fix hardcoded cortex-debug.armToolchainPath path in .vscode/settings.json file
  • Fix hardcoded path to st_nucleo_g0.cfg in .vscode/launch.json file
  • Arduino: Upload command does not work because of output option in .vscode/arduino.json file. Use Arduino: Verify followed by Debug: Continue (F5) instead.

Note on building OpenOCD for STM32G0:

Steps to compile bootloader

Use Atollic TrueSTUDIO for STM32, open and build bootloader project.

TODO

  • ? Migrate to PlatformIO.org when it will fully support official ST's STM32duino Core (which we use here). PlatformIO.org has much better build and dependency management (configurable preprocessor defines, local references to particular Arduino Core, libraries,...). Watch platformio/platform-ststm32#76

Acknowledgement

knxduino's People

Contributors

pavkriz 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

knxduino's Issues

Board :-)

Is it possible to buy this crazy board from you ?
Greetings Juls

Please Provide Manufacturing part no for below component

Hello,

Thanks for this great work, we followed your work, and stuck in some part no of component, It would be great, if you can provide.

Please Provide Manufacturing part no for below component

No Parts Component (Package)

  1. DBG CONN_07LOCK (1X07_LOCK)

  2. T1 NMOSSOT23 (SOT-23 )

  3. L3 150mH Inductor(BS11_LIEGEND)

  4. D4 3V3 ZENER-DIODE (SOT23)

  5. U1 OSCILLATOR5X3 (SMD-5X3)

  6. KNX WAGO-243-211 (WAGO-243-211)

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.