What's new

Worklog [2025 Summer Contest] SnapPU - microcontroller made of Snap Circuits

Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
Currently don't have an end goal for this planned. I'm going to make everything I can out of Snap Circuits, but if there is a part I really need that isn't officially made I will use a custom part.
 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0

I got something to work. Currently only can be programmed in BASIC, but I mean that's good enough for the first post. Going to try to get C/C++ working. Display is technically functional but will be a pain to setup since it's connected with some weird logic.
 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
No video for today, but I managed to get a super rudimentary interface to the shift registers working. They are going to be used for an extra 16 outputs.

Code:
symbol shift1 = b1
symbol shift2 = b2
symbol shift3 = b3
symbol shift4 = b4
symbol shift5 = b5
symbol shift6 = b6
symbol shift7 = b7
symbol shift8 = b8
symbol shift9 = b9
symbol shift10 = b10
symbol shift11 = b11
symbol shift12 = b12
symbol shift13 = b13
symbol shift14 = b14
symbol shift15 = b15
symbol shift16 = b16

symbol shiftValue = b17
symbol index = b0

main:
    gosub write_shift
    goto main_loop

main_loop:
    gosub poll_input
    pause 50
    goto main_loop

write_shift:
    disconnect
    for index = 0 to 15
        lookup index, (shift1, shift2, shift3, shift4, shift5, shift6, shift7, shift8, shift9, shift10, shift11, shift12, shift13, shift14, shift15, shift16), shiftValue
        if shiftValue != 1 then
            high 1
        else
            low 1
        end if
        high 0
        low 0
    next index
    reconnect
    return


poll_input:
    if pin4 = 1 then
        shift16 = 1
        gosub write_shift
    end if
    return
 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0

I rewrote the shift register interface so now it actually works good. Currently program is flipping bits 1 and 9
 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
I made a new libarary, SegIO, that can generate characters at runtime! This is huge because previously, all character allocations and shift register values had to be defined at compile-time.

 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
Quick demo of the ADC and the screen. I can't get it to register over 5.5 volts but meh.

 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
Progress update:

Unfortunately, I can't get a functional VGA output. I'm not 100% sure why, but my best guess is that the clock speed is just too low (32Mhz) along with the fact I have to run interpreted code. I'm going to try to get an I2C oled working (SSD1306 driver), but I'm also not sure how well it will work due to the limited I2C support.
 
Joined
Oct 11, 2024
Messages
24
Likes
12
Location
a pond
Portables
0
Unfortunately, I have some bad news for this project. Due to the incredibly limited processing power of the 08M2 clone inside the U29 processor I am using, it is going to be impossible to generate a video signal. I have tried composite, VGA, and an I2C OLED, however none of them have worked. I am going to be posting a poll on the bitbuilt discord server to decide the next steps for this project.
 
Top