Esk8Lightuino - Arduino for Esk8

Hey guys, just finishing working on a small project, which I was wanted to finish for a long time. Originally it was intended just for RGB light control, but because of space requirement I ended up with pretty beefy MCU I decided just to make a board with all outputs and inputs routed out.

Short description this is motherboard for Arduino Pro Micro module which routes out connections and makes it easy to use and connect things together. I am releasing everything open source. Its uses are to connect rf receiver, vesc as inputs for data throttle position, rpm, voltage, current and etc data and use it to control addressable RGB led strips like WS2812, relays, use inputs for temperature, potentiometers, voltage, current or etc… Also connect NRF24 module for remote connection to ur helmet, backpack or etc? Also, you can connect TFT/LCD screens like @janpom DAVega LCD screen and etc things (use ur imagination)

Features:

  • Powered by Arduino Pro Micro module with USB connection (no usb - serial cables)
  • 2 x PPM Inputs
  • 1 x UART (VESC connection)
  • 4 x 3 pin (IO, 5V, GND) (Used for relays, potentiometers, led buttons, temperature sensors and etc it can be logic input, logic output, few of them can do PWM output and all can do ADC input)
  • 1 x SPI + 3 external control pins for LCD additional pins or NRF24 control signals (These pins are also can be switched off and used as normal input/output pins through the main connector)
  • 10 x Input/Output + GND pins
  • Power supplied by PPM/Uart or 6V-16V input (it powers only MCU everything else will require external voltage converter)

Software side:

I am going to finish writing library for Arduino which will include PPM reading, VESC data fetching, all the pins defined as constants no reverse looking and few other functionalities. Also, I will provide a few sample projects and maybe even code generator which would peace code from blocks.

Hardware:

The board is designed using Kicad the files will be hosted in Github. For those who just want a finished thing assembled or kits will be available to buy from @3DServisas online store

Esk8Lightuino_back

Esk8Lightuino_front

Here are a few other components which would ease playing with this we will try to keep stock of these in store too:

Examples:

Few usage examples:

  • Using PPM input from receiver to make a brake lights from WS218 strip controlled intensity and etc.
  • Use PPM input and a second channel for Mini/Nano-X for brakes and light turn on
  • Use external buttons or button and pots to control different light scenes for multiple RGB strips.

Here are some real-life examples:

Some random RGB strip light patterns:

Using PPM input for Acceleration RBG lighting and Red brake light. When Nano-X second channel button is held for 5s turn on night mode which turns on “front light relay” and puts the RGB strip into a tail light mode when nothing is done on the throttle"

I will be posting some more examples later on :slight_smile: Still trying to figure out how to provide everything as custom Arduino board with libraries integrated but still extending original Arduino core…

19 Likes

Another a bit older example:

2 Likes

I like this. The plug and play simplicity is attractive. I set up some ws2812b strips with an Arduino nano. Using the mini remote steering channel as a ppm input to the Arduino. The fastled library is quite good.

1 Like

Thank god, brake lights and RGB lights combined. The uses. Finally. And you made it so there were more capabilities than just that… mad. Gonna need me one of these.

2 Likes

Having the main battery data point available with rgb would be sweet. You could switch to battery indicator mode and have a color gradient showing real time battery state. Green is good orange is meh red is low, flashing red uh oh

4 Likes

I will be ordering prototypes next week for this project.

Here is prototype RGB strip inlay for our enclosure

image

Running examples for RGB strip

2 Likes

Bump. This this ever transpire into anything? It’s an awesome project

Really looking to learn from the code masters here about how to read and interpret throttle position signals and stuff to an Arduino.

It’s kinda in trial

image image

For fastled lib it’s plenty of space but I tried neopixel with ws2813fx and it’s enough just for demo mode 2 strips will thinking make a bigger with esp32 should maybe be enough

2 Likes

Any hope that you could impliment this fork into the FastLed library for RGBW strips?

@Kug3lis Will this work with UART controllers or only PPM?

I think anything can be implemented as its simple Arduino base, I have it working for few rides till wire broke of and managed to send 12V back to arduino so my Arduino Micro fried…

I think this can work with both PPM and UART, just don’t know right if to use Arduino micro as base as it lacks flash for something bit more useful if you want to do some animations…

I see. I suppose I’m still learning. Regardless you should always be able to read the PPM signal (throttle position) from the VESC through CAN by the COMM_GET_DECODED_PPM command right? This allowing for brake light enabling?

There is always this fantastic generator which kicks out R,G,B signals into PROGMEM which can buy you a bit more memory, or is that what you were already doing?

Oh yeah you can do this static, but I was looking into some dynamic effects like effect speed changing based on throttle position and etc, but you know simple stuff is enough. FastLed with 5 strips was like 40% of flash used without any animation, 2 strips using WS2812FX with NeoPixel lib was like 95%. I even grabbed Fadecandy board for my project just it arrived too late and my project failed so I didn’t used…

1 Like

That fadecandy development is insane. I’d never seen that until now.

That takes some serious programming know-how it appears - That’s light-years a head of me. Cant wait to see the project develop further!

Yeah but fadecandy is just bridge between pc and rgb strip also one channel is max 64 led so I would need to split my strips for board and etc