Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update write-up with source for w60x Micropython 1.19 codebase and release images #1

Closed
LexxM3 opened this issue Dec 15, 2022 · 8 comments
Assignees
Labels
good first issue Good for newcomers

Comments

@LexxM3
Copy link

LexxM3 commented Dec 15, 2022

Thank you for your tutorial on the W600. Your write-up is the most recent coverage and readily comes up in Google searches. As a MAJOR service to your readers, it would be extremely (!!!) useful in your write-up to mention the modern (1.19 as recent as mid Nov 2022 build as of the end of 2022) Micropython codebase and release images being maintained by @robert-hh. Specifically, the w60x codebase is here: https://github.com/robert-hh/micropython/tree/w60x (see w60x branch) and @robert-hh also maintains release images here: https://github.com/robert-hh/Shared-Stuff (see wm_w600_*.fls files).

@sigmdel sigmdel self-assigned this Dec 15, 2022
@sigmdel
Copy link
Owner

sigmdel commented Dec 15, 2022

Already knew about the MicroPython v1.19.1 port by Robert Hammelrath (robert-hh) but I was not aware that he made available release images... my bad 😞.

Thank you very much LexxM3 for this information. You are quite right, it would be best for all to use the latest version.

Will update the blog post to include instructions on getting and downloading the current version of MicroPython as soon as possible. The rest of the post will be updated in the new year.

@sigmdel sigmdel added the good first issue Good for newcomers label Dec 15, 2022
@sigmdel sigmdel pinned this issue Jan 31, 2023
@sigmdel
Copy link
Owner

sigmdel commented Jan 31, 2023

This repository now replaced by w600_micropython_1_19_examples. Details in A Second Look at the W600-PICO Development Board.

@sigmdel sigmdel closed this as completed Jan 31, 2023
@MartinsBastelstube
Copy link

With the MicroPython firmware v1.19.1, still can't get Neopixels to work on WeMOS W600-Pico boards.
As soon as I call NeoPixel.write(), all the connected Neopixels go to plain white at full steam (0xFFFFFF) -- no matter what colour pattern I have specified before.
Can you please give a code example that works on W600-Pico boards?

@robert-hh
Copy link

robert-hh commented Jun 12, 2023

I know. At the moment, the timing works only for the slow version of the NeoPixel devices. It is on my list to fix that and replace the implementation with the one used for SAMD21 or the slow STM32 devices.

@robert-hh
Copy link

I have updated the repository and the binary images at https://github.com/robert-hh/Shared-Stuff. That version works here with NeoPixel devices with the timing set to (400, 850, 850, 400).

@MartinsBastelstube
Copy link

MartinsBastelstube commented Jun 15, 2023

In the Shared-stuff directory I found W600 firmware version 1.20, but the problem persists with that one.
-- or do I have to configure the timing parameters for the Neopixel driver? How would that work?

@robert-hh
Copy link

I uploaded the firmware again to SharedStuff after having tested itwith a NeoPixel ring here.
The timing parameters for NeoPixel have to be given as the third argument to the bitstream() call. These are (400, 850, 850, 400). But they are set in the neopixel.py lib script. The test code is below for a 24 LED object. The NeoPixel run at 5V while the signal level of the W600 is at 3.3V. That's just at the limit, but most of the time it's fine.

import time
import machine, neopixel

def twims(np, delay):
    n = np.n
    np.fill((0,0,0))
    np.write()
    for j in range(1000):
        for k in range(n-1 , 0, -1):
            np[k] = np[k - 1]
        if (j % 8) < 2:
            np[0] = (255,0,0)
        else:
            np[0] = (0,0,10)
        np.write()
        time.sleep_ms(delay)

def run(delay=250, t = 1):
    np = neopixel.NeoPixel(machine.Pin(0, machine.Pin.OUT), 24, timing = t )
    try:
        twims(np, delay)
    except KeyboardInterrupt:
        np.fill((0, 0, 0))
        np.write()

run(250, 1)

@MartinsBastelstube
Copy link

Good -- with version 1.20.x I finally got the Neopixels working on the W600-Pico board. Thank you for the quick response and good support!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

4 participants