Twitter | Search | |
Jorge Aparicio
, stability without stagnation, taken to robotics Probably the first WIP self-balancing robot coded in 100% Rust 1/
Reply Retweet Like More
Jorge Aparicio Mar 25
Replying to @japaricious
Another clip from a slightly better angle. This time you can see what happens when I turn off the robot (note: green LED) 2/
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @japaricious
Logs from the first footage Logging is "live" but the actual plotting was done offline using Python. 3/
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @japaricious
Specs Cortex-M3 micro (no FPU) @ 8MHz These tasks run @ 500Hz Gyroscope Accelerometer Kalman filter PID controller Logging (Bluetooth) 4/
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @japaricious
Program size: ~4KB Flash ~100B RAM no heap Could be a tad smaller. I'm computing the speed and accel of each motor but not using them. 5/
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @japaricious
Bill of Materials (just FYI. I'm not selling anything) Robot $30 10DoF IMU $5 Bluetooth $3 Dev board $2 Motor driver $2 Breadboard $1 6/
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @japaricious
*spoilers* I actually wanted the controller to keep the robot still w/ zero inclination but instead I got stable motion. No complains. 7/7
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @BRIAN_____
Not sure what you are exactly asking but this micro has 64KB of Flash so program size can't exceed that P.S. It has 20KB of RAM
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @BRIAN_____
The latter. Formatting machinery heavily bloats program size but this program doesn't use that.
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @BRIAN_____
Symbols sorted by size. Hmm, there are a few intrinsics in there.
Reply Retweet Like
Reynaldo Mar 25
Replying to @japaricious
que te detiene construir tu propio segway? ☺?
Reply Retweet Like
James Munns Mar 25
you can check, but the boards I bought had 128k (forums say this is v. common, but not guaranteed)
Reply Retweet Like
Benjamin Gatti Mar 25
Replying to @japaricious @rustlang
What controller? Project page?
Reply Retweet Like
William D. Jones Mar 25
Replying to @japaricious
I'm impressed Rust can fit into that small a space. Was under the impression it couldn't!
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @_skraelings
Hmm, money...? And beta testers! Because I don't want to break *my* arm while testing it. Want to volunteer? 😀
Reply Retweet Like
Jorge Aparicio Mar 25
OpenOCD said that mine had 128KB but flashing programs bigger than 64KB didn't work. *shrugs*
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @BenjaminoG @rustlang
STM32F103 Most of the stuff is still sitting on my laptop. Some bits are on my GitHub. It's all a mess ATM though 😅
Reply Retweet Like
James Munns Mar 25
Ah, that makes sense. It could be a yield/binning thing. I only spot checked mine (small bin, loaded at 0x1F000)
Reply Retweet Like
Jorge Aparicio Mar 25
Replying to @cr1901
Don't worry! Rust will fit just fine in 8-bit AVRs too. I'm sure. There's some work left to do before AVR support lands on nightly.
Reply Retweet Like
William D. Jones Mar 25
Replying to @japaricious
My dream port would be Rust on 6502, but this would likely have to be a MIR-backend port; LLVM a poor fit.
Reply Retweet Like