element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Members
    Members
    • Benefits of Membership
    • Achievement Levels
    • Members Area
    • Personal Blogs
    • Feedback and Support
    • What's New on element14
  • Learn
    Learn
    • Learning Center
    • eBooks
    • STEM Academy
    • Webinars, Training and Events
    • More
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • More
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • More
  • Products
    Products
    • Arduino
    • Dev Tools
    • Manufacturers
    • Raspberry Pi
    • RoadTests & Reviews
    • Avnet Boards Community
    • More
  • 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
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
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Blog Post Actions
  • Subscribe by email
  • More
  • Cancel
  • Share
  • Subscribe by email
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: dougw
  • Date Created: 15 Jul 2018 5:25 AM Date Created
  • Views 318 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
Upload Preview

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.

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

Anonymous

Top Comments

  • dougw
    dougw over 4 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 4 years ago +3

    Nice update Douglas.

     

    How about Bit-O-Text?

     

    DAB

  • jw0752
    jw0752 over 4 years ago +3

    Hi Doug,

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

    John

  • aspork42
    aspork42 over 4 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
    • Reply
    • More
    • Cancel
  • balearicdynamics
    balearicdynamics over 4 years ago in reply to dougw

    Thx 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
    • Reply
    • More
    • Cancel
  • genebren
    genebren over 4 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
    • Reply
    • More
    • Cancel
  • jw0752
    jw0752 over 4 years ago

    Hi Doug,

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

    John

    • Cancel
    • Vote Up +3 Vote Down
    • Reply
    • More
    • Cancel
  • DAB
    DAB over 4 years ago

    Nice update Douglas.

     

    How about Bit-O-Text?

     

    DAB

    • Cancel
    • Vote Up +3 Vote Down
    • 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 © 2022 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

  • Facebook
  • Twitter
  • linkedin
  • YouTube