Skip to content

CaptainRon47/Kbox_Firmware_RZ

Repository files navigation

KBox Firmware

Travis status - Buy KBox on Tindie!

What is KBox?

KBox connects your boat networks together and translates message from one bus to the other. KBox also includes multiple sensors that publish information on your boat networks. Finally KBox has a screen that can be used to repeat some of your boat parameters.

KBox picture

Of course KBox is designed with the SignalK specification in mind and will be compatible with it.

KBox hardware includes:

  • One NMEA2000 interface,
  • Two NMEA0183 inputs (one of them can be used as a Seatalk input),
  • Two NMEA0183 outputs,
  • One WiFi interface that can connect to an existing network or create a new network on your boat,
  • Three analog inputs to measure voltages between 0 and 23V (batteries, solar panels, generators, etc),
  • One shunt input to measure current consumption of your main house battery,
  • One barometer,
  • One inertial measurement unit providing a magnetic compass, an accelerometer to measure roll, pitch and yaw as well as a gyroscope,
  • An SDCard to record data.

KBox is an open-source hardware project. You can review the schematics and build it yourself. You can also order a fully assembled and tested KBox from tindie. Every KBox sold via tindie helps support the project. Thank you!

Find more news about KBox on hackaday.io.

How to get a KBox?

You can now order KBox on tindie.com. Supply is limited so use the "Join Waitlist" button to help me figure out how many I need to order and build.

What can I do with KBox?

We are still working hard on the software but we anticipate that the first and most useful use-cases will be:

  • Relay GPS and AIS information to your mobile devices (for example, an iPad running iNavX).
  • Monitor your energy and display voltages and currents on your existing NMEA2000 equipment
  • Record your boat position, and all its parameters (speed over ground, speed over water, heeling angle, apparent and true wind, etc) to an SDCard to replay the race at a later point.

Because KBox is open-source, you can do a lot more things with it:

  • Use KBox as a basic NMEA2000 to USB or Network gateway (for example, for SignalK development)
  • Build an open-source autopilot and use KBox hardware as the main sensor and computer (we have extension ports to connect to the actuator)
  • etc ...

Current software status

As of December 2017, the KBox firmware:

  • General functionality
    • Creates a new WiFi network (KBox) or can join an existing network (via simple code modification and recompiling)
    • Supports up to 8 simultaneous TCP clients connected on port 10110
    • Integrated web server
  • NMEA0183
    • Forwards all NMEA0183 sentences to WiFi clients via TCP
    • Converts RMC (GPS speed and coordinates) and MWV (Wind) to SignalK
  • NMEA2000
    • Forwards all NMEA2000 messages to WiFi (even the ones not understood by KBox) in Seasmart format (they look like NMEA sentences and start with $PCDIN)
    • Converts PGN 127245 (Rudder), 127250 (heading), 128259 (boat speed), 128267 (depth), 129025 (position rapid lat/lon), 129026 (sog/cog rapid) and 130306 (wind speed and angle/direction) to SignalK
    • Generates PGN 127508 (battery), 130310 (baro pressure), 130306 (wind), 127257 (attitude), 127250 (magnetic heading), 129026 (sog/cog rapid) from SignalK
  • Sensors
    • Measure nmea2000 bus voltage as well as all three battery banks voltage.
    • Measure barometric pressure
    • Measure roll, pitch and magnetic heading
    • Sensor data is available in SignalK and is automatically converted to the relevant NMEA and NMEA2000 messages
  • SignalK:
    • All updates generated from NMEA, NMEA2000 and internal sensors are available over websocket
  • Data logging
    • All NMEA and NMEA2000 messages are logged to the SDCard
  • Display
    • Battery monitor page: shows voltages of all battery
    • Stats page: shows number of received and transmitted messages on all interfaces

For more information on current work and future updates, please refer to our issue tracker.

KBox firmware overview

KBox is based on the Teensy 3.2 architecture and is compatible with the Arduino development environment. The WiFi module is an ESP8266-13 and is also programmed with an Arduino compatible SDK.

This project contains the source code for the firmware running on the host micro-controller (teensy-like Cortex M4 micro-controller) and the firmware running on the WiFi module.

Building and flashing KBox

Read the Developer setup page of the Wiki to learn how to install and run the tools required to program KBox.

Mailing list

Please join the KBox-Discussion mailing list! This is the best place to ask questions and discuss KBox.

Reporting problems and Contacting the author

If you run into problems or would like to suggest new features for this project, please use the GitHub issue tracker.

You can also find me (@sarfata) on the SignalK Slack server.

Contributing

Please post contributions on GitHub, in the form of pull-requests and add your name to the list of contributors below. We kindly ask that all contributors share their code under the MIT license. If you wish to share your code under a different release, please make it a library and post a pull-request to include your library.

List of contributors:

License

The original code of this project is distributed under the MIT license.

Please note that most of the libraries have their own license:

To work on KBox and program the WiFi module, you will also use ESPTool which is under the GPL.

Fair winds and following seas to the authors of these libraries! Without them, this project would not have been possible!

Changelog

  • 2017 12 07
    • Merge develop branch into master - Start the changelog
    • The old master branch is not in kbox-v0

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •