Find Jobs
Hire Freelancers

WS2811 protocol on MCU in C/C++

$30-250 USD

In Progress
Posted about 1 year ago

$30-250 USD

Paid on delivery
I'm looking for a freelancer to help me with a project requiring WS2811 protocol implementation on an MCU in C/C++. The MCU platform I'm interested in is either the Nyquest NY8A054E, Padauk PMS171B-S14, or HolyChip HC18P110B0-SOP14-T. I would like for the freelancer to program in C and the data transmission rate should be 800kbps. The objective of this project is to get the WS2811 protocol running on the chosen MCU platform, allowing for reliable data transmission to and from external peripherals. I'm seeking an experienced freelancer who is knowledgeable in C/C++ programming for embedded systems and is familiar with either the WS2811 protocol or timer input capture and output compare hardware. Datasheets for the WS2811 IC (which describe the protocol in detail) and the three suggested MCUs are attached. Some datasheets are only available in Chinese, I use Google Lens to read those. I would consider a similar low-cost MCU; 500-piece pricing on these 3 is: $0.0648, $0.0705, and $0.0999. Deliverables: Freely usable (no restrictive license) C/C++ source code, .bin/.hex/etc. binary, logic analyzer or scope trace of successful WS2811 protocol forwarding, debugger or serial monitor output showing decode of input data and substitution of output data. gcc compiler or arduino IDE preferred, but willing to discuss others. * The input pin must use timer input capture interrupts, and the output must use timer output compare for accurate timing. * MCU shall use internal clock. * If a valid WS2811 protocol waveform containing at least 3 bits is detected at the input pin, the frequency shall be compared to what the MCU believes is 800kHz. if the input frequency is more than 600kHz and less than 1000kHz, the MCU shall adjust its output waveform to match the frequency of the input waveform, while maintaining the relative timings of the WS2811 protocol. * Interrupts shall provide a flag for use in the main loop, indicating the current transmission state (IDLE, FIRST_BITS, LAST_BITS, or ACTIVE). The FIRST_BITS state shall be set when at least one and less than 3 valid WS2811 protocol bits have been detected, and a stub function shall be called. The LAST_BITS state shall be set when a full bit time passes on the input with no transitions. * An internal shift register of variable length (e.g. #define SHIFT_REGISTER_BITS 24) shall contain bits being received/transmitted. A stub function shall be called at the time that the LAST_BITS condition is detected. Note that the actual data structure must contain 3 extra bits to allow for the delay between data in and data out. * The output waveform shall begin transmitting when the transmission state changes from FIRST_BITS to ACTIVE, immediately after the transmission speed is adjusted and the active_start stub function is called. * PWM pins and ADC pins should not be selected for data in and data out pins if other options are available. stub function prototypes: void first_bits(void *data_shift_register) { // Does nothing yet. } void last_bits(void *data_shift_register) { // Does nothing yet. } void active_start(void *data_shift_register) { // Does nothing yet. }
Project ID: 36413952

About the project

6 proposals
Remote project
Active 1 yr ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Hi, I'm Ganapathy, I have rich experience in Microcontollers like AVR, PIC, ESP, developed programms in both Assembly and high level language like C/C++. I have good understanding of internal peripherals, how to program and utilize them efficitently, I completely understand your requirement, I can able to finish it If you are interested, contact me Thank you
$120 USD in 7 days
4.9 (47 reviews)
5.4
5.4
6 freelancers are bidding on average $242 USD for this job
User Avatar
Hello I am embedded software engineer I know firmware developing very well and i have done many projects before So i can do your project too
$200 USD in 7 days
4.8 (7 reviews)
4.0
4.0
User Avatar
Dear Client, I have reviewed your project requirements and I am confident that I possess the necessary skills and expertise to assist you in the successful implementation of the WS2811 protocol on the selected MCU platform. As an experienced embedded systems engineer with a strong background in C/C++ programming, I have successfully completed similar projects involving the implementation of communication protocols on various MCU platforms. I am familiar with the WS2811 protocol and have experience with timer input capture and output compare hardware. Additionally, I have experience with various development tools such as the GCC compiler and the Arduino IDE. I understand your project requirements and will ensure that the system functions as per your specifications. I will develop the code in C and ensure that the data transmission rate is 800kbps. Furthermore, I will provide you with all the deliverables required, including C/C++ source code, binary files, logic analyzer or scope trace of successful WS2811 protocol forwarding, debugger or serial monitor output showing decode of input data, and substitution of output data. I am available to discuss your project requirements further and can start immediately. I look forward to hearing from you soon. Sincerely, Mohsin Ali
$250 USD in 7 days
5.0 (2 reviews)
2.1
2.1
User Avatar
Hi Ready to implement WS2811 protocol on an MCU in C/C++. Please send me a message to discuss further requirements of this project in chat. Thanks
$400 USD in 15 days
0.0 (0 reviews)
0.0
0.0
User Avatar
I am an expert in developing smart embedded devices in the field of wireless networks and MCUs. So I feel this job is right for me and helps your product. Projects I have worked on: - The Touch Switch uses NXP's MKL16Z32 and MC9S chips to connect to the zigbee network of Silabs. - Boiler touch switch using chip MKL communicate with TUYA MCU SDK. - Energy saving sensors like PIR, door... used module Zigbee (MGM111A EFR32MG21) of Silabs. - Remote devices using chip 8258 Telink zigbee/ble - Porting source code chip MCU as MKL, STM8/32, ... - Motor control by arduino circuit using PWM, PID ..
$230 USD in 10 days
0.0 (1 review)
0.0
0.0

About the client

Flag of UNITED STATES
MARLBOROUGH, United States
0.0
0
Payment method verified
Member since Apr 12, 2019

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.