You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@nuttx.apache.org by Brennan Ashton <ba...@brennanashton.com> on 2020/09/11 17:11:39 UTC
Re: Keyboard FeatherWing
Greg,
I actually just got one of these FeatherWing boards. I was thinking
about using it with the nRF52 Bluefruit LE - nRF52832. Seemed like a
cool way to add a UX for interacting with the bluetooth stuff.
--Brennan
On Wed, Aug 19, 2020 at 8:37 AM Gregory Nutt <sp...@gmail.com> wrote:
>
> Adam,
>
> Are you still working a the Giant Board? This would be a good companion
> board:
> https://www.tindie.com/products/arturo182/keyboard-featherwing-qwerty-keyboard-26-lcd/
>
> There is a "Solder Party" channel forum on discord.com. Groguard
> discusses using the Giant Boards with the keyboard FeatherWing there.
>
> That could be a lot of fun. I am considering one myself, but I have no
> feather boards to drive it.
>
Re: Keyboard FeatherWing
Posted by Alan Carvalho de Assis <ac...@gmail.com>.
Hi Matias,
On 9/11/20, Matias N. <ma...@imap.cc> wrote:
> A bit related but maybe not so much: as you may have seen in my workshop
> presentation, I'm working on a tiny BLE mouse using BlackBerry trackpad
> sensor,
> based on the nRF52832. As part of this, I built a Feather Wing format board
> just for the sensor:
>
> https://twitter.com/protobits/status/1303733534931197953
>
> I have a NuttX driver mostly complete for it. If there's interest I could
> contribute it to mainline
> (as it is mostly reverse engineering a sensor I was unsure if that was
> appropriate for mainline).
> It basically behaves as an SPI ADNS3530 sensor to most extent.
>
Of course there is interest! This is a nice input solution so simple projects.
BR,
Alan
Re: Keyboard FeatherWing
Posted by "Matias N." <ma...@imap.cc>.
A bit related but maybe not so much: as you may have seen in my workshop
presentation, I'm working on a tiny BLE mouse using BlackBerry trackpad sensor,
based on the nRF52832. As part of this, I built a Feather Wing format board
just for the sensor:
https://twitter.com/protobits/status/1303733534931197953
I have a NuttX driver mostly complete for it. If there's interest I could contribute it to mainline
(as it is mostly reverse engineering a sensor I was unsure if that was appropriate for mainline).
It basically behaves as an SPI ADNS3530 sensor to most extent.
I don't really have a Feather board with me but it would pair really well with the Bluefruit LE.
I will publish the design soon, if you're interested in that as well (the BOM is really small).
Best,
Matias
On Fri, Sep 11, 2020, at 14:24, Gregory Nutt wrote:
>
> > I actually just got one of these FeatherWing boards. I was thinking
> > about using it with the nRF52 Bluefruit LE - nRF52832. Seemed like a
> > cool way to add a UX for interacting with the bluetooth stuff.
>
> Cool! That could be useful if you need a complete handheld UI. There are
> already an ILI9341 and STMP811 drivers. I suppose it will need a custom
> keyboard driver over I2C. There is also a GPIO expander, Neopixel,
> microSD. I don't know which GPIO expander is on the board. GPIO
> expanders are a nuisance because you can't get off the ground without
> first having the GPIO exander. The LCD backlight, touchscreen, microSD
> and keyboard all depend on the GPIO expander. Not for people who need
> immediate gratification.
>
> I had originally though to use this with the Giant Board that Adam has
> been working with. I am having motivational problems, however, and
> getting things shipped to Costa Rica is slow and/or expensive.
>
>
>
>
Re: Keyboard FeatherWing
Posted by Gregory Nutt <sp...@gmail.com>.
> But yeah all the touch screen and backlight logic is behind the
> STMP811 touch/gpio expander.
> https://www.solder.party/docs/keyboard-featherwing/schematics_keyboard_featherwing.png
That shouldn't be too bad. I wrote the STMPE811 driver. It is a
multi-function chip and does GPIO, ADC, Touch, temperature sensing. I
have only used it for touch so it resides in the an odd location. It us
under drivers/input:
drivers/input/stmpe811.h
drivers/input/stmpe811_adc.c
drivers/input/stmpe811_base.c
drivers/input/stmpe811_gpio.c
drivers/input/stmpe811_temp.c
drivers/input/stmpe811_tsc.c
With support for something like this how do you think it is best
> organized in the board folder layout and do you think it would make
> sense to have a logical block for this that could be shared with other
> feather boards?
I think you will be using normal drivers under the drivers/ directory.
GPIOs are never explicitly exposed to common code. That is the benefit
from being highly modularized. All use of the GPIOs will be hidden
under lower half drivers that are not so different from other lower half
drivers except that they do not access the MCU GPIO pins, but go through
I2C to access the GPIOs via the STMPE811.
There are a few good examples of use of the STMPE811GPIO expander:
boards/arm/stm32/stm3220g-eval/src/stm3220g-eval.h
boards/arm/stm32/stm3220g-eval/src/stm32_stmpe811.c
boards/arm/stm32/stm3240g-eval/src/stm3240g-eval.h
boards/arm/stm32/stm3240g-eval/src/stm32_stmpe811.c
boards/arm/stm32/stm32f429i-disco/src/stm32f429i-disco.h
boards/arm/stm32/stm32f429i-disco/src/stm32_stmpe811.c
These are used in LCD-related configurations
boards/arm/stm32/stm3220g-eval/configs/nxwm/defconfig
boards/arm/stm32/stm3240g-eval/configs/knxwm/defconfig
boards/arm/stm32/stm3240g-eval/configs/nxwm/defconfig
boards/arm/stm32/stm32f429i-disco/configs/fb/defconfig
boards/arm/stm32/stm32f429i-disco/configs/lvgl/defconfig
boards/arm/stm32/stm32f429i-disco/configs/nxwm/defconfig
Re: Keyboard FeatherWing
Posted by Brennan Ashton <ba...@brennanashton.com>.
On Fri, Sep 11, 2020 at 10:24 AM Gregory Nutt <sp...@gmail.com> wrote:
>
>
> > I actually just got one of these FeatherWing boards. I was thinking
> > about using it with the nRF52 Bluefruit LE - nRF52832. Seemed like a
> > cool way to add a UX for interacting with the bluetooth stuff.
>
> Cool! That could be useful if you need a complete handheld UI. There are
> already an ILI9341 and STMP811 drivers. I suppose it will need a custom
> keyboard driver over I2C. There is also a GPIO expander, Neopixel,
> microSD. I don't know which GPIO expander is on the board. GPIO
> expanders are a nuisance because you can't get off the ground without
> first having the GPIO exander. The LCD backlight, touchscreen, microSD
> and keyboard all depend on the GPIO expander. Not for people who need
> immediate gratification.
It looks to me like they dropped the SAM20 in there to kind of hide
the IO expander logic behind a i2c keyboard interface, so it might
actually be easier in some ways. At least via polling the FIFO to
start with.
https://www.solder.party/docs/keyboard-featherwing/schematics_keyboard_featherwing_keyboard.png
But yeah all the touch screen and backlight logic is behind the
STMP811 touch/gpio expander.
https://www.solder.party/docs/keyboard-featherwing/schematics_keyboard_featherwing.png
With support for something like this how do you think it is best
organized in the board folder layout and do you think it would make
sense to have a logical block for this that could be shared with other
feather boards?
--Brennan
Re: Keyboard FeatherWing
Posted by Gregory Nutt <sp...@gmail.com>.
> I actually just got one of these FeatherWing boards. I was thinking
> about using it with the nRF52 Bluefruit LE - nRF52832. Seemed like a
> cool way to add a UX for interacting with the bluetooth stuff.
Cool! That could be useful if you need a complete handheld UI. There are
already an ILI9341 and STMP811 drivers. I suppose it will need a custom
keyboard driver over I2C. There is also a GPIO expander, Neopixel,
microSD. I don't know which GPIO expander is on the board. GPIO
expanders are a nuisance because you can't get off the ground without
first having the GPIO exander. The LCD backlight, touchscreen, microSD
and keyboard all depend on the GPIO expander. Not for people who need
immediate gratification.
I had originally though to use this with the Giant Board that Adam has
been working with. I am having motivational problems, however, and
getting things shipped to Costa Rica is slow and/or expensive.