-
Project is now ready for contest!
12/29/2016 at 23:01 • 0 commentsI have just finalized all code and documentation, on github, for this project.
The project is now ready to be submitted to the Hackaday 1KB contest.
-
Almost finished!
12/16/2016 at 16:00 • 0 commentsThe boards are finished (see project newly updated picture), the program currently runs fine and is less than 1KB.
I still need to:
- Add some matrix cleanup at the end of the game
- Possibly add possibility to change game speed through one of the pots
- Add an electronics schema of the global circuit
- Finish the README on github
In addition, I consider one improvement to the code, by making it parametered on matrix size (not fixed to 8x8) and check if program size would still fit under 1KB for e.g. 16x16.
-
Board design is ready!
12/10/2016 at 17:14 • 0 commentsDuring the past few days, I have been working a lot on designing the boards for the project.
Since I am a fan of stripboards and I have a bunch of these in my drawers, I decided to go with these, rather than PCB (maybe in the future).
I decided to use 90x50mm stripboards which I designed with LochMaster, a tool I have been using for several years now, and perfect for the job).
The project will use 2 stripboards, stacked on one another, just like Arduino and its shields. That is the only option I found in order to fit all components in rather small form factor.
Now the design is over, I'll start preparing these boards (cut strips, cut wires, solder all components and check everything in the end) so hopefully I can soon post pictures of the finished boards.
Besides, I am improving the source code in order to make use of the latest available byte (max 1024 allowed for the contest): now it is detecting the end of game (still life or no life at all) and it will soon show a blinking smilie when there's no live cell left.
I am also working on pausing the game through reuse of the START button (the one which is sued once you have finished setting up the board configuration with the first generation of cells).
Finally, if there is still space left, I'll use one pot to change generation evolution speed). More on that next week.
-
2nd prototype
12/07/2016 at 21:30 • 2 commentsI have just finished updating my current prototype to use 2 potentiometers (row/column) to locate a board cell, in replacement of 2 previous/next buttons.
That makes the first stage (1st generation setup) much easier to perform for the end user.
In addition, this change even reduced current program size on ATtiny84: only 912 bytes used currently!
Now I have to go on with my stripboards design to make thsi proejct look better.
Regarding the program itself, since I still have a huge amount of memory left (112 bytes), I need to find some way to use this amount; here are my ideas (not exclusive):
- allow suspend/resume of 2nd phase of the game (reuse START/STOP button)
- modify generation refresh speed (reuse one of the 2 potentiometers in 2nd phase
- detect end of game (empty board or still generation) and display some hardcoded smilie
-
Project status update
12/06/2016 at 22:54 • 0 commentsProject is still in progress.
I had a hard time trying to figure out how to put all this stuff onto a 90x50mm stripboard, and finally decided to stack 2 stripboards of that size:
- LED matrix, buttons and pots above
- all IC, caps, resistors underneath
with pin headers to connect both stripboard (a bit like Arduino shields).
Board design is not complete yet but I'm almost there, hope to finish it tomorrow and implement it this week-end. Design is available on github (as LochMaster files).
Besides, I have ported the current prototype (with only buttons) from Arduino UNO to ATtiny84 and it works fine.
However, I noticed some issues with the light level of LEDs in the matrix; reducing resistors values helped a little bit but not that much; I need to find a way to provide enough current for a complete row of LEDs but I'd like to avoid adding transistors to the circuit...
Finally, on FastArduino library, I could finally implement Analog Digital Conversion, hence I'll soon be able to replace buttons to move cursor backward/forward with 2 pots (one for X, one for Y), which will make it faster and easier for the user to select LEDs to set for the first generation of the game.
Hopefully this week-end, the prototype will be running fine with 2 pots.
-
1st prototype
12/04/2016 at 11:14 • 0 commentsProject has started on November 26th.
So far I have a running prototype (Arduino UNO for the moment) where initial board setup is done though simple buttons.
Next steps are to replace some buttons with pots, to make it easier to select a LED in the matrix, hence make initial board setup step faster. The challenge here will be to check the code size will still fit in 1KB.
In addition, I am just starting to design a simple stripboard for the whole circuit (except battery holder).