• update the second: almost flashed

    Matt Mills7 hours ago 0 comments

    The last couple weeks have shown steady progress. I got stlink to recognize the chip ID and start flashing, but for some reason it's failing on the last block. I'm not sure what to do about this, other than read app notes and hope to come across a clue or two. ST publishes example code to flash, I might try to get that working before going any further. It may also be a compiling issue, where I need to do something differently when building µpython.

    Mad props to the community in the Boldport Slack instance; I wouldn't have gotten this far without their help.

  • Demo Board bringup (part 1)

    Matt Mills03/12/2018 at 19:57 0 comments

    So, because I'm moderately allergic to using GUI tools, hate java, and don't understand IDEs, I've so far just been working on getting either the stlink tool or openocd to work. The chip I'm using, the STM32L4R9x is new enough that it's not in the official repos for either piece of software.  I was able to add the chip to stlink's description, but the flash writes are not working at the moment. I know openocd has more recent work on the flash algo, so the next step is to add the chip identifiers and details there and see if I can get it to flash properly with openocd. OpenOCD also has better errors in my experience, but I had a really nice roadmap for adding to stlink (an old PR that implemented another chip).

    I'll probably blog the whole process over at midnight.computer, but I'll try to keep this page up to date too. The current photo is just the dev kit running demo software. Even when I get µpython running, it'll be a while before I have any kind of video driver to talk to the screen, probably. It is encouraging that one of their demo apps is exactly what I'm trying to do, just in a very different way. The goal is to have a usable watch at the end, with:

    • Some way to fetch time from the cloud using current location
    • Accelerometer for step counting/fitness
    • ambient light sensor for auto-brightness
    • expansion header for hacking
    • python source code for easy extension/modification
    • touch bezel - ring of touch buttons around watch face, for UI (touch screens are too delicate)
    • water-resistant (when assembled)

    So not too much, right?  ¯\_(ツ)_/¯