Author Topic: Arduino Computer - FrostAPC328  (Read 7605 times)

0 Members and 1 Guest are viewing this topic.

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Arduino Computer - FrostAPC328
« on: February 23, 2014, 05:33:19 pm »
EDIT: HUGE project update HERE!

The project is now called FrostAPC328. APC stands for Arduino Programmable Clock, and the 328 comes from the Arduino's processor, the ATmega328.

For a while now I have been wanting to make a small computer that would be easily programmable. I was going to originally going to do this with a PIC18F, but I am now doing this with an Arduino Uno. It has a 2 line 16 character LCD, a pot, and will eventually have input, select, cancel, and menu buttons. The programming language will be an interpreted language called Pickaxe that will have less than 20 instructions.

Progress so far:
-LCD works with Arduino
-Pot can be used to select character to input

As you can see, I have a very long way to go until this thing will actually be programmable. I'll keep this thread updated with any new progress.
« Last Edit: January 08, 2015, 02:28:34 pm by Spyro543 »

Offline flyingfisch

  • I'm 1337 now!
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1620
  • Rating: +94/-17
  • Testing, testing, 1...2...3...4...5...6...7...8..9
    • View Profile
    • Top Page Website Design
Re: Arduino Computer
« Reply #1 on: February 23, 2014, 07:52:38 pm »
Nice :)

Where did you get the LCD?



Quote from: my dad
"welcome to the world of computers, where everything seems to be based on random number generators"



The Game V. 2.0

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #2 on: February 24, 2014, 06:53:06 am »
Nice :)

Where did you get the LCD?
I was given the LCD, but I saw similar ones on Mouser.

Offline pimathbrainiac

  • Occasionally I make projects
  • Members
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1731
  • Rating: +136/-23
  • dagaem
    • View Profile
Re: Arduino Computer
« Reply #3 on: February 24, 2014, 08:04:32 pm »
This looks cool. Will you eventually release a how-to? :D
I am Bach.

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #4 on: February 24, 2014, 08:05:51 pm »
This looks cool. Will you eventually release a how-to? :D
I would like to but I'm not the best teacher, and will probably require a lot of work to make (although I could just put the code and schematics online when I'm finished).

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Arduino Computer
« Reply #5 on: February 24, 2014, 08:06:47 pm »
Yeah code and schematics are enough. :)

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #6 on: January 06, 2015, 07:22:58 pm »
So I did a lot of work today.
Here's the completely new device.



The device has a 16 character, 2 line LCD display and is powered by my Arduino Uno.
It has 3 buttons: Scroll (B1), Accept (B2), and Exit (B3).

Let's look at the main menu, which has 5 options:




Here's the clock. Pretty simple:


Here's how to set the clock. (The interface could use a bit of work.) B1 scrolls through the numbers and B2 saves.



Now on to the stopwatch. It's really simple. B1 starts/stops and B2 resets. Look at that screen ghosting!



The ability to run apps hasn't been programmed yet. It'll be a while.


The settings menu has two options: set time and date. Date hasn't been programmed yet.


The system info screen shows only the OS version right now. When apps are programmed, it will probably show free memory.


So yeah. This is actually a thing again.

Some more info bits:

-I'm not going to program the ability to write programs on the device. At least, I don't think. I'll still be making the Pickaxe programming language though.

-The clock is done entirely through software. Whenever the clock is opened, it checks how many milliseconds the Arduino has been turned on for. It then compares that to the value it saved from the last time it ran, and advances the clock by that amount. The clock is also running in the background (technically, it isn't running in the background but whatever) whenever the main menu and most other screens are open.

Have any questions/feedback/etc.? Please reply!

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: Arduino Computer
« Reply #7 on: January 07, 2015, 03:50:08 pm »
I wrote a brainfuck interpreter and code editor for the arduino. It works with 3 buttons and it is pretty basic, but perhaps you can make use of it. You'd have to modify it to work with a character display.
If you like my work: why not give me an internet?








Offline Juju

  • Incredibly sexy mare
  • Coder Of Tomorrow
  • LV13 Extreme Addict (Next: 9001)
  • *************
  • Posts: 5730
  • Rating: +500/-19
  • Weird programmer
    • View Profile
    • juju2143's shed
Re: Arduino Computer
« Reply #8 on: January 07, 2015, 04:18:09 pm »
Looks pretty cool ^_^

Remember the day the walrus started to fly...

I finally cleared my sig after 4 years you're happy now?
THEGAME
This signature is ridiculously large you've been warned.

The cute mare that used to be in my avatar is Yuki Kagayaki, you can follow her on Facebook and Tumblr.

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #9 on: January 07, 2015, 05:09:35 pm »
--- OS version 0.0.3.3 ---
Not a big UI change, but a big under-the-hood change. I'm using a new, interrupt-based timer library. Now  I don't need to keep calling the clock routine in the program. Just set and forget.

I wrote a brainfuck interpreter and code editor for the arduino. It works with 3 buttons and it is pretty basic, but perhaps you can make use of it. You'd have to modify it to work with a character display.
Sure, why not? I'll put it in if I have enough program space left after the Pickaxe interpreter.

Offline Keoni29

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2466
  • Rating: +291/-16
    • View Profile
    • My electronics projects at 8times8
Re: Arduino Computer
« Reply #10 on: January 07, 2015, 05:37:10 pm »
Hmm upon closer inspection it's probably best if I re-wrote this thing some day :P
If you like my work: why not give me an internet?








Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #11 on: January 07, 2015, 09:50:42 pm »

Hmm upon closer inspection it's probably best if I re-wrote this thing some day :P
Don't worry about it. :P Pickaxe is going to be similar to Brainfuck anyways.

(or maybe i should make it only programmable in spyrodecimal :P)

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer
« Reply #12 on: January 08, 2015, 02:13:59 pm »
--- OS Version 0.0.3.5 ---

-Stopwatch works again!
-Added 2 more options in the Settings menu: Time Format (12-hour and 24-hour) and Date Format (M/D/Y and D/M/Y).
-Changed clock display routine so that it always uses 24-hour time and displays the AM/PM on the fly if 12-hour is selected in Settings.

Offline Spyro543

  • LV9 Veteran (Next: 1337)
  • *********
  • Posts: 1189
  • Rating: +74/-3
    • View Profile
Re: Arduino Computer - FrostAPC328
« Reply #13 on: January 08, 2015, 05:44:16 pm »
--- OS Version 0.0.4.0 ---

-Added partial date support (no leap years, no DST)
-Added date setting capability

--- OS Version 0.0.4.1 ---

-Fixed AM/PM displaying at wrong times
-Added leap year support



Here's an updated presentation of the device:

Here's the device itself.


Here's the main menu.




Here's the clock. (It's not set yet!)


Here's the stopwatch. It's really simple. Scroll starts/stops, and Accept resets.



App support isn't implemented yet, so I can't show any pictures of that!

Here's the settings menu. All of the options actually work here!



Here's how to set the time. Scroll changes the number, and Accept continues to next field.



Here's how to set the date. The controls are the same as setting the time.




The System Info screen only shows version number. When app support is implemented, it will show free memory.

Offline Geekboy1011

  • The Oneironaut
  • Donator
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2031
  • Rating: +119/-2
  • Dream that Awakening dream
    • View Profile
Re: Arduino Computer - FrostAPC328
« Reply #14 on: March 05, 2015, 08:15:34 pm »
Just something to consider. The Millis() function on the arduino platform resets after around 50 days or so. Make sure you have a case for that so the clock doesn't randomly barf :P