Close
0%
0%

KBox

An open-source gateway to boat networks

Similar projects worth following
KBox is an open-source platform to develop "smart boat" applications.

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
- A 320x240 TFT screen and a rotary encoder for user interactions

KBox is based on the teensy3 architecture. The WiFi module is an ESP8266. Both firmwares are written in Arduino-compatible SDK and compiled with platformio.org.

Interested in KBox?

I am making a small number of KBox for interested boat-hackers. You can order yours on the tindie store. Supply is limited, put yourself on the "I want one" list to help me re-order the right number!

KBox features

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.

However, 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 ...

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.

Join the mailing list!

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

  • Web server, signalk based architecture and other software progress

    Thomas Sarlandie06/19/2017 at 03:42 0 comments

    I have been making tons of progress on the software side. It's all in the 'develop' branch and I encourage the brave amongst you to give it a try. If you are thinking of adding features to KBox, you definitely need to do it on this branch.

    Just a quick overview:
    - Complete SignalK based architecture, which means that every NMEA, NMEA2000 messages and every piece of data from the sensors gets first converted into SignalK before being re-converted into some output format (NMEA, NMEA2000, SignalK, etc)

    - Integrated webserver

    - Websocket support (will support SignalK websocket soon)

    - NMEA to NMEA2000 conversions (currently only GPRMC but more to come - let me know what you need on your boat)
    - etc.

  • Tales of KBox manufacturing

    Thomas Sarlandie06/05/2017 at 03:31 0 comments

    Just a few weeks ago, I ran into Chris Gammell at Maker Faire Bay Area. We talked about KBox and the joy of taking a project from prototyping to manufacturing in small quantities. I have made a lot of progress since my presentation at HDDG a year ago and had a lot of fun catching up with Chris.

    He thought a few more people would enjoy the content of our discussion and turned it into a blog post and a video.


    If you are interested in KBox, curious how it gets manufactured and how it is being priced, there is a lot to learn in this video! Thanks Chris!

  • Presentation at HDDG San Francisco

    Thomas Sarlandie06/05/2017 at 03:24 0 comments

    (This update is way overdue, sorry!)

    In June 2016, at HDDG #14, I presented KBox and gave a lot more details about the project design, decisions I made along the way and the architecture of the hardware.

    If you are interested in KBox, you will definitely enjoy this presentation!

    Slides and videos are available here.

  • First five KBox ready to leave!

    Thomas Sarlandie06/03/2016 at 07:05 0 comments

    Hey!

    A big thanks to everyone who reached out to ask questions,

    share their boat problems or just show interest. I believe I have

    reached back to everyone now, if not, please ping me again.

    Here is a picture of the first 5 complete KBox. The boards are the one I received from PCBng.org a few weeks back.

    Those five boards will go to people who contacted me and first expressed interest. I do ask that you make sure that you are able to recompile the firmware before I send you a board. If you cannot update KBox, it will be very quickly obsolete ;) I have created a [Developer Setup page on the wiki](https://github.com/sarfata/kbox-firmware/wiki/Developer-Setup) with instructions for Linux, Mac OS and Windows.

    As promised KBox will ship in a waterproof enclosure (or at least water resistant, I do not recommend installing it outside!). This is what it looks on my boat with the NMEA2000 connected and my two batteries:

    So what happened since last month??

    It took a while to transform the pcbng boards into fully working KBox and I am very sorry about that. Here are some of the issues I ran into:

    - The "Running Light" led on the bottom left corner was flipped on all the boards and I had to rework it. It's a very small (0603) SMD and for 50% of the boards, I destroyed it in the process and had to get a new one.

    - The ESP8266 modules (the one that provide WiFi) had to be hand-soldered on all the boards

    - The colorful leds had to be hand-soldered on all the boards, they are a pain to solder because they are very fragile and can stop working if heated too much...

    - Some of the SDCard connectors had to be reworked

    - Hand soldered two capacitors, the 32khz crystal, the big screw terminal and a few other things

    Last but not least, I had to test each board to make sure everything worked on it. To do this, I wrote a new firmware image called "manufacturing firmware" which runs through some automated tests. This is what it looks like when I am testing a board:

    In testing mode, there is one NMEA2000 connection to a real NMEA2000 device to make sure receiving and sending packets work, the first nmea output is connected to the second input and the second output to the first input. The test then runs automatically and I just have to confirm that the LEDs turn on, that the button works, etc. I also apply voltages to the analog converters to confirm they work and also test the accelerometer. The code for this special firmware is [on GitHub of course](https://github.com/sarfata/kbox-firmware/pull/4).

    Next steps

    Once I have shipped these first 5 boards, I will order another round of board. If you are interested, [use the form](http://goo.gl/forms/y78AeACvyr) or email me.

    Finally as a little bonus, here are three boards (that was my USB cables limit) showing the two most recent KBox screens: voltage monitoring and general stats:

    That's it for today! Thanks for your interest in the project.

    thomas

  • Boards received from PCBng.org

    Thomas Sarlandie06/03/2016 at 07:03 0 comments

    (April 15th 2016)

    Just received boards from pcb.ng service. They offer PCB assembly as a service for a very competitive price and the result is amazing. They can only assemble SMD parts available from digikey and mouser so I have to manually add a few parts: the teensy bootloader, the wifi module, the ws2812 leds and all through-holes. The first board I completed seems to work well.

    I found an issue with the "running light" led: it is backwards in my pick n place file and one of the ws2812 is not working but everything else looks good. The price is great and it will save me a lot of time on board assembly which should allow me to share the project with more people.

    On the left, one board received from pcb.ng - On the top right, a board assembled. Just missing the 20 contacts connectors.

View all 5 project logs

Enjoy this project?

Share

Discussions

taylor.fry wrote 06/18/2017 at 15:59 point

This is incredible!  Stumbled on this while discovering NMEA2000 is a subset of Devicenet and getting a backbone dirt cheap for my sailboat.  Then realized it's all canbus and am now trying to adapt a 15 dollar OBDII to bluetooth adapter to my test NMEA network for the cheapest way to do this on the planet.  Then I found your device!  I want it!  I'm on the waiting list.  I also posted it here and it's gained a lot of interest.  https://www.facebook.com/groups/111039125633053/permalink/1594880390582245/

  Are you sure? yes | no

Camiel Kotte wrote 05/22/2016 at 18:50 point
This looks great. I may not be able to help develop since I lack the skills but I realy would like to test your board. Should I order, with your permission and support, a board from pcb.org?

I would like to integrate it in my boats nmea2000 network with micro-c connectors to supply IMU and GPS and maybe AIS receiver later on.

My current nmea2000 network consists of :
- zeus touch t7 mfd,
- Simrad IS40 Color Instrument Display,
- Simrad DST800 D/S/T (depth,speed,temp),
- Simrad IS20 Mast Head Unit (wind)
- Simrad TP-22 Tiller Pilot
An external GPS and 9DOF (IMU? whats the difference btw?) are higly recommended since the steel boat hull interferes with the T7 internal GPS and the TP22 internal gyro compass.

  Are you sure? yes | no

Thomas Sarlandie wrote 05/23/2016 at 06:15 point

Hi,

I would love to hear how it works with your Zeus display. I am thinking of getting one myself :)

External GPS is supported. An external 9DOF could work too. Do you have one? What interfaces does it support?

An IMU is an inertial measurement unit. As far as I am concerned, it's the same thing as a 9 depth of field sensor with more algorithms.

Can you reach out to me via email? (thomas at sarlandie.net)  with your address and details. I am still testing my first batch of boards but hope to send them out shortly.

thomas

  Are you sure? yes | no

Thomas Sarlandie wrote 05/23/2016 at 06:15 point

Hi,

I would love to hear how it works with your Zeus display. I am thinking of getting one myself :)

External GPS is supported. An external 9DOF could work too. Do you have one? What interfaces does it support?

An IMU is an inertial measurement unit. As far as I am concerned, it's the same thing as a 9 depth of field sensor with more algorithms.

Can you reach out to me via email? (thomas at sarlandie.net)  with your address and details. I am still testing my first batch of boards but hope to send them out shortly.

thomas

  Are you sure? yes | no

kirrent wrote 05/06/2016 at 02:36 point

Love the project. I've been waiting for a while for something like this and I'd love to build or buy one and contribute to the codebase. Any plans on adding an ethernet port in the future (even something like the w5100) or have you found the WiFi module to be reliable enough?

  Are you sure? yes | no

Thomas Sarlandie wrote 05/11/2016 at 06:54 point

Hi @kirrent,

Just saw your OpenHelmsman project. I added the IMU (accel, gyro & compass) exactly for that use-case. KBox should have everything you need to build an auto-pilot, besides of course the power interface but I have several GPIOs available so it should be easy to connect a power board to it.

I would be happy to share one of the early prototype board with you. Can you reach out to me via email? thomas at sarlandie dot net.

thanks!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates