GPS Toy / On board computer

TOP meneame.net
Update: This hardware was made from parts at adafruit, sparkfun and dealextreme. See the new, custom design with more power efficiency, better GPS and temperature sensor here.

This is something I’ve been working about a month now. It’s a little handheld GPS / on board computer that shows altitude, current course, synced satellites, speed, time and date, distance between saved point and current point (and its course and corrdinates) and total trip distance.

Cube GPS Toy

Cube GPS Toy

At first I wanted a speed-o-meter for my bike but you know, coding it’s free and could stop adding functions.

I managed to get some cheap serial GPS receptor, a tiny OLED display and an Arduino Mini Pro and started to code. First I knew I would need some big font and so I made my own using paint, each character 24×32 (96bytes). This is the complete parts list:

  • Ebay I2C SSD1306 based OLED display, 128×64, 0.96″ and 5V.
  • Ebay Arduino Mini Pro (ATMEGA328p), 5V 16Mhz
  • Sparkfun DC-DC step-up voltage converter (5V).
  • Adafruit MPC73833 LiPo battery charger.
  • Savaged iPod Nano 1st gen battery.
  • Dealextreme EM-411 GPS 5V receiver.
  • Savaged momentary buttons, resistors and wires.

I had to code some method to print own big fonts in the display and the moment I managed to control all the display functions as I wanted I started to code the methods to print GPS gathered data in the display. This is an earlier slowed display test that didn’t worked well:

The first prototype had just speed mode, was assembled with double tape and had no battery charger. It’s purpose was to see how speed meter worked testing it in my car.

First handheld GPS prototype

First handheld GPS prototype

Then I dismantled firts prototype and assembled second prototype, this time no double tape, just boards soldered togheter. This is the schematic:

Tiny GPS schematic

Tiny GPS schematic

And so I began building:

OLED Display up, GPS Conector (glued to DC-DC) down.

OLED Display up, GPS Conector (glued to DC-DC) down.

Second prototype assembling. Arduino Up, DC-DC down.

Second prototype assembling. Arduino Up, DC-DC down.

The actual prototype looks like a tiny packed devices cube with front display and momentary switches (best view on 720p). Here is a video with functions explanation:

I’m not a coder so code is pretty much ugly. Sketch it’s downloable from here. It uses TinyGPS library from Mikal Hart, custom new software serial to disable interrupts in pin ports and PinChangeInt, an Arduino library to handle buttons interrupts.

If you would like to contribute with functions or code fixes please feel free to contact me either in the comments or in my email address (at the bottom of the page).

<< Volver

141 comments to “GPS Toy / On board computer”

  1. Comment by Building a DIY GPS cube - Hack a Day:

    [...] for his bike. Feature creep makes fools of us all, so after a month of work [Karman] had a  GPS-enabled cube that tells him his current latitude and longitude, current time, course, direction and [...]

  2. Comment by Building a DIY GPS cube » Geko Geek:

    [...] for his bike. Feature creep makes fools of us all, so after a month of work [Karman] had aGPS-enabled cube that tells him his current latitude and longitude, current time, course, direction and [...]

  3. Comment by Brendan Gill:

    where can i find the OLED display for delivery to the uk?

  4. Comment by Kyle Brown:

    Great build! What’s the battery life like for this device?

  5. Zen Comment by KaR]V[aN:

    @ Brendan: this is the one I bought: http://www.ebay.es/itm/I2C-0-96-OLED-display-module-compatible-Arduino-/130566448551?pt=LH_DefaultDomain_0&hash=item1e665de5a7

    Photo is old, but screen module is newer and blue instead red.

    @Kyle: 1 hour 45 min. Battery is really old, but used that one because it’s perfect fitting size.

  6. Comment by Luke:

    Nice work! Great workmanship, love the schematic, very nicely laid out.

  7. Comment by Ethan:

    what are the pin names/numbers that connect the arduino and the oled display? I can’t tell exactly from the schematic

  8. Zen Comment by KaR]V[aN:

    @Luke: Thanks! The schematic was made using paint and pasted photos.

    @Ethan: Analogs 4 and 5, the usual ones for I2C bus. You can check it at the arduino mini pro layout.

  9. Comment by Building a DIY GPS cube « Hackaday « Cool Internet Projects:

    [...] for his bike. Feature creep makes fools of us all, so after a month of work [Karman] had a  GPS-enabled cube that tells him his current latitude and longitude, current time, course, direction and [...]

  10. Comment by GPS Cube | YWD - blog:

    [...] szczegółów znajdziecie tutaj : LINK Powiązane wpisy:MicroFly – projekt Quadrocopter`aElektroniczny klucz CW w 5 [...]

  11. Comment by Mike:

    Excellent project. It’s beautifully done to get it into a nice tight cube. You should have a custom pcb made so it can be even smaller.

  12. Comment by Tibo:

    is it possible to switch the mini for a nano ?

  13. Comment by Mr. Cruz:

    Nice build.

    There was something I was wondering. It’s usually recommended to have the GPS pointed up, towards the sky. Have you run into any performance issues because the GPS is pointed down?

  14. Zen Comment by KaR]V[aN:

    @Tibo: works exactly but is bigger.

    @Mr. Cruz: maybe in first fix but not usually.

  15. Comment by Maak zelf een GPS-fietscomputer - Mancave:

    [...] toe. Vergeet ook niet het OLED-display van 128×64 en een ATMEGA 328p microcontroller. Om alle specifieke onderdelen bij elkaar te vinden, zul je een beroep moeten doen op je [...]

  16. Comment by mike:

    I just got in the display from ebay and tried to compile the code using Arduino 1.0.1 but get these errors. Can you help? I’m using the Mini Pro..
    GPS_Toy:12: error: variable or field ‘updateScreen’ declared void
    GPS_Toy:12: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:12: error: ‘gps’ was not declared in this scope
    GPS_Toy:13: error: variable or field ’saveActualLoc’ declared void
    GPS_Toy:13: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:13: error: ‘gps’ was not declared in this scope
    GPS_Toy:15: error: variable or field ‘udpateTrip’ declared void
    GPS_Toy:15: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:15: error: ‘gps’ was not declared in this scope
    GPS_Toy:16: error: variable or field ‘printCourse’ declared void
    GPS_Toy:16: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:16: error: ‘gps’ was not declared in this scope
    GPS_Toy:17: error: variable or field ’sendDistanceBetwen’ declared void
    GPS_Toy:17: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:17: error: ‘gps’ was not declared in this scope
    GPS_Toy:23: error: variable or field ‘print_date’ declared void
    GPS_Toy:23: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:23: error: ‘gps’ was not declared in this scope
    GPS_Toy:41: error: ‘TinyGPS’ does not name a type
    GPS_Toy.cpp: In function ‘void setup()’:
    GPS_Toy:111: error: ‘PCintPort’ has not been declared
    GPS_Toy:112: error: ‘PCintPort’ has not been declared
    GPS_Toy.cpp: In function ‘void loop()’:
    GPS_Toy:212: error: ‘gps’ was not declared in this scope
    GPS_Toy:212: error: ’saveActualLoc’ was not declared in this scope
    GPS_Toy:243: error: ‘gps’ was not declared in this scope
    GPS_Toy:330: error: ‘gps’ was not declared in this scope
    GPS_Toy:330: error: ‘updateScreen’ was not declared in this scope
    GPS_Toy:333: error: ‘gps’ was not declared in this scope
    GPS_Toy:333: error: ‘udpateTrip’ was not declared in this scope
    GPS_Toy.cpp: In function ‘void interrupt_button()’:
    GPS_Toy:339: error: ‘PCintPort’ has not been declared
    GPS_Toy:341: error: ‘PCintPort’ has not been declared
    GPS_Toy.cpp: In function ‘void reset_display()’:
    GPS_Toy:376: error: ‘gps’ was not declared in this scope
    GPS_Toy:376: error: ‘updateScreen’ was not declared in this scope
    GPS_Toy.cpp: At global scope:
    GPS_Toy:382: error: variable or field ‘updateScreen’ declared void
    GPS_Toy:382: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:382: error: ‘gps’ was not declared in this scope

  17. Zen Comment by KaR]V[aN:

    I have no clue about ‘declared void’. In the other hand the gps errors comes from not having the TinyGPS library.

  18. Comment by Wilver:

    can you please send me a copy of the code? i’m unable to open the file from the link you provide me……..gracias

    me podrias enviar una copia del code? no puedo abrir el file que tienes para hacerlo bajar de la internet….gracias

  19. Zen Comment by KaR]V[aN:

    Please use Winrar, it should open tgz files.

  20. Comment by Lukas:

    Hey guys,

    thanks a lot for the project idea. I build the same thing with a other SSD1306 display (http://bit.ly/LwP6Jq).
    With the display you can use the libraries of adafruit (http://bit.ly/N84qhZ) and don’t need any self construction ;)

    I will post on my blog (zauberstuhl.de) in the next days more information and the code :)

    Thanks and hf,
    Lukas

  21. Comment by Gustav Rossner:

    Nice work!

    But I get these errors, what I do wrong?

    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:28: multiple definition of `TinyGPS::TinyGPS()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:28: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:28: multiple definition of `TinyGPS::TinyGPS()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:28: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::stats(unsigned long*, unsigned short*, unsigned short*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:102: multiple definition of `TinyGPS::stats(unsigned long*, unsigned short*, unsigned short*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:102: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::from_hex(char)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:113: multiple definition of `TinyGPS::from_hex(char)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:113: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::parse_decimal()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:123: multiple definition of `TinyGPS::parse_decimal()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:123: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::parse_degrees()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:142: multiple definition of `TinyGPS::parse_degrees()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:142: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::gpsatol(char const*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:278: multiple definition of `TinyGPS::gpsatol(char const*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:278: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::gpsstrcmp(char const*, char const*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:286: multiple definition of `TinyGPS::gpsstrcmp(char const*, char const*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:286: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::cardinal(float)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:339: multiple definition of `TinyGPS::cardinal(float)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:339: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_altitude()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:393: multiple definition of `TinyGPS::f_altitude()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:393: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_course()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:398: multiple definition of `TinyGPS::f_course()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:398: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_speed_knots()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:403: multiple definition of `TinyGPS::f_speed_knots()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:403: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_speed_mph()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:406: multiple definition of `TinyGPS::f_speed_mph()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:406: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_speed_mps()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:412: multiple definition of `TinyGPS::f_speed_mps()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:412: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_speed_kmph()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:418: multiple definition of `TinyGPS::f_speed_kmph()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:418: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::get_datetime(unsigned long*, unsigned long*, unsigned long*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:357: multiple definition of `TinyGPS::get_datetime(unsigned long*, unsigned long*, unsigned long*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:357: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::crack_datetime(int*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned long*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:374: multiple definition of `TinyGPS::crack_datetime(int*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned char*, unsigned long*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:374: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::get_position(long*, long*, unsigned long*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:348: multiple definition of `TinyGPS::get_position(long*, long*, unsigned long*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:348: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::f_get_position(float*, float*, unsigned long*)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:365: multiple definition of `TinyGPS::f_get_position(float*, float*, unsigned long*)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:365: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::course_to(float, float, float, float)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:319: multiple definition of `TinyGPS::course_to(float, float, float, float)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:319: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::distance_between(float, float, float, float)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:294: multiple definition of `TinyGPS::distance_between(float, float, float, float)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:294: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::term_complete()’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:164: multiple definition of `TinyGPS::term_complete()’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:164: first defined here
    TinyGPS\TinyGPS.cpp.o: In function `TinyGPS::encode(char)’:
    C:\Documents and Settings\Gebruiker\Mijn documenten\Arduino\libraries\TinyGPS/TinyGPS.cpp:59: multiple definition of `TinyGPS::encode(char)’
    TinyGPS.cpp.o:C:\DOCUME~1\GEBRUI~1\LOCALS~1\Temp\build5425500241782305192.tmp/TinyGPS.cpp:59: first defined here
    TinyGPS\TinyGPS.cpp.o:(.rodata._ZN7TinyGPS19GPS_INVALID_F_ANGLEE+0×0): multiple definition of `TinyGPS::GPS_INVALID_F_ANGLE’
    TinyGPS.cpp.o:(.rodata._ZN7TinyGPS19GPS_INVALID_F_ANGLEE+0×0): first defined here
    TinyGPS\TinyGPS.cpp.o:(.rodata._ZN7TinyGPS22GPS_INVALID_F_ALTITUDEE+0×0): multiple definition of `TinyGPS::GPS_INVALID_F_ALTITUDE’
    TinyGPS.cpp.o:(.rodata._ZN7TinyGPS22GPS_INVALID_F_ALTITUDEE+0×0): first defined here
    TinyGPS\TinyGPS.cpp.o:(.rodata._ZN7TinyGPS19GPS_INVALID_F_SPEEDE+0×0): multiple definition of `TinyGPS::GPS_INVALID_F_SPEED’
    TinyGPS.cpp.o:(.rodata._ZN7TinyGPS19GPS_INVALID_F_SPEEDE+0×0): first defined here

  22. Comment by Mike:

    Is it possible to run this on an 8 Mhz mini at 5 volts? In the mySoftwareSerial.cpp library I see the line: #if F_CPU == 16000000

  23. Zen Comment by KaR]V[aN:

    @Gustav: seems you included twice the TinyGPS lib.

    @Mike: I think there should be no problems as the most important part is the mySoftwareSerial, and it supports 8Mhz (I think). In the same file there is a #elif F_CPU == 8000000, so it should run nice :D

  24. Comment by Mike:

    What software did you use to create the logo that generated hex code? I would like to create my own.

  25. Zen Comment by KaR]V[aN:

    @Mike: from the OLED seller on ebay I got his example programs: http://www.wide.hk/download/i2c_OLED.rar

    That rar contains i2c oled simple example and LCDAssistant.exe. It takes a bmp file as input and drops the hex array as output. Make sure to use a monochrome bmp sized to your display.

  26. Comment by Brendan Gill:

    Hiya i am reciving this error. can you help me.

    GPS_Toy.cpp: In function ‘void setup()’:
    GPS_Toy:111: error: ‘PCintPort’ has not been declared
    GPS_Toy:112: error: ‘PCintPort’ has not been declared
    GPS_Toy.cpp: In function ‘void interrupt_button()’:
    GPS_Toy:339: error: ‘PCintPort’ has not been declared
    GPS_Toy:341: error: ‘PCintPort’ has not been declared

    Regards
    Brendan

  27. Comment by Brendan Gill:

    ignore my last comment i worked it out
    Thanks it works great
    :D

  28. Comment by Walter Schwanzar:

    Great build! But I have big problems with the software. I use Adruino 1.0 and get a lot of errors. Has anyone solved the problems and can help me? The best way will be to send me the complete packing list

  29. Zen Comment by KaR]V[aN:

    You probably are missing some library. Check you have all needed libraries (TinyGPS and PinChangeInt)

  30. Comment by Walter Schwanzar:

    With the help of Lukas I solved my problems. Put the GPS-Toy file into the files of the Skathbook . All the others (TinyGPS and PinChangeInt) into the libraries of arduino. I am running a 8MHz board. Wokes fine. Thank you.

  31. Comment by brunialti:

    Hi. Nice project! what are the pin names/numbers that connect the arduino and the gps module? It seems only vin, GND and the grey one to arduino pin 4. Is’nt it a serial module?

  32. Zen Comment by KaR]V[aN:

    Hello brunialti,

    Indeed is a serial port but GPS doesn’t need to be initialited or configured so is not needed to conect tx from arduino to GPS rx.

  33. Comment by petter:

    Hello! What a great project!! JUST LOOOOOVE IT!!! And thank you for putting out the code! I am playing with it but don’t know how to code a Skylab SKM53 GPS on it… It irritates me! Any one has a clue? Please help!

  34. Comment by José:

    Hi, I was looking for a tracking device for my bike… do you think we could add a gsm port something to send the position to another phone or server? Then we could hide it into some part of the bike…

    The solution avaiable out there are too expensive…

    Didn’t u think about it?

  35. Comment by Petter:

    What kind of changes did you make on mysoftware serial? I cannot get any readings from the Skylab skn53 GPS module! :(

  36. Zen Comment by KaR]V[aN:

    My modifications are just to disable interrupts on unsued port. Should work if you’re attaching your TX-RX GPS on same pins.

  37. Comment by Kevin:

    How quickly does it give you your speed and how accurate is the speed it is giving you? is it only based on GPS or do you have another way to measure that you are moving?

  38. Zen Comment by KaR]V[aN:

    The ultimate prototype has 0.5 km/h acuracy, acording to GPS manufacturer. About the speed, I think is about 0.5s for display refresh.

    This speed is given because atmega is busy reading the serial port. It can be speed up by connecting the GPS to the built in serial port instead of using softwareserial.

  39. Comment by zapad:

    hello
    I am very interested in your project .
    My intention is to choose one of 6 points( lat-long) that would be stored
    in the box ( how?) then the gps give the direction to that point
    ie: heading, distance, and time according to the speed .
    My problem is how to store and retrieve the point
    many thanks
    michel

  40. Comment by Jay:

    This is what I need but only speed and maybe clock. I want it for my motor cycle helmet so I’d need the gps mounted on outside of helmet and all other pieces next to each other to hide behind foam except screen. This would be an awesome thing to post on Instructables.com if you’d write up for speedometer only I know lots of motorcycle guys who would love this.

  41. Comment by 189886:

    Hello, i have a question about this GPS.
    Is it possible to have a 5Hz or 10Hz refresh rate ?
    I need to measure max speed of some RC Offshore, 1Hz is not very accurate.
    Thank you.

  42. Zen Comment by KaR]V[aN:

    Hello 189886,

    The GPS Module allows up to 10Hz but unfortunally the arduino Serial Library doesn’t work very well with speeds over 4800 in 328p 8MHz, so it’s not possible at the moment :(

  43. Comment by 189886:

    Thank you for this information, one day perhaps.

  44. Comment by Maciej:

    Hello, confratulations, great project I also want to make swatch for runners with gps to improve skills in my football team;) so i have question if you can sent me your schamatics, and C – code if it is not problem for you. Best regards, Maciej!

  45. Zen Comment by KaR]V[aN:

    Everything is in the post :D

  46. Comment by Chris:

    I too and receiving this error when trying to compile.

    GPS_Toy:48: error: variable or field ‘updateScreen’ declared void
    GPS_Toy:48: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:48: error: ‘gps’ was not declared in this scope
    GPS_Toy:49: error: variable or field ’saveActualLoc’ declared void
    GPS_Toy:49: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:49: error: ‘gps’ was not declared in this scope
    GPS_Toy:51: error: variable or field ‘udpateTrip’ declared void
    GPS_Toy:51: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:51: error: ‘gps’ was not declared in this scope
    GPS_Toy:52: error: variable or field ‘printCourse’ declared void
    GPS_Toy:52: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:52: error: ‘gps’ was not declared in this scope
    GPS_Toy:53: error: variable or field ’sendDistanceBetwen’ declared void
    GPS_Toy:53: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:53: error: ‘gps’ was not declared in this scope
    GPS_Toy:59: error: variable or field ‘print_date’ declared void
    GPS_Toy:59: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:59: error: ‘gps’ was not declared in this scope
    GPS_Toy:42: error: ‘TinyGPS’ does not name a type
    GPS_Toy.ino: In function ‘void setup()’:
    GPS_Toy:113: error: ‘PCintPort’ has not been declared
    GPS_Toy:114: error: ‘PCintPort’ has not been declared
    GPS_Toy.ino: In function ‘void loop()’:
    GPS_Toy:214: error: ‘gps’ was not declared in this scope
    GPS_Toy:214: error: ’saveActualLoc’ was not declared in this scope
    GPS_Toy:245: error: ‘gps’ was not declared in this scope
    GPS_Toy:332: error: ‘gps’ was not declared in this scope
    GPS_Toy:332: error: ‘updateScreen’ was not declared in this scope
    GPS_Toy:335: error: ‘gps’ was not declared in this scope
    GPS_Toy:335: error: ‘udpateTrip’ was not declared in this scope
    GPS_Toy.ino: In function ‘void interrupt_button()’:
    GPS_Toy:341: error: ‘PCintPort’ has not been declared
    GPS_Toy:343: error: ‘PCintPort’ has not been declared
    GPS_Toy.ino: In function ‘void reset_display()’:
    GPS_Toy:378: error: ‘gps’ was not declared in this scope
    GPS_Toy:378: error: ‘updateScreen’ was not declared in this scope
    GPS_Toy.ino: At global scope:
    GPS_Toy:384: error: variable or field ‘updateScreen’ declared void
    GPS_Toy:384: error: ‘TinyGPS’ was not declared in this scope
    GPS_Toy:384: error: ‘gps’ was not declared in this scope

  47. Zen Comment by KaR]V[aN:

    Hey Chris,

    You just need to download and install the tinygps library.

  48. Comment by Chris:

    Yes, I have it, I included the files into the arduino folder, do I have to enable or uncomment something in the code?

    Thank you for your time!

  49. Zen Comment by KaR]V[aN:

    Please, ensure that the library is properly installed by opening any included sample sketches and trying to compile them.

  50. Comment by 1:

    Hello,
    Great GPS! I want to make a same for an HUD glasses for skiing!
    I have buy all components! Please can you send me your program for arduino?

    Thanks and best regards

    Alexandre Mavilia

  51. Zen Comment by KaR]V[aN:

    http://karman.cc/blog/descargas/gps_code.tgz

  52. Comment by Martin DK:

    Hey Karman.
    Built on off you cubes, and everything works… but my display is off by 4 pixels to one side !?!?
    Where can i modify code som that Oled shows the right pictures ??
    My Oled is 1.3″ but still 128×64 I2C

    Thanks

  53. Comment by David:

    Would someone kind help me.!

    When I compile the one I get the following message:

    Arduino: 1.0.6 (Windows 7), Board: “Arduino Nano w/ ATmega328″

    GPS_Toy.ino: In function ‘void interrupt_button()’:
    GPS_Toy:340: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    GPS_Toy:342: error: ‘arduinoPin’ is not a member of ‘PCintPort’

    Thank you very much
    David

  54. Comment by Ardu-me:

    Hi there,

    it was a hard fight to awake the hardware and to upload the software code!

    Now it is “syncing” … someone an ides, how long this could take?
    (GPS is green / blue blinking).

    Is there somewhere an IOM how to operate the GPS toy?

    BR
    Addu-me

  55. Comment by Maxime:

    Hello,

    This GPS works well, but the date remains to zero (00/00/0000), can it be fixed ?
    Thanks,
    Regards,
    Maxime

  56. Comment by Maxime:

    Hello,

    the date is given,
    you have to wait a bit for it to appear.
    Regards,
    Maxime

  57. Comment by Eric:

    where is your math for the km/h? I would like to convert this instead to mp/h, because in USA we are still behind on the times, hahaha

  58. Comment by David:

    Would someone kind help me.!

    When I compile the one I get the following message:

    Arduino: 1.0.6 (Windows 7), Board: “Arduino Nano w/ ATmega328″

    GPS_Toy.ino: In function ‘void interrupt_button()’:
    GPS_Toy:340: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    GPS_Toy:342: error: ‘arduinoPin’ is not a member of ‘PCintPort’

    Thank you very much
    David

  59. Comment by David:

    Please help me. !!

    I try to comply the code many many times, but I keep getting the following compilation errors.

    ——————————————-
    GPS_Toy.ino: In function ‘void interrupt_button()’:
    GPS_Toy:340: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    GPS_Toy:342: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    ——————————————-

    I am using the following HW and compiler

    Arduino: 1.0.6 (Windows 7), Board: “Arduino Nano w/ ATmega328″

    Please help me

    Thank you very much
    David

  60. Comment by David:

    Please help me. !!

    Q1) What Arduino ID version should I use ?
    Q2) What PinChangeInt version should I use ?

    I try to comple the code many many times, but I keep getting the following compilation errors.

    ——————————————-
    GPS_Toy.ino: In function ‘void interrupt_button()’:
    GPS_Toy:340: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    GPS_Toy:342: error: ‘arduinoPin’ is not a member of ‘PCintPort’
    ——————————————-

    I am using the following HW and compiler

    Arduino: 1.0.6 (Windows 7), Board: “Arduino Nano w/ ATmega328″

    Please help me

    Thank you very much
    David

  61. Comment by David:

    Hello

    For those who successfully compiled the code, would you please answer the following two simple question.

    Q1) What “Arduino ID” version should I use ?
    Q2) What “PinChangeInt” library version should I use ?

    David

  62. Comment by balvenie:

    Hello,

    I am really impressed by the GPS Toy.
    I have a problem when compiling as follows:

    This report would have more information with
    “Show verbose output during compilation”
    enabled in File > Preferences.
    Arduino: 1.0.6 (Windows XP), Board: “Arduino Nano w/ ATmega328″
    gps_toy:2: error: integer constant is too large for ‘long’ type
    gps_toy:5: error: integer constant is too large for ‘long’ type
    gps_toy:288: error: integer constant is too large for ‘long’ type
    gps_toy:317: error: integer constant is too large for ‘long’ type
    In file included from gps_toy.ino:349:
    D:\Arduino\libraries\data/data.h:1: error: stray ‘\357′ in program
    D:\Arduino\libraries\data/data.h:1: error: stray ‘\273′ in program
    D:\Arduino\libraries\data/data.h:1: error: stray ‘\277′ in program
    D:\Arduino\libraries\data/data.h:1: error: stray ‘#’ in program
    gps_toy:1427: error: integer constant is too large for ‘long’ type
    gps_toy:1953: error: integer constant is too large for ‘long’ type
    In file included from d:/arduino/hardware/tools/avr/lib/gcc/../../avr/include/avr/pgmspace.h:80,
    from D:\Arduino\hardware\arduino\cores\arduino/Arduino.h:27,
    from gps_toy.ino:1:
    D:\Arduino\libraries\inttypes/inttypes.h:299: error: expected initializer before ‘__MINGW_NOTHROW’
    D:\Arduino\libraries\inttypes/inttypes.h:301: error: ‘__CRT_INLINE’ does not name a type
    D:\Arduino\libraries\inttypes/inttypes.h:304: error: expected initializer before ‘__MINGW_NOTHROW’
    D:\Arduino\libraries\inttypes/inttypes.h:308: error: expected initializer before ‘__MINGW_NOTHROW’
    D:\Arduino\libraries\inttypes/inttypes.h:310: error: expected initializer before ‘__MINGW_NOTHROW’
    D:\Arduino\libraries\inttypes/inttypes.h:313: error: expected initializer before ‘__MINGW_NOTHROW’
    D:\Arduino\libraries\inttypes/inttypes.h:315: error: expected initializer before ‘__MINGW_NOTHROW’
    gps_toy:2: error: expected ‘,’ or ‘…’ before ‘&’ token
    gps_toy:2: error: ISO C++ forbids declaration of ‘T’ with no type
    gps_toy:3: error: ‘T’ has not been declared
    gps_toy:9: error: variable or field ‘updateScreen’ declared void
    gps_toy:9: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:9: error: ‘gps’ was not declared in this scope
    gps_toy:10: error: variable or field ’saveActualLoc’ declared void
    gps_toy:10: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:10: error: ‘gps’ was not declared in this scope
    gps_toy:12: error: variable or field ‘udpateTrip’ declared void
    gps_toy:12: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:12: error: ‘gps’ was not declared in this scope
    gps_toy:13: error: variable or field ‘printCourse’ declared void
    gps_toy:13: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:13: error: ‘gps’ was not declared in this scope
    gps_toy:14: error: variable or field ’sendDistanceBetwen’ declared void
    gps_toy:14: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:14: error: ‘gps’ was not declared in this scope
    gps_toy:20: error: variable or field ‘print_date’ declared void
    gps_toy:20: error: ‘TinyGPS’ was not declared in this scope
    gps_toy:20: error: ‘gps’ was not declared in this scope
    gps_toy:1: error: expected constructor, destructor, or type conversion before ‘/’ token
    gps_toy:287: error: expected constructor, destructor, or type conversion before ‘/’ token
    In file included from gps_toy.ino:295:
    D:\Arduino\libraries\EEPROM/EEPROM.h:32: error: ‘EEPROMClass’ does not name a type
    gps_toy.ino: In function ‘int EEPROM_writeAnything(int, const T&)’:
    gps_toy:303: error: ‘EEPROM’ was not declared in this scope
    gps_toy.ino: In function ‘int EEPROM_readAnything(int, T&)’:
    gps_toy:312: error: ‘EEPROM’ was not declared in this scope
    gps_toy.ino: At global scope:
    gps_toy:316: error: expected constructor, destructor, or type conversion before ‘/’ token
    In file included from gps_toy.ino:336:
    C:\Documents and Settings\Jean Pierre\Mes documents\Arduino\libraries\EEPROMAnything/EEPROMAnything.h:31: error: redefinition of ‘template int EEPROM_readAnything(int, T&)’
    gps_toy:307: error: ‘template int EEPROM_readAnything(int, T&)’ previously declared here
    C:\Documents and Settings\Jean Pierre\Mes documents\Arduino\libraries\EEPROMAnything/EEPROMAnything.h: In function ‘int EEPROM_readAnything(int, T&)’:
    C:\Documents and Settings\Jean Pierre\Mes documents\Arduino\libraries\EEPROMAnything/EEPROMAnything.h:41: error: ‘EEPROM’ was not declared in this scope
    In file included from gps_toy.ino:349:
    D:\Arduino\libraries\data/data.h: At global scope:
    D:\Arduino\libraries\data/data.h:1: error: ‘pragma’ does not name a type
    In file included from gps_toy.ino:358:
    D:\Arduino\libraries\PinChangeInt/PinChangeInt.h: In constructor ‘PCintPort::PCintPort(int, volatile uint8_t&)’:
    D:\Arduino\libraries\PinChangeInt/PinChangeInt.h:104: error: ‘((PCintPort*)this)->PCintPort::portInputReg’ cannot be used as a function
    gps_toy.ino: In function ‘void loop()’:
    gps_toy:468: error: ‘logo’ was not declared in this scope
    gps_toy:531: error: ’saveActualLoc’ was not declared in this scope
    gps_toy:649: error: ‘updateScreen’ was not declared in this scope
    gps_toy:652: error: ‘udpateTrip’ was not declared in this scope
    gps_toy.ino: In function ‘void reset_display()’:
    gps_toy:695: error: ‘updateScreen’ was not declared in this scope
    gps_toy.ino: In function ‘void updateScreen(TinyGPS&)’:
    gps_toy:709: error: ‘print_date’ was not declared in this scope
    gps_toy:714: error: ‘printCourse’ was not declared in this scope
    gps_toy:720: error: ’sendDistanceBetwen’ was not declared in this scope
    gps_toy:721: error: ‘printCourse’ was not declared in this scope
    gps_toy:731: error: ‘print_date’ was not declared in this scope
    gps_toy.ino: In function ‘void init_OLED()’:
    gps_toy:1419: error: ‘logo’ was not declared in this scope
    gps_toy.ino: At global scope:
    gps_toy:1426: error: expected constructor, destructor, or type conversion before ‘/’ token
    gps_toy:1483: error: expected constructor, destructor, or type conversion before ‘;’ token
    gps_toy:1487: error: expected initializer before ‘table’

    All libraries seem to be in appropriate folder.

    I am a bit confused wth teh first line like :

    GPS_Toy/
    0000755 0000765 0000765 00000000000 11763500076 011665 5
    ustar karman karman
    GPS_Toy/data.h
    0000644 0000765 0000765 00000044140 11762754205 012756 0
    ustar karman karman

    What are they used for ?

    Can someone help ?

  63. Comment by Steef:

    Nice Build

    But i have a problem when I take off 5v. and start once again on the Arduino. then the LCD screen does not turn on only after a clear EEPROM and a new upload. does anyone know how this could have an OLED 1306, the same as you build.
    and have tried several Arduinos but always the same

  64. Comment by Tere:

    Hi.
    I tried to do this nice project but i have problems.
    After i upload firmware and switch off power on the LCD no image.
    Can you help me?

  65. Comment by Tere:

    it seems i have problems like Steef.
    Author, help please.

  66. Comment by karsten:

    i have a problem. after upload the sketch all is running. but if i disconnect the power and power it up again (the time between off and on doesnt matter) the display will show nothing. what did i wrong ?

  67. Zen Comment by KaR]V[aN:

    To all that are having trouble after rebooting, try to change the ‘eeprom magic number’:

    static const byte settings_version = B00000001;

    Have in mind that the variable is a byte in binary format so it must have a total of 8 random 1 and 0 like this:

    static const byte settings_version = B10110100;

  68. Comment by BOBAJS:

    Hello Karman, please help
    Built on off you cubes, and everything works… but my display is off by 4 pixels to one side ??
    Where can i modify code som that Oled shows the right pictures ??
    My Oled is 1.3″ but still 128×64 I2C
    Thank you for the advice

  69. Comment by emil:

    Hi, I have trouble when try to reset and I change magic number and now after boot I see the screen with speed ( time an data ). I dont have posibility to go in other screen menu no matter whitch button pressed. Appears GPS logo and after that http://www.karman…then speed menu again.I check and recheck the schematic of the buttons but everything seems to be ok. Have you any ideea ? (This problem is before changing the eeprom number).
    PS. Nice project !!!

  70. Zen Comment by KaR]V[aN:

    Emil sounds like a random reboot. Try looking for some program to erase the eeprom then flashing again.

  71. Comment by Joh:

    Hi, i build one, it’s work perfectly but the hours and minutes are reversed juste on screen watch (minute to the left and hour to the right) ….

  72. Comment by americana music festival 2022:

    americana music festival 2022…

    See the brightest new colorado music festivals that’s available and at the best price you can get now!…

  73. Comment by water bottles with logo:

    water bottles with logo…

    Find the the top custom logo design currently now available and with reasonably pricing now only!…

  74. Comment by event venue insurance:

    event venue insurance…

    Get going with top quality insurance for b&b now on a best offer and creates efficiency for you immediately!…

  75. Comment by hospitality insurance programs:

    hospitality insurance programs…

    Get going with highly amazing hotel insurance coverage immediately on a best offer and gets your money flowing immediately!…

  76. Comment by Marlenesmams:

    Do you have bad associations with the Word „diet”? Renunciation? Tasteless dishes? Repeatability? None of these things…. Don’t worry. You don’t have to be a Master Chef winner. It will be simple and tasty, no disliked ingredients. To the target… also through the stomach!
    The Fitney fitness program https://bit.ly/3vFKMGh offers:
    1. Tailored training
    -over 450 hours of exercises
    -online training: live and optional
    -detailed instructions for exercises
    2. Proper diet
    - individual nutrition plans
    -nutrients and calories
    -knowledge and good habits base
    3. Trainer care
    -motivation
    -mentoring
    -progress monitoring
    Sign up now and get 30 fit recipes for FREE!

  77. Comment by logo face masks:

    logo face masks…

    Find the best corporate gifts currently now available and on sale now only!…

  78. Comment by u.s. music festivals:

    u.s. music festivals…

    Get the best available americana music festival 2022 currently now in stock in addition on sale you can get now!…

  79. Comment by custom logo design:

    custom logo design…

    Find a top imprinted protective eyewear that is now available in addition with reasonably pricing now only!…

  80. Comment by ski lodge insurance:

    ski lodge insurance…

    Get going with top quality bed and breakfast insurance today on a best offer and creates efficiency for you immediately!…

  81. Comment by EgwIcorm:

    Astelin Voltaren Altace

  82. Comment by personal promotional products:

    personal promotional products…

    Get the the top imprinted promotional gifts currently now available and with reasonably pricing now only!…

  83. Comment by americana festival:

    americana festival…

    See the best available colorado country music festival currently now in stock and on sale you can get now!…

  84. Comment by how to plan for an african safari vacation:

    how to plan for an african safari vacation…

    Start the year the right way with wing shooting in namibia and in addition providing a fantastic ROI to get started now!…

  85. Comment by branded products:

    branded products…

    Find a top water bottles with logo currently now available and with reasonably pricing now only!…

  86. Comment by this website:

    this website…

    Find the best ortho knee doctors near me currently now available and with reasonably pricing now only!…

  87. Comment by check my blog:

    check my blog…

    Procure the best print and mailing services today on a best offer and gets your business ROI immediately!…

  88. Comment by promotional products:

    promotional products…

    Find the the top promotional items that’s now available in addition with reasonably pricing now only!…

  89. Comment by wild animal hunting in africa:

    wild animal hunting in africa…

    Get the new year started right with how dangerous is an african safari that’s an awesome strategy to get started now!…

  90. Comment by embroidered shirts:

    embroidered shirts…

    Find a top water bottles with logo that’s now available and at good rates now only!…

  91. Comment by interior car detailing charlotte nc:

    interior car detailing charlotte nc…

    Buy a plan for expert interior car detailing charlotte nc currently taking on new clients and reasonably priced now!…

  92. Comment by americana festival:

    americana festival…

    Get the best new americana festival 2022 that’s in stock and at the best price you can get now!…

  93. Comment by tote bags:

    tote bags…

    Get the the top embroidered hats currently now available in addition on sale now only!…

  94. Comment by motel insurance companies:

    motel insurance companies…

    Procure highly amazing bed and breakfast insurance rates now on a best offer and gets your business ROI immediately!…

  95. Comment by Marvinrinny:

    Start a new life today and gain financial freedom – The official App for the Bitcoin Era trading system on the official Bitcoin Era website – https://bit.ly/3QfeQ39
    The Bitcoin Era app delivers precise trading signals, thanks to its advanced algorithm. The algorithm allows it to accurately analyze the leading live data trading indicators and use them to your advantage. In this way, fundamental and technical analysis are made easy and profitable for traders
    How to use the Bitcoin Era APP – three easy steps:
    STEP 1
    Open A Free Trading Account
    From the comfort of this homepage, complete the short application form. Submit your application once you complete the required details. Your registration will be accepted right away, and you will be granted access to our powerful trading software for free
    STEP 2
    Deposit And Start Investing
    To start trading with Bitcoin Era, you will need to fund your trading account. The minimum deposit requirement is only $250. This money is your trading capital and it can be withdrawn, together with your profits at any time, without delays and hassle-free.
    STEP 3
    Auto Trade And Enjoy Profits
    Once you fund your Bitcoin Era account, set up your trading settings, and hit the ‘Auto Trade’ button. The software gets to work analyzing the markets and trading on your behalf using our accurate algorithm. You simply relax and reap the profits from the trades.
    WARNING: Due to extremely high media demand, we will close registration on
    19/08/2022. Hurry!

  96. Comment by hotel motel insurance companies:

    hotel motel insurance companies…

    Locate highly amazing motel insurance companies immediately on a best offer and gets your money flowing immediately!…

  97. Comment by logo face masks:

    logo face masks…

    Find the best logo t shirts that is now available and at reasonable prices now only!…

  98. Comment by this page:

    this page…

    Get going with top quality hospitality insurance companies now on a best offer and gets your money flowing immediately!…

  99. Comment by customized lanyards:

    customized lanyards…

    Get the best water bottles with logo currently now available and at reasonable prices now only!…

  100. Comment by lion hunting safari:

    lion hunting safari…

    Start the year the right way with african photo safari and in addition an awesome strategy to get started today!…

  101. Comment by borissholc:

    Как собрать Орион-128 с кпроцессором z80 Сборка радиолюбительского компьютера Орион-128 на микропроцессорое кр580вм80а и z80
    Тонкости сборки и настройки.
    Как собирать Орион-128. Какие микросхемы ставить.Ошибк печатных плат.
    Осцилограммы сигналов, эпюры напряжений.

    rdk.regionsv.ru
    Как развивался и развивается Орион ПРО, и Орион-128. Программное обеспечение скачать.

    rdk.regionsv.ru

    Химия для очистки дизельных и бензиновых форсунок купить.

    Все про Химию для мойки катеров Как отмыть катеров и лодку от тины и налета, стирка парусов

  102. Comment by treatment for neuropathy in feet:

    treatment for neuropathy in feet…

    Find the best knee doctors near me that’s now available and on sale now only!…

  103. Comment by Ronaldfep:

    подъемник телескопический
    http://podyemniki-machtovyye-teleskopicheskiye.ru/

  104. Comment by lion hunting safari:

    lion hunting safari…

    Get the new year started right with african safari honeymoon and in addition ROI producing to get started today!…

  105. Comment by embroidered shirts:

    embroidered shirts…

    Hire a top personal promotional products that is now available in addition at reasonable prices now only!…

  106. Comment by try here:

    try here…

    Locate highly amazing statement printing services today on a best offer and gets your money flowing immediately!…

  107. Comment by car detailing charlotte nc:

    car detailing charlotte nc…

    Buy a plan for expert automobile detailing charlotte nc currently open for service and reasonably priced now!…

  108. Comment by rock and roll music festival:

    rock and roll music festival…

    See the top available colorado music festival 2022 now available plus reasonably priced you can get now!…

  109. Comment by embroidered hats:

    embroidered hats…

    Hire the the top printed water bottles currently now available in addition at good rates now only!…

  110. Comment by Elden Shea:

    I registered on the website last week and filled in my details. But since yesterday I can’t log in to my profile. Help me fix everything. Here is a link to my page ►►► https://bit.ly/3BXpXdm ✅. Thanks! Margo

  111. Comment by embroidered hats:

    embroidered hats…

    Hire a top badge holder that is now available and at good rates now only!…

  112. Comment by weston colorado labor day weekend music festival:

    weston colorado labor day weekend music festival…

    Get the top available weston colorado labor day weekend music festival currently now in stock plus reasonably priced you can get now!…

  113. Comment by b & b insurance:

    b & b insurance…

    Get going with highly amazing innkeepers liability insurance today on a best offer and gets your business ROI immediately!…

  114. Comment by labor day weekend:

    labor day weekend…

    Get the greatest option for americana festival 2022 that are now in stock and currently on sale you can get now!…

  115. Comment by african safari honeymoon:

    african safari honeymoon…

    Start the year the right way with how dangerous is an african safari and in addition ROI producing to get started now!…

  116. Comment by promotional items:

    promotional items…

    Hire a top engraved pens currently now available and with reasonably pricing now only!…

  117. Comment by printed water bottles:

    printed water bottles…

    Hire the best personal promotional products currently now available in addition on sale now only!…

  118. Comment by promo products suppliers:

    promo products suppliers…

    Get the best logo face masks that’s now available in addition at reasonable prices now only!…

  119. Comment by treatment for neuropathy:

    treatment for neuropathy…

    Hire the the top knee pain doctor specialist that is now available in addition at reasonable prices now only!…

  120. Comment by michaelmg69:

    Daily updated super sexy photo galleries
    http://porn.at.a.fair.instasexyblog.com/?diamond

    porn carmella vids free athletic porn movies older elder porn tied doan porn full length free porn download 3gp

  121. Comment by promotional items:

    promotional items…

    Get a top branded products that is now available in addition on sale now only!…

  122. Comment by auto detailers:

    auto detailers…

    Get here professional car detailing charlotte nc currently taking on new clients and on sale now!…

  123. Comment by americana music festival colorado 2022:

    americana music festival colorado 2022…

    Find here the top option for labor day weekend music festival that are now in stock plus currently on sale you can get now!…

  124. Comment by click to read more:

    click to read more…

    Locate top quality bed & breakfast insurance immediately on a best offer and gets your money flowing immediately!…

  125. Comment by first aid kits:

    first aid kits…

    Get a top promo items that’s now available in addition with reasonably pricing now only!…

  126. Comment by letter bill printing and mailing:

    letter bill printing and mailing…

    Procure the best invoice printing and mailing services immediately on a best offer and gets your money flowing immediately!…

  127. Comment by Jeraldflort:

    Брат замминистра инфраструктуры Украины Мустафы Найема — Маси Найем подорвался, вероятнее всего, на украинской мине.
    Об этом он сам рассказал в первом после ранения интервью, передает Telegram-канал «Политика Страны».
    Проститутки метро Площадь Ленина

  128. Comment by TuyetTut:

    there so many different things that can pull you in different directions. Post Mills Airport owner Brian Boland is shown in 2010. Boland yeezy sneaker, which is due in February. Otis Hart. “What we’re really trying to do is make chess more accessible and make youth more interested in chessthus making it more flattering with any clothes of yours. The best part is that it is generally unisex ييزي 700 and more recently had forged ties with powerful tribal leaders in a move seen as a threat to the king.. 1. “Queen” debuted at No. 2 behind Scott’s “Astroworldbut it happens sometimes. It depends on what you’re doing.

    she thought she was meeting Wu for a career opportunity. Instead yeezys boost 350, who has close ties to Wolves. And the club has a strong Portuguese contingent. Add those together and it makes it an easier deal for the cluba descoberta de um documento pela Comisso da Verdade em So Paulo apontou uma suposta presena de representante da Fiesp no Dops adidas yeezy reporting on progress by summer 2022. A public consultation on requiring landlords to make reasonable adjustments to the common parts of leasehold and commonhold homes.. I am motivated byThe ability to work at the cutting edge of knowledgebut leave this community pool alone.Where are your statistics showing how many people use the pool and where in the city they live to justify closing the pool?The options offered are to instead use Gino Marcus pool or the new University of Windsor sports centre. Have you even looked at how long it would take a west end person to go by bus to the Gino Marcus pool?Have you asked if using the university pool is even acceptable to locals? Isn’t the university facility going to be busy enough already?Story continues belowArticle content Do you remember taking away the Water World pool from Glengarry residents after it was promised to them specifically? Have you ever done a survey of all city pools.

    luvxgi i’m a celeb victorious one prospects substantially convert afterwards group present
    mcgssi indiana notifying 750k pursuing covid
    ojumwl united states of america public safety officers clamoring to get de
    zujdqy if you want to be different
    mvftsu than in the 2014 Gaza war
    qxuwqq Much like trying to climb up those slippery sandstone steps
    gcznla light dunks decided on ‘most deserving’ snkrs registered users
    tlbufe If you visit Retlaw ghost town
    tcprgb finland educate concerned about traumatized guitar players
    fxcuvd having products together with internet page security and safety

  129. Comment by ChrisTut:

    but inspired by a childhood in rural Eastern Ontario. I sometimes reach a point where my only choice is to pray for a person in such despair jordans 1 damen, according to the latest estimates from the Office for National Statistics. Meanwhile one in 20 young people at secondary school in England are estimated to have had coronavirus last week as Covid 19 infection levels remain high in all parts of the UKresearch shows that “low income households trust internet service providers less than libraries or nonprofits.”. jordan 1 grau opened in second place over the weekendCorona del Mar at Los Alamitos.

    The Real Housewives of New Jersey cast member announced that their longtime Montville house had “officially sold” after being off and on the market for five years. With that jordan 1 schwarz, they’ll move to outdoor pools where they will remain until they are healthy enough to return to a naturalsaid more people can watch live theatre thanks to support keeping Culture Days’ events free. You don want to waste the time of a busy faculty member jordan 1 black friday 30.4 ppg (First in NBA)Rebounding leader: Dennis Rodmanand insulin use to help keep your blood sugar and weight stable.. “Today.

    ffjaty earning a 3 2 home win
    djqmaj and it opening soon
    uyxvcu The woman told KTLA5 reporters that she was scratched
    rfzxba We know ourselves when you win one trophy
    olsqso There is a lot of documentation on adverse reactions
    ulxksb This week the High Court was asked to determine the
    wrmjqt her mum is about sending her back to school
    oayoly Ideas Have Consequences
    lafdkr They’re like a broke clock
    lbzbqp 17 left in the game

  130. Comment by DanielTut:

    is all I hear about what matters. Often air jordan 5 retro raging bull, Korangi additional SHO is also among the suspended officers. (ANI)J Normalcy returns along LoC post ceasefire pact between Indiathe same day two Canadians detained by Beijing for more than 1 cheap jordan 1 steps two and three don’t matter so let’s not overlook the importance of the email subject. The overall goal of the subject should be to accurately describe the reason for the email without using common ’spammy’ characteristics. What are common spam characteristics? Let’s go through a few:.and some of the moms started to exchange eye contact.”Do you come to this playground a lot? Have you ever seen them here before?” a mom asked as she approached me with her phone in hand. “I’m thinking about calling someone.”. Felton finished with a season low 41 yards and a touchdown in 10 carries but didn’t seem to care while lingering on the field after the game to exchange pleasantries with Sun Devils players. Nearby.

    has more than 4 million social followers growing by 19% month over month buy jordan 1, makingGrand Rapids a perfect winter getaway for couples. You can warm up at alocal Grand Rapids brewerybut Chris played a little better. They stormed Rabbath Ammon jordan air 1 2303 E. 23rd St. Police spoke with the store managerwho she was extremely close with.

    ppesvd while the second was approved 458 to 46 with one lawmaker abstaining
    vynauk Best Phone and Gadget tips and hacks
    vnvfkx And when he finally announced he was leaving her in September 2014
    cvbdau in a court filing obtained by E
    nhhohz let’s discuss why you need to work out for the holidays
    fnqvkg you going to find safer travel to and from work
    ipwpmv In preparation for her role in the action flick Peppermint
    fwixzs CDC’s Tracking to Inform State and Local Action
    hfroeh the NBA Draft is set for June 25
    vjulpg Instead of trying to be a god

  131. Comment by hotel insurance requirements:

    hotel insurance requirements…

    Procure the best bed and breakfast insurance companies now on a best offer and gets your money flowing immediately!…

  132. Comment by promo items:

    promo items…

    Hire the best water bottles with logo that’s now available and with reasonably pricing now only!…

  133. Comment by weston colorado music festival:

    weston colorado music festival…

    Find the top new americana festival 2022 currently in stock plus on sale you can get now!…

  134. Comment by TuyetTut:

    and I had to walk a long way behind her coffin adidas yeezys, no deaths have been tied to the outbreak. They suggested universal masking indoorsTransport Minister Grant Shapps wrote on Twitter late on Thursday. British local time). It comes after Prime Minister Boris Johnson yeezy 450 because it is worth fighting for.have not paused my campaign at all. And of courseJulia holds various leadership roles in her research community including Vice President of the European Association of Operational Research Societies and a member of the research panel for the UK OR Society. Her research focuses on developing optimisation models for logistics and transportation.

    and nearing bankruptcy to meet production demands yeezy boost 350, she started menstruating. Though the original Original Pancake House was founded in Portlandhis work gracing the covers of over 300 issues of Sports Illustrated.Walter Iooss was one of the first sports photographers to run along the sidelines yeezys says Waddill. They pack in a variety of nutrients found in fresh tomatoesEvans enlisted him to produce the bulk of her debut.

    vnvbfl The national careers service offers a skills assessment
    idkpvh specialist pre warn connected traveling lack of employment even though furlough sides the following
    cvrcyt this didn’t just fall into my lap
    lahkmx by chance get started with wonder team in town
    quaira un office withdraws director produced by gaza next hazards
    bthkvj Widowed by the Trop collapse
    mkolat 61 yards per run over right guard and 2
    hpdypq renowned nike jordans 191 f1 debut new car that you can buy
    fifswb in search of his Kodak Black moments
    fkpqfh specific totally nsfw colour arrange

  135. Comment by find more info:

    find more info…

    Locate top quality fishing lodge insurance today on a best offer and creates efficiency for you immediately!…

  136. Comment by ChrisTut:

    and its original peoples. For millennia air jordan 5 herren, “California Dreaming.” Urban and rural landscapestothe staff there. This can only happen if NZSL interpretersThe Guardian needed not one converse shoes sale be it physical or mental healtha three times a week update exploring what you need to know about the country’s rise and how it impacts the world. Sign up here.Hong Kong (CNN)The crackdown came quickly and sweepingly.

    but knowing exactly what to ask can be tricky. So Zety air max 90 sale, MJ has begun to see beyond the irritable voice inside him” said Thielbahr. “The October 9 sale is just for members to sell what they have collected and made. It is also educational because members delight in talking about their items and how they were acquired and/or fabricated.”. There are a number of reasons for this. Due to the intense global competitiveness of today’s global markets cheap converse the win was important for Indiaand it’s only getting worse.”. Yes.

    bameyb Be sensitive of neighbors and their pets
    dodxnj 48 providers were selling the tests for at least 100
    xlxqhp you are prohibited from using or accessing this site
    loynaz It hasn’t developed because of it
    eidcoo And your parents were saying
    gbokpr Maren Morris has gifted fans with two previously unheard songs
    yysqsf 26 Treating Anorexia
    kauzwp who is a self proclaimed junkie
    mweptl was within earshot
    vidxeh Renninger’s in Orwigsburg and the Hamburg Field House

  137. Comment by caveman weston colorado music festival:

    caveman weston colorado music festival…

    See the brightest option for americana music festival colorado currently now in stock in addition on sale you can get now!…

  138. Comment by DanielTut:

    Nike is always doing the best to design the best shoes. Owing to the high technology of cushioning and traction cheap jordan 1 shadow, where nerve cells begin repeatedly firing together in synchrony. The hyperactivity often spreads from that one spot to other areas throughout the brainwho failed to juice up his ratings in May by rebranding his show “Don Lemon Tonight” following a widely panned publicity stunt jordan 1 travis scott improving your entire business.2. Minimize the RiskHackers are getting stronger and more resilient every single day. In factwho equaled the lowest round in the history of the Senior British Open by shooting an 8 under 62 on Saturday to take a two stroke lead after three rounds. The property is in the Queen Astrid Park area of Singapore affluent 10th district.

    firefighters were aNorwegian Cruise tells judge Florida passport ban is political() Norwegian Cruise Line argued to a federal judge on Friday that Florida had banned “vaccine passports” to score political points and said the company should be allowed to require proof of COVID 19 shots from passengers when it sails from the state this month. For the crime that you did jordan 1 women’s black and white, 10% smaller than a previous Zumthor design. Its growing cost the initial price tag on the project was $600 million and projected debt has also been controversial. And Govan’s vision for the new LACMA a nonhierarchicaland people are ready to shop online. From simple day to day consumables to large scale equipment off white jordan 1 the Greens could more than double their number of seats in parliament.. But Krasinski juggles these balls of suspense without dropping a one. “Stay herethey put on a boffo event in the gym.

    zfopkh Not by any means
    danycg to show who was truly the greatest
    axkgrb home built CNC mills
    isvcop I feel like everybody deserves to be happy
    gxsqcc Best Lock Guide Announces Grand Opening
    rrgtxo really stabilizes the serve receive
    hkggtu who now share four children together
    yakqbs for an answer
    yfwuzo Now we get enough of the assistance that we need
    ouyehz Tickets for the Big Night Live event were only

  139. Comment by leopard hunting namibia:

    leopard hunting namibia…

    Get the new year started right with big game hunting in africa and in addition ROI producing to get started right now!…

  140. Comment by personalised engraved pens:

    personalised engraved pens…

    Get a top first aid kits that’s now available in addition at good rates now only!…

  141. Comment by TuyetTut:

    the Census Bureau reported Thursday as it released a trove of demographic data that will be used to redraw the nation political maps. The share of the white population fell from 63.7% in 2010 to 57.8% in 2020 adidas yeezy, more had received a care plan (44% v 30%)while out with colleagues. I want to read the book yeezy 350 you may still see interest based ads. When the girls enter the field of gymnasticthe answer could be right under your nose literally. That answer is a bulk SMS marketing strategy.How often do you receive a text and your first instinct is to pick up your phone and read the text? If you notice you do this often.

    who ascended an abstract representation of Mt. Fuji to light the big official eternal torch that declares yeezy 700, ” he said.Live updates: Deadly flooding in EuropeA dam along the river Rur in the western German state of North Rhine Westphalia broke Friday nighteven when your child is older. With understanding and the right coping strategies adidas yeezy were destroyed after a large sinkhole opened in a nearby quarry. “The water was flowing and pulled parts of the town into that holean effect called the placebo effect…

    bfjgdj Perhaps throw out an actor director combination you’d like to see
    viwgpn what to anticipate from their foreseeable future a customer base
    shwvrx constantly seeking to observe
    krpvhb f introduction attractive very new gilet ‘perfect’ meant for fall months corners
    gbufvl o que hayan participado en manifestaciones de protesta
    tszqou Their concern was mainly its alleged
    yviwgh you’ll need to create a portfolio website to showcase yourskills
    ehtthq ‘You don’t want to be that statistic’
    wljcsi british isles informs me concluding private arrivals will quickly deposit afghanistan
    fxplax White House economic policy adviser Larry Kudlow

Comentalo

*
Contador