element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • 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 & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
    About the element14 Community
  • 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
      •  Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      •  Vietnam
      • 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
Personal Blogs
  • Community Hub
  • More
Personal Blogs
Michael Wylie's Blog Trying Out the CodeBug
  • Blog
  • Documents
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: michaelwylie
  • Date Created: 23 Nov 2015 6:12 AM Date Created
  • Views 1113 views
  • Likes 3 likes
  • Comments 9 comments
  • codebug
Related
Recommended

Trying Out the CodeBug

michaelwylie
michaelwylie
23 Nov 2015

I got a CodeBug about a month ago with the intent of cloning the game Simon. I quickly found out the device is severely limited, but very easy to use. This, of course, is the old "Ease of Use" vs "Flexibility" issue for any new device\language. In this case, it was my fault for not checking the capability before jumping in. Even though I wasn't able to create Simon, I was able to have lots of fun with the device. It is incredibly easy to use, but at times, incredibly annoying for advanced users. This is one instance where the device is targeted very well to its intended audience. That can't be stressed enough, they are doing an excellent job at meeting their target audience. My two year old son loves the device, he's always asking for the CodeBug. I can load in a simple name scrolling program and we can identify letters together.

 

To add to the code base for the device I created the basic interface to scroll across the screen with button presses. This is the classic Space Invaders scrolling spaceship type of code. With a random number generator I could add random ships attacking like a scrolling shooter. A screenshot of the code is below, but I also shared it under the name 'Moving Around'.

 

image

 

The code above makes sense if you invert the CodeBug so the buttons point downward. Pressing the B button moves the lit LED to the left and pressing the A button moves the lit LED to the right. The code wraps the lit LED around the edges. I had to practice with the pause time for the best response, which occurred at 200 ms. I also kept track of the old position so that the LED didn't flicker.

 

I'm not a fan of polling buttons; I prefer interrupts, but this is a limit of the environment provided. It would be nice if the inventors could include a random number generator that can generate a random number between two limits. For example, generate a random number between 0 and 4 which could be used to light a random LED on the screen.

  • Sign in to reply

Top Comments

  • shabaz
    shabaz over 10 years ago in reply to johnbeetem +3
    Hi John! The best way to equate it; sometimes we see beginner programmers in Arduino with massive main functions because they've not read the chapter on functions or arrays? In the case of the codebug…
  • michaelwylie
    michaelwylie over 10 years ago in reply to johnbeetem +3
    Shabaz has explained it quite well. Simon should generate a random sequence. The best I could do is generate a pseudo random sequence in the CodeBug. Also, storing the sequence values would be difficult…
  • michaelwylie
    michaelwylie over 10 years ago in reply to johnbeetem +1
    I've searched around some forums and that doesn't seem to be an option yet.
Parents
  • DAB
    DAB over 10 years ago

    It is usually the case where easy to use also means limited capability.

     

    The codebug appears to be aimed at capturing interest and it does allow you to look at some simple projects.

     

    I view the codebug as a step towards building interest in embedded computers.

    I can see it used for wearables and other projects.

     

    Have you considered connecting several codebugs together to do more complex applications?

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • DAB
    DAB over 10 years ago

    It is usually the case where easy to use also means limited capability.

     

    The codebug appears to be aimed at capturing interest and it does allow you to look at some simple projects.

     

    I view the codebug as a step towards building interest in embedded computers.

    I can see it used for wearables and other projects.

     

    Have you considered connecting several codebugs together to do more complex applications?

     

    DAB

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • balearicdynamics
    balearicdynamics over 10 years ago in reply to DAB

    DAB,

     

    I am disappointed because this project - can we say YAKS yet another kickstarter story, miming YACC yet another C complier? - IMO it is the case where not so easy to use (software and development for kids) means its limited capabilities exalted ...

     

    Enrico

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • michaelwylie
    michaelwylie over 10 years ago in reply to DAB

    It can be connected over an I2C bus, but I didn't want to have a tethered rasbPi for added functionality. Maybe it is necessary for this application?

    • Cancel
    • Vote Up 0 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 © 2026 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