Remote Controlled Etch-a-Sketch

by mintgenie in Circuits > Microcontrollers

444 Views, 0 Favorites, 0 Comments

Remote Controlled Etch-a-Sketch

IMG_20211205_185830_631.jpg
An easy way to update your wall-mounted LED matrix is with a remote control and what other platform other than microbit to do it

Supplies

  • 2x BBC Micro:bit
  • Neopixel Matrix of choice (prefer 8x8 or larger)
  • Power adapter 5V (0.4W per LED)
  • Microbit compatible remote with analog joystick
  • Optional: EEPROM (AT24C256) module and RTC module

Simple Connections

Screenshot_20211206-055347_Gallery.jpg
1. Connect P0 of main microbit to LED matrix panel Data-in
2. Connect Ground pin of main microbit to panel
3. Connect 5V power supply to panel (check recommended rating)
4. Connect USB power to main microbit
5. Plug in the microbit to the remote controller
6. Connect the battery pack to remote

Program

20211204_023415.jpg
20211204_021838.jpg
20211204_022934.jpg
Screenshot_20211206-055347_Gallery.jpg
Program the main microbit of the sketcher and also the remote controller by cloning and importing the projects from github
Sketcher: https://github.com/MINTGenie/sketcher
Remote: https://github.com/MINTGenie/sketch-remote
The Remote control sends the joystick position and button status over radio
The main microbit, processes the joystick info as a cursor when no button is pressed and as a pen when one of the assigned button is pressed. When this button is released, the line is written and switched back to cursor mode.
One of the button on remote sends a notification to cycle through available colors and set it.
The button A on main microbit clears the display but not the color map .
Button B on main microbit clears all saved patterns and color map.
Button (A+B) retrieves the pattern if it has not been cleared.
Video Demo: https://youtube.com/shorts/YBZWmvoo5Rc?feature=share

Only small pattern can be made due to limited memory.

Next Steps - Memory and Time

It needs to store more patterns and that is done with a EEPROM module like AT24C256
Time can be updated using an RTC module

Update With EEPROM

Remote Controlled Etch-a-Sketch (save/review)

Updated the git project with support for saving to EEPROM and also reviewing.

Also tested with 16x16 panel.

Implemented below header convension to save in EEPROM as below:

Address Data Type Description

0x0 int8 1 = EEPROM Configured Flag

0x1 int8 0 = 8x8, 1=16x16, 2=8x32

0x2 int8 Pattern Count in that session

// Start of Pattern list with length and start address for pattern data

0x3 int16 Pattern length for pattern_id=1

0x5 int16 Pattern data start address

0x7 12 bits 3 characters for Name (to be implemented - but space provided)

The above pattern header repeats for every new pattern... the data is written ahead of previous data

Can store 10 patterns based on size of pattern

0x75 int16 Life time pattern count (to store all the patterns ever created without erasing memory)

0x77 int16 Last written address - saved across sessions to be able to continue after reboot

References and About Us

MINT-Genie-2.png
Inspired also by Instructable: https://www.instructables.com/RGB-LED-Etch-A-Sketch/

Website: https://www.mintgenie.de
Facebook and Instagram: @MINTGenie.de
Twitter: @MINTGenie1