Warning: ksort() expects parameter 1 to be array, object given in /home/bradspro/public_html/wp-content/plugins/bbpress/includes/core/template-functions.php on line 316
The DigiPixel | {Brads Electronic Projects}

The DigiPixel

By brad, December 10, 2013

 

Note: Downloads at the bottom of this page.

What is the DigiPixel?

The DigiPixel is an open source Arduino and Digispark compatible shield with a 64 pixel RGB LED display and six buttons. The DigiPixel comes with it’s own Arduino library, graphic converter and demo sketches (as seen in the video) to help you get started with making your own DigiPixel creations.

‘So what sort of things could I make with the DigiPixel?’

Well, it’s really up to your imagination! You could make a game of Space Invaders, Tetris or perhaps Snake. You could write messages in the air and capture it on your camera with the AirWrite function. You could keep track of Facebook likes, use it as an electronic dice, a scrolling desk clock or even a digital name badge. It’s amazing what you can do with just 64 pixels!

The DigiPixel Tutorial Video # 1

How to Solder your DigiPixel Headers

How do I use the DigiPixel?

The DigiPixel plugs straight into an Arduino or Digispark and you program your sketches in the Arduino IDE, just like any other shield.

DigiPixel connected to a Digispark.

DigiPixelDigiSpark

DigiPixel connected to an Arduino Uno.

DigiPixelArduino

DigiPixel Arduino Library

In order to make things nice and easy for you, I have created a DigiPixel Arduino Library. This means that all the ‘heavy lifting’ has been done for you and you can get straight into writing some code to make the DigiPixel actually do something. In fact, two lines of code is all that is needed to make the cool random pixel screen saver as seen in the video!

The Library gives you access to a whole heap of functions that allow you to draw pixels, boxes and lines in eight different colours. You can fill, clear, invert and rotate the screen plus you can even check for collisions to help with your game mechanics.

ArduinoLibrary

 

 

Code Examples.

Here are just a few basic lines of code to show you how easy it is to get started with the DigiPixel.

DisplayTopRightRedDisplayvertline Displayhorizline DisplayGameScreen 

 

airWrite

The airWrite function allows you to draw images and text in the air to capture with your camera for some really cool photo effects. (Your camera will need to be set to a slow shutter speed for best results.)

Alternatively, you could mount the DigiPixel to your bike wheel to draw graphics and text as you ride your bike!

DigiPixelPOV3DigiPixelPOV2DigiPixelPOV1

 

Multiplayer

Try your hand at making a multi player game by connecting two DigPixels together via the i2c bus. (Please note that this will only work with an Arduino and not the Digispark due to a lack of pins on the Digispark).

Multiplayer

 

 

Graphic Converter

To make things even easier for you, I have developed a graphics conversion program that allows you to import your own game level designs, text and images and then convert them into data arrays that you paste straight into your Arduino code, all with the click of a button.

The software can even differentiate between when a pixel is a barrier and when it isn’t. For example if you have a game similar to Super Mario Bros, you might have some water that you want your character to be able to fall through, in this case it would not be a barrier in the exported data array.

First, you draw your game level, graphic or text etc… in Paint.

PaintXP

Then open your graphic in the converter software and click ‘convert’

Converter

Your graphic will now be stored in red, green, blue and barrier data arrays that you simply paste into your code: 

ArduiniIDE

Here is a video tutorial of the converter software:

 

Dimensions

Here are the dimensions of the DigiPixel (click to enlarge).

DigiPixelDimensions

 

Downloads

You can download files from the GitHub Repository which is updated by myself and other users of the DigiPixel. You can also download a handy ZIP file here to get you started, it contains example sketches, pcb design files, BOM, schematic etc.

https://github.com/bradsprojects/DigiPixel

DigiPixelFiles23February2014

Update History:

  • 23 February 2014 – Changed the airWrite function within the DigiPixel library so the delay is in milliseconds instead of microseconds. Also updated the DigiPixel Library Manual to reflect the change.
  • 21 January 2014 – Included DigiPixel dimensions in PNG format.
  • 19 January 2014 – Schematic errors corrected where U2, U3 and U4 had pin 9 connected to ground whereas it should have been pin 8 connected to ground.

 

 

 

 

 

48 Comments

  1. Anon says:

    Like it! And for that price! This might be the first kickstarter that I am going to help.

  2. admin says:

    Great to hear that you like it, I certainly enjoyed making it 🙂

  3. Andy says:

    Amazing! This is my first kickstarter backing and I hope this gets successful! 😀 Will there be more specific instructions on how to use the airWrite correctly, like what exactly we should set the shutter speed on our cameras to and how fast we should be moving the digipixel, or will it just be trial and error for the user?

  4. Jim says:

    How do I order a DigiPixel?

  5. admin says:

    Hi Jim, The DigiPixel will be available for sale in the next couple of months. I just need to get the Kickstarter orders all sorted first 🙂

  6. Jim says:

    Hello again Brad
    Can I get on a waiting list or will you email me when they are available?

    Also, in your DigiPixel Schematic.dxf drawing on U2, U3, and U4 the ground is shown on pin 9. Shouldn’t it be on pin 8?

    Thank you for this project
    Jim

  7. admin says:

    Thanks for the pickup Jim, you are correct – I messed up the schematic!

    If you’d like to keep informed about the DigiPixel, you can follow me on twitter or I will also be emailing everyone that subscribes to this blog. (just type your email in the bottom right of this screen).

  8. brandon says:

    Wow thats awesome i must have one of these, im currently a EET (electronic engineering tech.) student and this would go perfect with a side project for kicks, also i really like your youtube videos alot thanks alot and keep it up

  9. LeRoy says:

    Missed the kickstarter, I knew about it thou, so probably was short on funds, please let me know when your ready to sell these to the public at large, and if the costs are going to be the same as the kickstarter campaign? Thanks

  10. admin says:

    @LeRoy, Some more DigiPixels are being made as I type this and will be available within a couple of weeks. I’ll post to this page (and on twitter) when they are available. The costs will be a couple of dollars higher than the Kickstarter campaign ($20USD delivered anywhere in the world as opposed to $20AUD).

  11. Jan says:

    Just got my DigiPixel, got my DigiStump out and voila, it works. AWESOME!!!
    FlappyPixel is just as addicting with 64 LEDs.

    Can you create a DigiPixel Forum? I’d love to see what others do with it and start developing something with it.

  12. admin says:

    @Jan, glad to hear that it is working nicely for you 🙂 I would like to get a nicely done forum up and running for the DigiPixel, i’ll see what I can do over the weekend, but time is a factor at the moment!

  13. Jamie says:

    Hey got my DigiPixel a few days ago been having a mess around with it very cool! One question I have is how did you convert the text for the scrolling text example?

  14. admin says:

    @Jamie, check out this video https://www.youtube.com/watch?v=M9X1Jtpt6ow and also the really long video at the top of this page for a run through of how to use the graphic converter to import text to the DigiPixel 🙂

  15. blindman2k says:

    Hey Brad and all,

    I have uploaded a video of my first DigiPixel project. The video includes a description of the project.
    http://www.youtube.com/watch?v=E3_CJI0AXJ0

    I think YouTube didn’t appreciate the music so I am going to record another one with royalty free audio.

    A.

  16. admin says:

    @blindman2k – fantastic project you’ve made there! In fact, I have had some of my electronics students ask if something just like that could be done, since we were learning about filters.

    Whenever you get around to your updated video, please let me know and I’ll post it on this page and also put it in a kickstarter update. Are you also keen on sharing the Arduino Sketch?

  17. blindman2k says:

    Email me offline Brad.

  18. Gentatsu says:

    Hey Brad, I made a space invaders game for the DigiPixel, I can’t find your email on the site (I didn’t look that hard), so I was wondering if you could give me an email since I’d like you to check it out. My email’s navs92@hotmail.com

    Thanks!

    • Brad Slattery says:

      Sorry for the late reply Gentatsu. I did get your twitter message though and replied that way 🙂 Thanks for the great game by the way – I’ll be posting it as an update so all can see very soon.

  19. Claudiu O says:

    Brad, thank you so much for such an awesome project! Not only the board which is totally awesome but the library you wrote and the community you gathered around it is fantastic! Thousand thanks!

    • Brad Slattery says:

      Thanks for the comment Caudiu – I’m certainly glad that you like the project. It has been fantastic to see people make their own games for the DigiPixel and I’m keen to see what others come up with.

  20. Kris says:

    First of all great shield, docs, video, …!

    Anyone got I2C working with the DigiPixel hooked to an Arduino Leonardo? When I insert “Wire.begin()” in setup() in one of my own sketches or one of the DigiPixel examples (e.g. RandomPixels) I get some weird LED patterns (no actual cables on the I2C pins yet). For the RandomPixels example the LEDs light up in one or more vertical (multi-colored) lines. I’ve seen green rectangles for another sketch.

    Any ideas on this? I was trying to create a two player pong game using I2C between two DigiPixels. But I’m stuck on this issue.

    Is this something Leonardo specific? Should I be using Unos?

    • Brad Slattery says:

      Hi Kris, sorry to hear that you are having a little bit of trouble. I haven’t delved too much into i2c and multiplayer (except for that one game that I made) But there might be something in the wire library that causes the microcontroller to hang if it doesn’t get the correct response when you type wire.begin. However I am not sure exactly if that is the case.

      One other thing to note for when you do end up connecting two together, the Leonardo i2c pins are different to the Uno i2c pins so you can’t use the default ones like I had planned on the board. I didn’t realise that the leonardo pinout was different until well after the campaign had ended.

      • Kris says:

        Yes I noticed the I2C pins are different on both boards, but it even goes wrong without any cables connected to those pins. Just initializing the library triggers the faulty behaviour. When I find some time I’ll try and dig into the wire library to check out what it does upon initialization. Thanks for the reply.

  21. blindman2k says:

    I had a bit of fun this week with a colleague at work making a NeoPixel visualisation of the Firebase Tetris Demo (http://www.youtube.com/watch?v=bCOeSbKp2PI). Then for the icing on the cake I made a gamepad and current piece viewer using the Digipixel (http://www.youtube.com/watch?v=rd8OYYpYYaY). All the networking is done by the Electric Imp of course.

    • Brad Slattery says:

      That is fantastic! It’s great to see the DigiPixel being incorporated into a bigger project, very nicely done indeed.

      I have a few things to post on the next Kickstarter update and I’ll be sure to include this in the update 🙂

      • blindman2k says:

        Is there any hope you might want to build an Imp powered DigiPixel? I would be happy to assist. It would mean we could pull the Arduino out instead of having to run both.

        • Brad Slattery says:

          Unfortunately I am quite time poor at the moment and so I just wouldn’t have time to dedicate to such a project. Have you used Diptrace PCB design before? The PCB design file is included in the download, perhaps you could have a look at that to see how much effort it would be to modify it. Does the imp have it’s own microcontroller?

  22. Weineng Too says:

    Hi, I bought a DigiPixel from Digistump. I was just wondering, is the digispark PRO compatible with DigiPixel?

    • Brad Slattery says:

      It will work with the digispark pro, however I am not sure if it will directly plug into it. As long as the Digispark pro has the same pinout as the digispark then it will be fine 🙂

  23. cyrille says:

    Hello,
    I have a question, I need to create a project to control an oven temperature and I was planning to use a Digispark controler board. My project will require 2 IO pins. 1 ADC and one on/off control pin…

    However, I would also like to add a display/control module (keys/display).

    Therfore my question. How many IO pins are used by your great board? does it use all 6 IOs from the Digispark board or will I have my 2 free pins?

    Cyrille

    • Brad Slattery says:

      Very sorry for the late reply Cyrille. Unfortunately the DigiPixel does use 5 pins out of the 6 which however you may still be able to use i2c to communicate with other devices. You would just want to make sure that while i2c communications were in progress, that the output enable line is kept high. This will ensure that the LED display does not turn on with random data.

  24. admin 2 says:

    how can u get digipixel

  25. connor says:

    Hi, my digipixel keeps getting avrdude: stk500_getsync(): not in sync: resp=0x00, do you know why it is doing this, also it is flashing weird colors when I touch it in certain places.

  26. Anthony Clarke says:

    How do i buy a DigiPixel….?

  27. TeachKidzTech says:

    I got my Digipixel from your original kickstarter. I really like it and
    have been thinking of using it to teach children about electronics and
    coding. Would it be easy to modify it so that some of the smaller
    components could be switched to larger equivilents to make it a DIY solder
    kit?

    • Brad Slattery says:

      Hi, I apologise for the late reply. Really glad to hear that you’re putting the Digipixel to good use! It wouldn’t be too hard to modify, it would just take a little bit of time reworking the PCB. Have you had much experience with DIPTRACE? this is the PCB design software that I used to design the Digipixel PCB.

      • TeachKidzTech says:

        I’ve not used Diptrace before. Is there a good guide or tutorial you know of?

        • Brad Slattery says:

          And sorry again for the late reply! I’m not sure if there are any good tutorials around the place. They do have a forum available and I’m sure there would be some good tutorials on youtube. I can tell you however that it is the easiest PCB editor that I have ever used. Of course I would be able to do it for you however I have to apologise in saying that I just don’t have the time to dedicate to that at the moment.

  28. Tom Van Hoorick says:

    Hi would like to do something similar got an common anode rgb and a bunch of shift registers but unfortunately couldn’t find any references to which pin goes where in the library this is my best hope in getting something more done with my display than the randomly coloured lines and dots :-p could you help or give some tips ? much appreciated

  29. Tr4X says:

    Hi! I’m planning on getting a DigiPixel as my first Arduino project, and I would like to add a Midi port to it (as seen on http://www.instructables.com/id/Send-and-Receive-MIDI-with-Arduino/ ), do you think it’s possible? Is the TX pin still accessible when the DigiPixel is mounted on the Arduino?

    • Brad Slattery says:

      Hi, all pins are still accessible so you shouldn’t have any problems connecting up your midi device 🙂

  30. Pedro Silva says:

    I’ve got recently a digispark board but I can’t use it with my Digipixel. I program it but nothing happens to the LED’s. What am I doing wrong?

  31. Bing says:

    At this time it looks like Drupal is the top blogging platform available right
    now. (from what I’ve read) Is that what you are using on your blog?

  32. Charlie says:

    Other than lack of multi-player, are there any advantages of using an Uno rather than a Digispark? Will I still be able to use all of the buttons and run all of your code examples?

  33. Marco says:

    Hi,
    how can I buy it?

    marco

What do you think?

Leave a Reply

Your email address will not be published. Required fields are marked *