element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Bluetooth Unleashed Design Challenge
  • Challenges & Projects
  • Design Challenges
  • Bluetooth Unleashed Design Challenge
  • More
  • Cancel
Bluetooth Unleashed Design Challenge
Blog Stirling Blue - micro:bit QWERTY keyboard & LCD - blog 11
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: dougw
  • Date Created: 15 Jul 2018 5:25 AM Date Created
  • Views 1997 views
  • Likes 10 likes
  • Comments 7 comments
  • micro:bit
  • doug wong
  • qwerty keyboard
  • bluetooth unleashed
  • bluetooth unleashed design challenge
Related
Recommended

Stirling Blue - micro:bit QWERTY keyboard & LCD - blog 11

dougw
dougw
15 Jul 2018

It seemed pretty straight forward to connect my PSoC4 keyboard to a micro:bit since the PSoC4 could already scan the keyboard and display the characters and the micro:bit program could already control its LCD. However I ran into no end of grief trying to make it happen. After I set up the PSoC in SPI slave mode there was just no output. careful monitoring of the micro:bit SPI discovered a couple of minor issues with the micro:bit program, but even after it was cleaned up, the PSoC just wasn't responding as expected. It is very tough to troubleshoot the slave since there were no signals to analyze. Of course I had goofed in picking an output mode for the SPI transmit pin, but it took an lot of digging in many wrong directions before I discovered it.

Then I ran into severe memory shortages with my micro:bit program. I found it very difficult to figure out how much memory is available in the micro:bit and how much is used. After much research I found the reason why I only had enough memory to store font patterns for 16 characters out of the 60 key on my keyboard was due to RAM limitations. Eventually, after trying a bunch of techniques to conserve memory I figured out how to embed the fonts entirely in FLASH memory. The following video shows the result.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

It seems like a simple step forward, but this has been the toughest part of the project so far. Thankfully it is sorted out, but there is still significant work left to shoehorn a BLE stack into the micro:bit.

I think I will switch to mechanical tomorrow and get some packaging designed.

The big idea behind adding a keyboard and LCD to a micro:bit is to provide a low cost way for micro:bits to send text to each other.

When this all works the device will be the equivalent of a walkie-talkie except it will send text instead of voice.

The big question is what to call it?

Should it be:

  1. Walkie-Textie
  2. Type-N-Text
  3. micro:bit textr
  4. text:bit
  5. other

Please feel free to suggest other potential names in the comments below.

image

There is less than a week left in the project, so it is going to be a mad scramble to see how many of the remaining objectives can be achieved.

 

Upcoming blogs:

  • how Stirling engines work
  • micro:bit BLE radio
  • start connecting some sensors to the PSoC6
  • designing the sensor interface PCB

 

Related Links:

Bluetooth Unleashed Design Challenge

Bluetooth Unleashed Design Challenge: The Challengers

Bluetooth Unleashed Design Challenge: About This Challenge

 

Links to other blogs for this project:

Stirling Blue - Project Description - Blog 1

Stirling Blue - Unboxing Hero - Blog 2

StirlingBlue1

Stirling Blue - micro:bit TXTR - Blog 3

Stirling Blue - Fuel Measurement - Blog 4

FuelMeasurement1

Stirling Blue - Interface Description - Blog 5

Stirling Blue - BBC micro:bit LCD - Blog 6

microbitLCD1

Stirling Blue - Power Measurement - Blog 7 (updated)

PowerMeasurement1

SpeedMeasurement1

Stirling Blue - Bluetooth Terminal Awakening - Blog 8

BluetoothTerminalAwake1

Stirling Blue - PSoC Bluetooth Terminal Keyboard - Blog 9

PSoC4KeyboardScanning1

Stirling Blue - Bluetooth Terminal - First Contact - Blog 10

BluetoothTerminal1stContact

  • Sign in to reply

Top Comments

  • dougw
    dougw over 7 years ago in reply to balearicdynamics +3
    In the previous 3 blogs I was building a dual display Bluetooth terminal based on the same PSoC4 platform. This micro:bit version uses the same PSoC4 PCB to create a keyboard for a micro:bit, so micro…
  • DAB
    DAB over 7 years ago +3
    Nice update Douglas. How about Bit-O-Text? DAB
  • jw0752
    jw0752 over 7 years ago +3
    Hi Doug, Thanks for taking us through the difficult parts so we can learn better. John
  • aspork42
    aspork42 over 7 years ago

    Nice update.

    I ran into a lot of memory issues with my Arduino (Freetronics EtherTen) kitchen LED strip controller also. After adding the libraries for Ethernet, MQTT, and FastLED there wasn't much left. I ended up just stripping down functionality. I think what else I could do would be like you suggested and use different libraries - i.e. drop MQTT and just use ethernet packets prepared elsewhere.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 7 years ago in reply to dougw

    Thx image It is a great project, I am curious to see all the parts - stirling steam and micro:bit too - together... Very very curious

     

    Enrico

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • genebren
    genebren over 7 years ago

    Nice update on your design challenge project.  Easy things do get complex very quickly and then take quite a bit effort to sort out and get them working.

    Good job on push through and good luck going forward!

    Gene

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • jw0752
    jw0752 over 7 years ago

    Hi Doug,

    Thanks for taking us through the difficult parts so we can learn better.

    John

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 7 years ago

    Nice update Douglas.

     

    How about Bit-O-Text?

     

    DAB

    • Cancel
    • Vote Up +3 Vote Down
    • Sign in to reply
    • More
    • Cancel
>
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube